基于会话生成对话 | 大装置帮助中心
跳到主要内容

基于会话生成对话(有会话历史)

接口描述(Description)

基于某个已经创建的会话,生成对话

请注意,此接口会基于模型的上下文长度限制,携带会话历史进行对话生成(例如,SenseChat目前限制的上下文长度为4k,则会携带不超过4k的会话历史进行对话,如果最新的一条会话加进会话历史之后总长度超出4k,会按照会话时间从早到晚的顺序逐条遗忘)。


请求地址(Request URL)

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

请求头(Request Header)

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


请求体(Request Body)

名称类型必须默认值可选值描述
actionstringnext正常进行下一轮对话:next
在已有的某一轮对话里重新生成:regeneration
本次对话的行为
contentstring--消息的内容
modelstring-模型清单模型ID
session_idstring--此次对话的会话ID,通过创建会话接口获得
streambooleanfalse开启:true
关闭:false
是否使用流式传输,如果开启,数据将按照data-only SSE(server-sent events)返回中间结果,并以 data: [DONE] 结束
know_idsstring[]-参考查询知识库列表检索的知识库列表
knowledge_configobject--知识配置
pluginsobject--插件配置(在使用某些模型时不支持传入该参数,详情请参考模型清单
  • knowledge_config 部分参数如下:
名称类型必须默认值可选值描述
control_levelstringnormal枚举值
normal
high
对知识库的控制力度
normal:模型正常参考知识库内容进行回答
high:模型强参考知识库内容进行回答(若您期望模型回答尽可能依赖知识库,不自由发散,推荐使用此值)
knowledge_base_resultbooleanfalsetrue
false
是否返回本次请求查询的知识库检索结果
true:返回
false:不返回
knowledge_base_configsobject[]--知识库配置
  • knowledge_base_configs 部分参数如下:
名称类型必须默认值可选值描述
know_idstring-本次请求检索的知识库ID(konw_ids中的知识库ID)需要实现配置的知识库ID
faq_thresholdfloat-(0,1)知识库中的qa_lst精准命中程度的阈值配置,越高代表对该知识库中问答对的检索结果相似度要求越严格
  • plugins 部分参数如下:
名称类型必须默认值可选值描述
web_searchobject--在线检索配置(此参数将模型的在线检索能力作为独立的插件功能提供给用户使用,以实现更为灵活的配置)
associated_knowledgeobject--文本知识注入配置
  • web_search 部分参数如下:
名称类型必须默认值可选值描述
search_enablebooleanfalsetrue
false
是否允许在线检索,若允许在线检索,即允许模型自主判断本次请求是否需要在线检索
result_enablebooleanfalsetrue
false
是否返回在线检索的结果
  • associated_knowledge 部分参数如下:
名称类型必须默认值可选值描述
contentstring--文本知识注入的内容,注意此内容的token数会视为用户输入内容的一部分,计入prompt_tokens,遵循模型上下文长度校验规则
modestring-concatenate
override
知识注入的模式
将外部注入的知识和内部的其他知识检索结果拼接在一起输入给模型:concatenate
外部注入的知识会替代内部的其他知识检索结果:override

请求示例(Request Example)

curl --request POST "https://api.sensenova.cn/v1/llm/chat-conversations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_TOKEN" \
-d '{
"action": "next",
"content": "string",
"model": "string",
"session_id": "string",
"stream": true,
"know_ids": [
"string"
],
"knowledge_config":{
"control_level": "normal",
"knowledge_base_result": false,
"knowledge_base_configs":[
{
"know_id": "string",
"faq_threshold": 0
}
]
},
"plugins":{
"web_search":{
"search_enable": false,
"result_enable": false
},
"associated_knowledge":{
"content": "string",
"mode": "string"
}
}
}'

响应(Response)

名称类型描述
dataobject生成内容
  • 其中,data 部分参数如下:
