当前位置:   article > 正文

ChatGLM——SDK实现模型API调用_智谱清言api调用

智谱清言api调用

1、简介

  • ChatGLM,又名智谱清言,是一个人工智能助手,基于智谱 AI 公司 于 2023 年联合训练的语言模型 GLM-4 开发而成,可以针对用户的问题和要求提供适当的答复和支持。
  • 本文介绍如何使用ChatGLM的SDK实现模型API的调用。

2、步骤

  • 获取API keys,地址:智谱AI开放平台 (bigmodel.cn)
  • 使用Anaconda创建虚拟环境。
    • conda create -n zhipuai python==3.9
  • 进入虚拟环境。
    • conda activate zhipuai
  • 安装 Python SDK(软件开发工具包)
    • pip install zhipuai
  • 使用Pycharm新建项目,并配置python解释器。
  • 平台提供了同步、异步、SSE 三种调用方式。
2.1、同步调用
  • 调用后即可一次性获得最终结果,Python 代码示例如下:
      1. """
      2. 同步调用
      3. 调用后即可一次性获得最终结果
      4. """
      5. from zhipuai import ZhipuAI
      6. client = ZhipuAI(api_key="") # 填写您自己的APIKey
      7. response = client.chat.completions.create(
      8. model="glm-4", # 填写需要调用的模型名称
      9. messages=[
      10. {"role": "user", "content": "你好,你是谁?"},
      11. ],
      12. )
      13. print(response.choices[0].message.content)
2.2、异步调用
  • 调用后会立即返回一个任务 ID,然后用任务ID查询调用结果(根据模型和参数的不同,通常需要等待10-30秒才能得到最终结果),Python代码示例如下:
      1. """
      2. 异步调用
      3. 调用后会立即返回一个任务 ID,然后用任务ID查询调用结果(根据模型和参数的不同,通常需要等待10-30秒才能得到最终结果)
      4. """
      5. from zhipuai import ZhipuAI
      6. import time
      7. client = ZhipuAI(api_key="") # 请填写您自己的APIKey
      8. response = client.chat.asyncCompletions.create(
      9. model="glm-4", # 填写需要调用的模型名称
      10. messages=[
      11. {
      12. "role": "user",
      13. "content": "请你作为童话故事大王,写一篇短篇童话故事,故事的主题是要永远保持一颗善良的心,要能够激发儿童的学习兴趣和想象力,同时也能够帮助儿童更好地理解和接受故事中所蕴含的道理和价值观。"
      14. }
      15. ],
      16. )
      17. # 获取任务ID
      18. id = response.id
      19. print(f"Task ID: {id}")
      20. # 等待一段时间后查询结果
      21. time.sleep(30) # 等待30秒
      22. # 查询结果
      23. result = client.chat.asyncCompletions.retrieve_completion_result(id)
      24. print(result)
2.3、SSE调用
  • 调用后可以流式的实时获取到结果直到结束,Python 代码示例如下:
      1. """
      2. SSE 调用
      3. 调用后可以流式的实时获取到结果直到结束
      4. """
      5. from zhipuai import ZhipuAI
      6. client = ZhipuAI(api_key="") # 请填写您自己的APIKey
      7. response = client.chat.completions.create(
      8. model="glm-4", # 填写需要调用的模型名称
      9. messages=[
      10. {"role": "user", "content": "你好!你叫什么名字"},
      11. ],
      12. stream=True,
      13. )
      14. for chunk in response:
      15. print(chunk.choices[0].delta)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/886183
推荐阅读
相关标签
  

闽ICP备14008679号