智谱AI:ChatGLM API调用说明

打印 上一主题 下一主题

主题 669|帖子 669|积分 2007

一、前言:

智谱AI与清华KEG实行室发布的ChatGLM大语言模子,支持8k上下文,在内容创作、文本明白、信息抽取等任务上表现突出。经过海量中英标识符的预训练与人类偏好对齐训练,相比一代模子在 MMLU、C-Eval、GSM8K 分别取得了16%、36%、280%的提升,并登顶中文任务榜单C-Eval。
二、获取API Key:

1、打开网址:智谱AI开放平台 注册账号登录
2、登录——右上角(检察API Key)
3、注册后赠送100万token,实名认证后多赠送400万(有用期一个月)



三、安装及调用:

起首请通过如下方式进行安装:
  
  1. pip install zhipuai
复制代码
我们升级了最新的模子 GLM-4、GLM-3-Turbo,支持了System Prompt、Function Call、Retrieval、Web_Search等新功能。使用以上新功能需升级最新版本的 Python SDK。如您已安装老版本SDK,请您更新到最新版SDK。
  
  1. pip install --upgrade zhipuai
复制代码
调用方式
示例1:
  
  1. from zhipuai import ZhipuAI
  2. client = ZhipuAI(api_key="") # 填写您自己的APIKey
  3. response = client.chat.completions.create(
  4.     model="glm-4",  # 填写需要调用的模型名称
  5.     messages=[
  6.         {"role": "user", "content": "作为一名营销专家,请为我的产品创作一个吸引人的slogan"},
  7.         {"role": "assistant", "content": "当然,为了创作一个吸引人的slogan,请告诉我一些关于您产品的信息"},
  8.         {"role": "user", "content": "智谱AI开放平台"},
  9.         {"role": "assistant", "content": "智启未来,谱绘无限一智谱AI,让创新触手可及!"},
  10.         {"role": "user", "content": "创造一个更精准、吸引人的slogan"}
  11.     ],
  12. )
  13. print(response.choices[0].message)
复制代码
示例2:
  1. from zhipuai import ZhipuAI
  2. client = ZhipuAI(api_key="") # 填写您自己的APIKey
  3. response = client.chat.completions.create(
  4.     model="glm-4v",  # 填写需要调用的模型名称
  5.     messages=[
  6.        {
  7.         "role": "user",
  8.         "content": [
  9.           {
  10.             "type": "text",
  11.             "text": "图里有什么"
  12.           },
  13.           {
  14.             "type": "image_url",
  15.             "image_url": {
  16.                 "url" : "https://img1.baidu.com/it/u=1369931113,3388870256&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1703696400&t=f3028c7a1dca43a080aeb8239f09cc2f"
  17.             }
  18.           }
  19.         ]
  20.       }
  21.     ]
  22. )
  23. print(response.choices[0].message)
复制代码
示例3:
  1. from zhipuai import ZhipuAI
  2. client = ZhipuAI(api_key="") # 请填写您自己的APIKey
  3. response = client.chat.completions.create(
  4.     model="glm-3-turbo",  # 填写需要调用的模型名称
  5.     messages=[
  6.         {"role": "system", "content": "你是一个乐于解答各种问题的助手,你的任务是为用户提供专业、准确、有见地的建议。"},
  7.         {"role": "user", "content": "我对太阳系的行星非常感兴趣,特别是土星。请提供关于土星的基本信息,包括其大小、组成、环系统和任何独特的天文现象。"},
  8.     ],
  9.     stream=True,
  10. )
  11. for chunk in response:
  12.     print(chunk.choices[0].delta)
复制代码

四、接口说明:

模子编码:glm-4
根据输入的自然语言指令完成多种语言类任务,推荐使用 SSE 或异步调用方式哀求接口
传输方式
https
哀求地址
https://open.bigmodel.cn/api/paas/v4/chat/completions
调用方式
同步调用,等候模子实行完成并返回最终结果或 SSE 调用
字符编码
UTF-8
接口哀求格式
JSON
响应格式
JSON 或尺度 Stream Event
接口哀求范例
POST
开发语言
恣意可发起 HTTP 哀求的开发语言
接口参数哀求
model
String

