图文对话生成 | 大装置帮助中心
跳到主要内容

图文对话生成

接口描述(Description)

基于给定的聊天对话信息,创建模型响应,支持在会话历史中传图片或视频相关信息,图片和视频不可同时填写:

  • 如果传图片,最多可接收6张图片,超过限制则接口报错响应。
  • 如果传视频,最多可接收1个视频,超过限制则接口报错响应。
  • 如果同时传图片和视频,则接口报错响应。

请求地址(Request URL)

[POST] https://api.sensenova.cn/v1/llm/chat-completions

请求头(Request Header)

无特殊Header,请参考接口鉴权


请求体(Request Body)

请注意,单次请求,用户输入的token总数(即所有content的token总数) + 用户期望模型生成的最大token数(即max_new_tokens的值),必须 <= 模型最大上下文长度(不同模型的上下文长度支持情况,参考模型清单)。

名称类型必须默认值可选值描述
modelstring-参考模型清单)模型ID
messagesobject[]--输入给模型的对话上下文,数组中的每个对象为聊天的上下文信息
max_new_tokensint1024[1,16384]期望模型生成的最大token数(不同模型支持的上下文长度不同,因此最大值也不同,参考模型清单
repetition_penaltyfloat1.0(0,2]重复惩罚系数,1代表不惩罚,大于1倾向于生成不重复token,小于1倾向于生成重复token,推荐使用范围为[1,1.2]
streambooleanfalse开启:true
关闭:false
是否使用流式传输,如果开启,数据将按照data-only SSE(server-sent events)返回中间结果,并以 data: [DONE] 结束
temperaturefloat0.8(0,2]温度采样参数,大于1的值倾向于生成更加多样的回复,小于1倾向于生成更加稳定的回复(最多支持小数点后六位)
top_pfloat0.7(0,1)核采样参数,解码生成token时,在概率和大于等于top_p的最小token集合中进行采样
userstring--外部用户ID,应用开发者可将应用系统用户ID传入,方便追踪
  • messages 部分参数如下:
名称类型必须默认值可选值描述
rolestring-枚举值
user
assistant
system
消息作者的角色,枚举值。请注意,数组中最后一项必须为 user
contentobject[]--消息的内容
  • content 文本部分,可复数,参数如下:
名称类型必须默认值可选值描述
typestringtext-消息内容类型
textstring--文本内容
  • content 图像部分,可复数,以下参数格式三选一,不同图片信息可选择不同的参数格式,参数如下:
名称类型必须默认值可选值描述
typestringimage_url-消息内容类型
image_urlstring--图片的url地址
名称类型必须默认值可选值描述
typestringimage_file_id-消息内容类型
image_file_idstring--通过文件管理接口上传的图片文件的file_id
名称类型必须默认值可选值描述
typestringimage_base64-消息内容类型
image_base64string--图片经过base64编码后的内容
  • content 视频部分,只能单数,以下参数格式二选一,不可与图像部分同时存在,参数如下:
名称类型必须默认值可选值描述
typestringvideo_url-消息内容类型
video_urlstring--视频文件的url地址
名称类型必须默认值可选值描述
typestringvideo_file_id-消息内容类型
video_file_idstring--通过文件管理接口上传的视频文件的file_id

请求示例(Request Example)

curl --request POST "https://api.sensenova.cn/v1/llm/chat-completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_TOKEN" \
-d '{
"model": "string",
"messages": [
{
"role": "string",
"content": [
{
"type": "image_url",
"image_url": "string"
},
{
"type": "text",
"text": "string"
}
]
}
],
"max_new_tokens": 1024,
"repetition_penalty": 1.0,
"stream": false,
"temperature": 0.8,
"top_p": 0.7,
"user": "string"
}'

响应(Response)

名称类型描述
dataobject生成内容
  • data 部分参数如下:
名称类型描述
idstring消息ID
choicesobject[]生成的回复列表
usageobjecttoken使用量
  • choices 部分参数如下:
名称类型描述
messagestring非流式请求时,生成的回复内容
finish_reasonstring停止生成的原因,枚举值
因结束符停止生成:stop
因达到最大生成长度停止生成:length
因触发敏感词停止生成: sensitive
因触发模型上下文长度限制: context
indexint生成的回复序号
rolestring回复消息的角色
deltastring流式请求时,生成的回复内容
  • usage 部分参数如下:
名称类型描述
prompt_tokensint用户输入内容的token数
knowledge_tokensint知识库内容输入模型的token数(仅在使用了知识库且检索到知识库内容的情况下不为0)
completion_tokensint生成消息对应的token数
total_tokensint总token数

响应示例(Response Example)

  • 流式
data:{"data":{"id":"123456789012345","choices":[{"delta":"This","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":1,"total_tokens":7}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"is","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":2,"total_tokens":8}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"a","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":3,"total_tokens":9}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"test","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":4,"total_tokens":10}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"!","finish_reason":"","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":5,"total_tokens":11}},"status":{"code":0, "message": "ok"}}

data:{"data":{"id":"123456789012345","choices":[{"delta":"","finish_reason":"stop","index": 0,"role":"assistant"}],"usage":{"prompt_tokens":6,"knowledge_tokens": 0,"completion_tokens":6,"total_tokens":13}},"status":{"code":0, "message": "ok"}}

data:[DONE]

  • 非流式
{
"data": {
"id": "4b44cd86cd2c000",
"choices": [
{
"message": "This is a test!",
"finish_reason": "stop",
"index": 0,
"role": "string"
}
],
"usage": {
"prompt_tokens": 6,
"knowledge_tokens": 0,
"completion_tokens": 6,
"total_tokens": 12
}
}
}

错误信息

参考错误码