生成答案
功能介绍
将content输入给模型,使用模型能力生成答案。
注意:
-
当"chat_id"为空时,"chat_create_flag"应为"1",表示需要开启新的对话;当"chat_id"有值时,"chat_create_flag"可以为"0",表示不需要开启新的对话。
-
"messages"中的元素必须为奇数个,单轮对话时为1,多轮对话时为3、5、7、...,如 [question1, answer1, question2]
-
多轮对话中:对话排列顺序从旧到新
URI
POST /v1/koosearch/experience/chat
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
接口鉴权使用的Token,Token获取方式参考:获取IAM用户Token 最小长度:1 最大长度:1000000 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
repo_id |
是 |
String |
知识库ID 获取方式: 账号登录KooSearch体验平台,在左侧导航栏选择:"知识库管理" ,在此界面获取"知识库ID"字段的值,表示该知识库在向量数据库中存储的ID,具有唯一性 最小长度:1 最大长度:64 |
chat_id |
否 |
String |
对话ID 最小长度:1 最大长度:64 |
messages |
是 |
Array of ChatMessage objects |
对话内容 数组长度:1 - 19 |
chat_create_flag |
是 |
String |
对话开始标志( 0-否,1-是) 最小长度:1 最大长度:1 |
refresh_flag |
是 |
String |
问答刷新标志(0-否,1-是) 最小长度:1 最大长度:1 |
max_tokens |
否 |
Integer |
生成文本的最大token数量。 输入的文本加上生成的文本总量不能超过模型所能处理的最大长度。 最小值:1 最小值:1 最大值:131072 缺省值:2048 |
stream |
否 |
Boolean |
流式输出标志 缺省值:false |
filter_string |
否 |
String |
RAG搜索环节过滤。 带语法的查询字符串,使用具有严格语法的解析器,根据提供的查询字符串返回文档。 例如:tags:(魔都 OR 首都) AND category:"城市(city)" 注意事项: 1.支持布尔运算符 AND、OR 和 NOT(也写为 &&、|| 和 !),但请注意它们不遵守通常的优先级规则,因此只要一起使用多个运算符,就应使用括号。 2.详细语法参考query_string语法 最小长度:4 最大长度:1024 |
top_p |
否 |
Float |
一种替代温度采样的方法,称为nucleus sampling,其中模型考虑具有top_p 概率质量的标记的结果。通常建议更改此值或温度,但不要同时更改两者。通常建议更改top_p或temperature来调整生成文本的倾向性,但不要同时更改这两个参数。 取值范围:(0, 1] 最小值:0.1 最大值:1 缺省值:0.1 |
presence_penalty |
否 |
Float |
用于调整模型对新Token的处理方式。即如果一个Token已经在之前的文本中出现过,那么模型在生成这个Token时会受到一定的惩罚。当presence_penalty的值为正数时,模型会更倾向于生成新的、未出现过的Token,即模型会更倾向于谈论新的话题。 最小值:-2 最大值:2 最小值:-2 最大值:2 缺省值:0 |
search_temperature |
否 |
Float |
搜索增强场景用于控制生成文本的多样性和创造力。 取值接近0表示最低的随机性,1表示最高的随机性。一般来说,temperature越低,适合完成确定性的任务。temperature越高,例如0.9,适合完成创造性的任务。 最小值:0 最大值:1 缺省值:0.3 |
chat_temperature |
否 |
Float |
非搜索增强场景用于控制生成文本的多样性和创造力。 取值接近0表示最低的随机性,1表示最高的随机性。一般来说,temperature越低,适合完成确定性的任务。temperature越高,例如0.9,适合完成创造性的任务。 最小值:0 最大值:1 缺省值:0.8 |
extra_repo_ids |
否 |
Array of strings |
多知识库问答 最小长度:1 最大长度:64 数组长度:1 - 10 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
chat_id |
String |
对话ID 最小长度:1 最大长度:64 |
chat_result |
ChatResult object |
对话结果 |
references |
Array of ChatReferenceInfo objects |
参考结果 数组长度:1 - 100 |
reference_total |
Integer |
参考来源总数 最小值:1 最大值:65535 |
sub_queries |
Array of strings |
搜索使用的query,包括:原始query和改写后的query 最小长度:1 最大长度:65535 数组长度:1 - 65535 |
category |
String |
搜索规划返回的query类别 最小长度:1 最大长度:65535 |
参数 |
参数类型 |
描述 |
---|---|---|
index |
Integer |
序号 最小值:1 最大值:65535 |
message |
String |
文本内容 最小长度:1 最大长度:65535 |
question_id |
String |
问答ID 最小长度:1 最大长度:64 |
参数 |
参数类型 |
描述 |
---|---|---|
file_id |
String |
文件id(或FAQ id) 最小长度:1 最大长度:64 |
title |
String |
标题 最小长度:1 最大长度:65535 |
content |
String |
文本内容 最小长度:1 最大长度:65535 |
big_content |
String |
内容上下文,比如未分片的原始表格。 注意: (1)搜索接口可能有值 (2)问答接口会将big_content替换到content,此字段清空 最小长度:0 最大长度:100000 |
update_date_time |
String |
更新时间 最小长度:1 最大长度:64 |
doc_type |
String |
文档类型(doc-文档,faq-问答) 最小长度:1 最大长度:64 |
file_path |
String |
文档归档路径 最小长度:1 最大长度:64 |
category |
String |
文档目录,单值,对应目录树中的叶子节点 最小长度:4 最大长度:255 |
tags |
Array of strings |
文档标签列表 最小长度:4 最大长度:255 数组长度:0 - 250 |
score |
Float |
ES打分 最小值:0 最大值:10000 |
subtitle |
String |
文档子标题 最小长度:1 最大长度:65535 |
repo_id |
String |
知识库标识 最小长度:1 最大长度:64 |
请求示例
上述是一个多轮对话的请求体示例。 注意: 1)、当"chat_id"为空时,"chat_create_flag"应为"1",表示需要开启新的对话;当"chat_id"有值时,"chat_create_flag"可以为"0",表示不需要开启新的对话。 2)、"messages"中的元素始终为奇数,单轮对话时为1,多轮对话时为3、5、7、... 如上述示例,message[0]["content"]是第一轮的query,message[1]["content"]是第一轮的answer,message[2]["content"]是第二轮的query
/v1/123/applications/1233453/uni-search/experience/chat { "repo_id" : "9d261b1c-e9b6-464f-881a-687251504edd", "chat_create_flag" : "0", "chat_id" : "cc84be57-3fc1-4365-a54d-417f098e8a19", "messages" : [ { "role" : "user", "content" : "2023款本田雅阁的维修保养周期建议?" }, { "role" : "user", "content" : "对于2023款本田雅阁,我建议你可以注意以下几个方面的定期维护:定期更换机油和机油滤芯。根据厂家建议,大约每5,000-10,000公里更换一次。" }, { "role" : "user", "content" : "还有什么需要注意的?" } ], "refresh_flag" : "0" }
响应示例
状态码: 200
模型生成结果响应体
{ "chat_id" : "cc84be57-3fc1-4365-a54d-417f098e8a19", "chat_result" : { "index" : 0, "message" : "在进行维修保养时,需要注意:检查轮胎状况,包括胎压、胎纹深度等。及时更换磨损严重的轮胎。检查制动系统,包括刹车片、制动液等。如有磨损需要及时维修更换。定期检查发动机冷却系统,更换冷却液和防冻液。检查蓄电池状态,确保电瓶能够正常工作。保持定期保养,比如四轮定位、空调保养等,延长车辆使用寿命。", "question_id" : "12453567446" }, "references" : [ { "file_id" : "123", "title" : "汽车包养注意事项.pdf", "content" : "检查轮胎状况,包括胎压、胎纹深度等。及时更换磨损严重的轮胎。检查制动系统,包括刹车片、制动液等。", "update_date_time" : "1234554456", "doc_type" : "doc", "file_path" : "uni-search/v2/文档名称.doc" }, { "file_id" : "123", "title" : "汽车包养注意事项.pdf", "content" : "如有磨损需要及时维修更换。定期检查发动机冷却系统,更换冷却液和防冻液。", "update_date_time" : "1234554456", "doc_type" : "doc", "file_path" : "uni-search/v2/文档名称.doc" }, { "file_id" : "123", "title" : "汽车包养注意事项.pdf", "content" : "检查蓄电池状态,确保电瓶能够正常工作。保持定期保养,比如四轮定位、空调保养等,延长车辆使用寿命。", "update_date_time" : "1234554456", "doc_type" : "doc", "file_path" : "uni-search/v2/文档名称.doc" } ], "reference_total" : "3" }
状态码
状态码 |
描述 |
---|---|
200 |
模型生成结果响应体 |
错误码
请参见错误码。