所要调用的模子编码
messages
List<Object>

调用语言模子时,将当前对话信息列表作为提示输入给模子, 按照 {"role": "user", "content": "你好"} 的json 数组形式进行传参; 大概的消息范例包罗 System message、User message、Assistant message 和 Tool message。
request_id
String

由用户端传参,需保证唯一性;用于区分每次哀求的唯一标识,用户端不传时平台会默认天生。
do_sample
Boolean

do_sample 为 true 时启用采样计谋,do_sample 为 false 时采样计谋 temperature、top_p 将不生效
stream
Boolean


使用同步调用时,此参数应当设置为 fasle 大概省略。表示模子天生完所有内容后一次性返回所有内容。
假如设置为 true,模子将通过尺度 Event Stream ,逐块返回模子天生内容。Event Stream 结束时会返回一条data: [DONE]消息。 注意:在模子流式输出天生内容的过程中,我们会分批对模子天生内容进行检测,当检测到违法及不良信息时,API会返回错误码(1301)。开发者辨认到错误码(1301),应及时采取(清屏、重启对话)等步伐删除天生内容,避免其造成负面影响。
temperature
Float


采样温度,控制输出的随机性,必须为正数
取值范围是:(0.0, 1.0),不能等于 0,默认值为 0.95,值越大,会使输出更随机,更具创造性;值越小,输出会更加稳固或确定
发起您根据应用场景调整 top_p 或 temperature 参数,但不要同时调整两个参数
top_p
Float

用温度取样的另一种方法,称为核取样
取值范围是:(0.0, 1.0) 开区间,不能等于 0 或 1,默认值为 0.7
模子思量具有 top_p 概率质量 tokens 的结果
例如:0.1 意味着模子解码器只思量从前 10% 的概率的候选集中取 tokens
发起您根据应用场景调整 top_p 或 temperature 参数,但不要同时调整两个参数
max_tokens
Integer

模子输出最大 tokens
stop
List

模子在遇到stop所制定的字符时将制止天生,目前仅支持单个制止词,格式为["stop_word1"]
tools
List

可供模子调用的工具列表,tools 字段会计算 tokens ,同样受到 tokens 长度的限定
tool_choice
String 或 Object

用于控制模子是如何选择要调用的函数,仅当工具范例为function时补充。默认为auto,当前仅支持auto
System Message格式
role
String

消息的角色信息,此时应为system
content
String

消息内容

User Message格式
role
String

消息的角色信息,此时应为user
content
String

消息内容

Assisant Message格式
role
String

消息的角色信息,此时应为assistant
content
String
"content"与"tool_calls"二必选一
消息内容。此中包罗了tool_calls字段,content字段为空。
tool_calls
List
"content"与"tool_calls"二必选一
模子产生的工具调用消息

Tool Message格式
tool message 代表工具被调用后返回的结果。模子根据tool message向用户输出自然语言格式的消息。
role
String

消息的角色信息,此时应为tool
content
String

tool_message消息内容,为工具被调用后返回的结果
tool_call_id
String

tool的调用记录
模子同步调用响应内容
id​
String
任务ID
created
Long
哀求创建时间,是以秒为单位的 Unix 时间戳
model
String
模子名称
choices
List
当前对话的模子输出内容
usage
Object
结束时返回本次模子调用的 tokens 数量统计。
内容天生流式响应块内容
id
String
智谱 AI 开放平台天生的任务订单号,调用哀求结果接口时请使用此订单号
created
Long
哀求创建时间,是以秒为单位的 Unix 时间戳
choices
List
当前对话的模子输出内容
usage
Object
结束时返回本次模子调用的 tokens 数量统计。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万有斥力

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表