创建聊天补全任务,实现多轮对话功能
创建聊天补全任务,实现多轮对话功能,支持流式和非流式响应。
权限说明
调用本文API,需使用API Key鉴权方式。使用API Key鉴权调用API流程,具体调用流程,请查看认证鉴权。
接口URL
统一使用 https://qianfan.baidubce.com 作为 URL host,后接具体接口路径。
请求参数
对话消息列表,包含多轮对话的历史消息,用于构建完整的对话上下文。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
消息的角色,表示消息发送者的身份。
可选值:
- system:系统消息,用于设置对话上下文
- user:用户消息
- assistant:助手消息
- tool:工具调用结果消息
消息发送者的名称,用于标识具体的发送者身份。
消息的具体内容,包含用户输入或助手回复的文本信息。
助手发起的工具调用列表,包含工具调用的详细信息。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
工具调用的唯一标识,用于关联工具调用请求和响应。
工具调用的类型。
可选值:
- function:函数调用
函数调用的详细信息,包含函数名和参数。
显示子属性
隐藏子属性
被调用的函数名称。
函数调用的参数,JSON字符串格式。
工具调用结果对应的调用ID,用于关联工具调用请求,仅在 role 为 tool 时使用。
模型ID,指定用于生成回复的模型名称。
例如:ERNIE-Bot、ERNIE-Bot-turbo 等。
是否使用流式响应。
- true:启用流式响应,逐步返回生成内容
- false:使用非流式响应,一次性返回完整内容
流式响应的配置选项,用于控制流式输出的行为。
显示子属性
隐藏子属性
是否在流式响应中包含token使用情况统计信息。
- true:包含使用统计
- false:不包含使用统计
温度参数,控制生成文本的随机性。
取值范围:0.0-2.0,较高的值(如 1.0)使输出更随机,较低的值(如 0.2)使输出更确定。
核采样参数,控制生成文本时考虑的token概率质量。
取值范围:0.0-1.0,例如 0.8 表示只考虑累积概率前80%的token。
惩罚分数,用于减少重复内容的生成。
取值范围:1.0-2.0,值越大对重复内容的惩罚越强。
最大生成token数,限制模型生成内容的最大长度。
随机种子,用于控制生成结果的可复现性,相同的种子和参数会产生相同的输出。
停止词列表,当生成内容遇到列表中的任一词时停止生成。
显示子属性
隐藏子属性
用户的唯一标识,用于监控和追踪特定用户的API使用情况。
频率惩罚参数,根据token在文本中出现的频率降低其被选择的概率。
取值范围:-2.0到2.0,正值会降低重复token的出现。
存在惩罚参数,根据token是否已在文本中出现来降低其被选择的概率。
取值范围:-2.0到2.0,正值会鼓励模型讨论新话题。
可用工具列表,模型可以调用这些工具来完成特定任务。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
工具类型。
可选值:
- function:函数工具
- json_object:JSON对象
- text:文本
- json_schema:JSON Schema
函数工具的详细定义,包含函数签名和参数说明。
显示子属性
隐藏子属性
函数名称,模型可调用的函数标识。
函数描述,说明函数的功能和用途,帮助模型理解何时调用该函数。
函数参数的JSON Schema定义,描述函数接受的参数结构和类型。
显示子属性
隐藏子属性
可选择符合一个或多个
工具选择策略,控制模型如何选择和使用工具。可以是字符串(表示策略)或对象(指定具体工具)。
显示子属性
隐藏子属性
工具选择策略的字符串形式。
可选值:
- none:不使用任何工具
- auto:自动选择是否使用工具
- required:必须使用工具
工具选择策略的对象形式,用于精确指定要使用的工具。
显示子属性
隐藏子属性
指定工具类型。
可选值:
- function:函数工具
指定具体调用的函数信息。
显示子属性
隐藏子属性
指定要调用的函数名称。
是否允许并行调用多个工具。
- true:允许同时调用多个工具
- false:按顺序调用工具
安全配置,用于设置内容审核的严格程度,保障输入内容的安全性。
显示子属性
隐藏子属性
输入内容的安全审核级别。
可选值:
- none:不审核
- minimal:最小审核
- base:基础审核
- moderate:中等审核
- standard:标准审核
- strict:严格审核
输入图片的安全审核级别。
可选值:
- none:不审核
- base:基础审核
- moderate:中等审核
- standard:标准审核
- strict:严格审核
联网搜索配置,用于控制模型的联网搜索行为和返回的搜索信息。
显示子属性
隐藏子属性
是否启用联网搜索功能。
- true:启用联网搜索
- false:不使用联网搜索
是否在回复中包含引用信息。
- true:包含引用
- false:不包含引用
是否启用搜索过程追踪。
- true:启用追踪
- false:不追踪
是否返回搜索状态信息。
- true:返回状态
- false:不返回状态
引用的搜索结果数量,控制回复中引用的来源数量。
执行的搜索次数,控制联网搜索的查询次数。
插件ID列表,指定要启用的插件,用于扩展模型的功能。
显示子属性
隐藏子属性
插件配置选项,用于自定义插件的行为和参数。
显示子属性
隐藏子属性
缓存ID,用于复用之前的对话上下文,提升响应速度。
响应格式配置,用于指定模型返回内容的格式类型。
显示子属性
隐藏子属性
响应格式类型。
可选值:
- function:函数格式
- json_object:JSON对象格式
- text:纯文本格式
- json_schema:JSON Schema格式
JSON Schema定义,当 type 为 json_schema 时,用于约束响应的JSON结构。
显示子属性
隐藏子属性
POST /v2/chat/completions HTTP/1.1
HOST: qianfan.baidubce.com
Authorization: Bearer <API Key>
Content-Type: application/json
{
"messages": [
{
"role": "user",
"content": "你好,请介绍一下人工智能"
}
],
"model": "ERNIE-Bot",
"stream": false,
"temperature": 0.8,
"top_p": 0.8,
"penalty_score": 1
}
示例代码
创建聊天补全任务的基础请求示例
curl -X POST "https://qianfan.baidubce.com/v2/chat/completions" \
-H "Authorization: Bearer bce-v3/ALTAK-******ZftZDTn7/125eeb1c5e9ddc8cf3edf18ef6d03f1517ec9408" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "你好,请介绍一下人工智能"
}
],
"model": "ERNIE-Bot",
"stream": false,
"temperature": 0.8,
"top_p": 0.8,
"penalty_score": 1
}'
返回响应
本次请求的唯一标识,用于追踪和调试请求。
例如:as-123456789
响应对象类型,固定值为 chat.completion,表示这是一个聊天补全响应。
响应创建的时间戳,Unix时间戳格式(秒),表示响应生成的时间。
例如:1646459100
实际使用的模型名称,表示生成此响应所使用的模型ID。
例如:ERNIE-Bot
模型生成的响应选项列表,通常包含一个或多个候选回复。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
选项索引,表示该响应选项在结果列表中的位置,从0开始。
助手消息对象,包含助手的角色和生成的回复内容。
显示子属性
隐藏子属性
消息角色,固定值为 assistant,表示这是助手的回复消息。
助手生成的回复内容,包含模型针对用户输入生成的完整文本。
生成结束的原因,说明为什么生成过程停止。
可能值:
- normal:正常结束
- length:达到最大长度限制
- stop:遇到停止词
- tool_calls:需要调用工具
安全审核标志位,表示内容的安全审核结果状态。
内容被拦截的轮次,当内容违反安全策略时记录拦截发生的对话轮次。
插件调用信息列表,包含本次请求中使用的插件的详细信息。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
插件元数据列表,包含插件的配置和元信息。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
Token使用情况统计,包含输入、输出和总token消耗的详细信息。
显示子属性
隐藏子属性
输入提示词消耗的token数量,包含用户输入和系统提示的token总数。
例如:10
输入token的详细统计信息,包含搜索和插件的token消耗明细。
显示子属性
隐藏子属性
联网搜索消耗的token数量,当启用联网搜索时记录搜索内容的token消耗。
插件调用消耗的token数量映射,key为插件ID,value为该插件消耗的token数。
显示子属性
隐藏子属性
生成的回复内容消耗的token数量,表示模型输出的token总数。
例如:50
总共消耗的token数量,等于 prompt_tokens + completion_tokens。
例如:60
联网搜索结果列表,当启用联网搜索时返回相关的搜索结果信息。仅在启用 web_search 时出现。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
搜索结果索引,表示该搜索结果在列表中的位置,从0开始。
搜索结果的URL链接,指向搜索到的网页或资源地址。
搜索结果的标题,显示搜索结果页面的标题文本。
数据源ID,标识该搜索结果来源的数据源唯一标识。
非流式请求的成功响应示例
{
"id": "as-123456789",
"object": "chat.completion",
"created": 1646459100,
"model": "ERNIE-Bot",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!人工智能(Artificial Intelligence,简称AI)是计算机科学的一个分支,旨在研究、开发能够模拟、延伸和扩展人类智能的理论、方法、技术及应用系统。"
},
"finish_reason": "normal"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 50,
"total_tokens": 60
}
}