名称类型描述
session_idstring会话ID
turn_idsrting此次对话的轮次ID,系统自动生成
messagestring非流式请求时,生成的回复内容
deltastring流式请求时,生成的回复内容
finish_reasonstring停止生成的原因,枚举值
因结束符停止生成:stop
因达到最大生成长度停止生成:length
因触发敏感词停止生成: sensitive
因触发模型上下文长度限制: context
knowledge_base_resultsobject[]知识检索中间结果
pluginsobject插件功能使用情况
  • knowledge_base_results 部分参数如下:
名称类型描述
know_idstring查询的知识库ID
resultsobject[]查询到的知识库内容
  • results 部分参数如下:
名称类型描述
scorefloat相似度
resultstring查询到的知识库文本内容
extra_infoobject若该结果对应的知识库是使用delimiter分割模式创建的,则返回检索到的知识库详细信息
  • extra_info 部分参数如下:
名称类型描述
file_idstring此条结果对应的文件ID
pageint此条结果对应的文件页码
  • plugins 部分参数如下:
名称类型描述
web_searchobject在线检索使用情况,search_enable关闭的情况下不返回此字段
  • web_search 部分参数如下:
名称类型描述
online_search_countint本次请求实际发生的在线检索次数
resultsobject[]本次请求在线检索结果,result_enable关闭的情况下不返回此字段
  • results 部分参数如下:
名称类型描述
indexint在线检索结果序号
urlstring在线检索的URL
url_sourcestring在线检索的来源
titlestring在线检索网页标题
iconstring在线检索网站logo图片的URL

响应示例(Response Example)

  • 流式
data:{"data":{"delta":"This","finish_reason":"","session_id":"518f9b5be26b000","turn_id":"5191ff54aa6b000_4","knowledge_base_results":[],"plugins":{"web_search":{"online_search_count":0,"results":[]}}},"status":{"code":0, "message": "ok"}}

data:{"data":{"delta":"is","finish_reason":"","session_id":"518f9b5be26b000","turn_id":"5191ff54aa6b000_4","knowledge_base_results":[],"plugins":{"web_search":{"online_search_count":0,"results":[]}}},"status":{"code":0, "message": "ok"}}

data:{"data":{"delta":"a","finish_reason":"","session_id":"518f9b5be26b000","turn_id":"5191ff54aa6b000_4","knowledge_base_results":[],"plugins":{"web_search":{"online_search_count":0,"results":[]}}},"status":{"code":0, "message": "ok"}}

data:{"data":{"delta":"test","finish_reason":"","session_id":"518f9b5be26b000","turn_id":"5191ff54aa6b000_4","knowledge_base_results":[],"plugins":{"web_search":{"online_search_count":0,"results":[]}}},"status":{"code":0, "message": "ok"}}

data:{"data":{"delta":"!","finish_reason":"","session_id":"518f9b5be26b000","turn_id":"5191ff54aa6b000_4","knowledge_base_results":[],"plugins":{"web_search":{"online_search_count":0,"results":[]}}},"status":{"code":0, "message": "ok"}}

data:{"data":{"delta":"","finish_reason":"stop","session_id":"518f9b5be26b000","turn_id":"5191ff54aa6b000_4","knowledge_base_results":[{"know_id":"123456","results":[{"score":1.56, "result":"Test"}]}],"plugins":{"web_search":{"online_search_count":1,"results":[{"index":1,"url":"https://xxxx","url_source":"百科","title":"北京著名景点清单2023","icon":"https://xxx"}]}}},"status":{"code":0, "message": "ok"}}

data:[DONE]

  • 非流式
{
"data": {
"session_id": "string",
"turn_id": "string",
"message": "This is a test !",
"finish_reason": "stop",
"knowledge_base_results": [
{
"know_id": "string",
"results": [
{
"result": "string",
"score": 0
}
]
}
],
"plugins": {
"web_search":{
"online_search_count": 1,
"results":[
{
"index": 1,
"url": "string",
"url_source": "string",
"title": "string",
"icon": "string"
}
]
}
}
}
}

错误信息

参考错误码