更新时间:2025-08-11 GMT+08:00

生成答案

功能介绍

将content输入给模型,使用模型能力生成答案。

注意:

  1. 当"chat_id"为空时,"chat_create_flag"应为"1",表示需要开启新的对话;当"chat_id"有值时,"chat_create_flag"可以为"0",表示不需要开启新的对话。

  2. "messages"中的元素必须为奇数个,单轮对话时为1,多轮对话时为3、5、7、...,如 [question1, answer1, question2]

  3. 多轮对话中:对话排列顺序从旧到新

URI

POST /v1/koosearch/experience/chat

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

接口鉴权使用的Token,Token获取方式参考:3.2节 认证鉴权。

约束限制:

不涉及。

表2 请求Body参数

参数

是否必选

参数类型

描述

repo_id

String

参数解释:

知识库ID。

获取方式:

账号登录KooSearch体验平台,在左侧导航栏选择:"知识库管理" ,在此界面获取"知识库ID"字段的值,表示该知识库在向量数据库中存储的ID,具有唯一性。

约束限制:

不显示。

extra_repo_ids

Array of strings

参数解释:

引用知识库标识列表,用于支持多个知识库联合检索的场景。

约束限制:

不限制。

chat_id

String

参数解释:

当前对话ID。

约束显示:

不涉及。

messages

Array of ChatMessage objects

对话内容。

chat_create_flag

String

参数解释:

是否开启一轮新的对话( 0-否,1-是)。

1:清空历史对话,开始一轮新的对话。

0:延续chat_id所在的对话上下文。

约束限制:

不涉及。

refresh_flag

String

参数解释:

是否清空问答历史(0-否,1-是)。

1:清空历史对会话。

0:不清空历史会话。

约束限制:

不涉及。

max_tokens

Integer

参数解释:

模型生成文本的最大token数量。

约束限制:

输入的文本加上生成的文本总量不能超过模型所能处理的最大长度。

最小值:1

stream

Boolean

参数解释:

是否使用流式输出模式。

约束限制:

不涉及。

filter_string

String

参数解释:

RAG搜索环节,指定过滤字段。

带语法的查询字符串,使用具有严格语法的解析器,根据提供的查询字符串返回文档。

例如:tags:(教育 OR 金融) AND category:"行业知识"

注意事项:

1.支持布尔运算符 AND、OR 和 NOT(也写为 &&、|| 和 !),但请注意它们不遵守通常的优先级规则,因此只要一起使用多个运算符,就应使用括号。

2.详细语法参考query_string语法

约束限制:

不涉及。

top_p

Float

参数解释:

一种替代温度采样的方法,称为nucleus sampling,通过限制词汇的选择范围来控制生成文本的多样性。top_p值越高,候选单词越多,文本多样性越高。

约束限制:

通常建议更改top_p或temperature来调整生成文本的倾向性,但不要同时更改这两个参数。

取值范围:

0.1 ~ 1

默认取值:

0.1

presence_penalty

Float

参数解释:

控制生成的文本中重复内容的程度。presence_penalty的目的是减少模型在生成文本时重复使用相同或类似的内容,以提高生成文本的多样性。即如果一个Token已经在之前的文本中出现过,那么模型在生成这个Token时会受到一定的惩罚。

presence_penalty越小,模型考虑之前生成的Token越少,可能导致文本中出现重复内容。

presence_penalty越大,模型会更倾向于生成新的、未出现过的Token,生成的文本会更加多样化。

取值范围:

-2 ~ 2,具体的取值需要权衡,盘古NLP模型一般情况下可以取1.1。

默认取值:

0

search_temperature

Float

参数解释:

搜索增强场景下,控制模型生成文本的多样性和创造力。

取值接近0表示最低的随机性,1表示最高的随机性。一般来说,temperature越低,适合完成确定性的任务。temperature越高,例如0.9,适合完成创造性的任务。

约束限制:

不涉及。

取值范围:

0 ~ 1,盘古NLP模型一般设置为0.2/0.3。

默认取值:

0.3

chat_temperature

Float

参数解释:

非搜索增强场景下,用于控制模型生成文本的多样性和创造力。

取值接近0表示最低的随机性,1表示最高的随机性。一般来说,temperature越低,适合完成确定性的任务。temperature越高,例如0.9,适合完成创造性的任务。

约束限制:

不涉及。

取值范围:

0 ~ 1。

表3 ChatMessage

参数

是否必选

参数类型

描述

role

String

参数解释:

~~对话的角色,取值为system、user。~~

待删除字段,无需使用。

约束限制:

待删除字段,无需使用。

content

String

参数解释:

用户输入的对话内容。

约束限制:

不涉及。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

chat_id

String

参数解释:

当前对话ID。

约束显示:

不涉及。

chat_result

ChatResult object

对话结果。

references

Array of ChatReferenceInfo objects

参考结果。

reference_total

Integer

参数解释:

参考来源总个数。

约束限制:

不涉及。

sub_queries

Array of strings

参数解释:

搜索使用的query,包括:原始query和搜索规划模块改写后的query。

约束限制:

不涉及。

category

String

参数解释:

搜索规划模块返回的query类别。

约束限制:

不涉及。

表5 ChatResult

参数

参数类型

描述

index

Integer

参数解释:

消息结果的序号。

约束限制:

不涉及。

message

String

参数解释:

返回消息的文本内容。

约束限制:

不涉及。

question_id

String

参数解释:

返回消息对应的问题ID。

约束限制:

不涉及。

表6 ChatReferenceInfo

参数

参数类型

描述

file_id

String

参数解释:

参考文档片段来源的文档ID(或FAQ ID)。

约束限制:

不涉及。

title

String

参数解释:

参考文档片段来源的文档标题。

约束限制:

不涉及。

content

String

参数解释:

参考文档片段内容。

约束限制:

不涉及。

big_content

String

参数解释:

参考文档内容上下文,比如未分片的原始表格。

注意:

(1)搜索接口可能有值。

(2)问答接口会将big_content替换到content,此字段清空。

约束限制:

不涉及。

update_date_time

String

参数解释:

参考文档分片的更新时间。

约束限制:

不涉及。

doc_type

String

参数解释:

参考分片来源文档的类型(doc-文档,faq-问答)。

约束限制:

不涉及。

file_path

String

参数解释:

参考分片来源文档的归档路径。

约束限制:

不涉及。

category

String

参数解释:

文档目录,单值,对应目录树中的叶子节点。

约束限制:

不涉及。

tags

Array of strings

参数解释:

文档标签列表。

约束限制:

不涉及。

score

Float

参数解释:

query和当前参考分片的相关度打分,分值越高代表越相关。

约束限制:

不涉及。

subtitle

String

参数解释:

当前参考分片在原文中的子标题。

约束限制:

不涉及。

repo_id

String

参数解释:

当前知识库ID。

约束限制:

不涉及。

chunk_id

String

参数解释:

当前参考文档分片的ID。

约束限制:

不涉及。

page_num

Integer

参数解释:

当前参考分片位于文档内的第几页。

约束限制:

不涉及。

component_num

Integer

参数解释:

当前参考分片位于文档内的第几个分片。

约束限制:

不涉及。

请求示例

上述是一个多轮对话的请求体示例。

注意:

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

3)、接口支持流式/非流式返回,通过"stream"参数控制。

POST https://{endpoint}/v1/koosearch/experience/chat

{
  "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
  "extra_repo_ids" : [ ],
  "chat_id" : "f939c01e-8042-49bb-b207-6575f98bbaeb",
  "messages" : [ {
    "role" : "system",
    "content" : "发动机故障有哪些?"
  }, {
    "role" : "system",
    "content" : "发动机故障包括以下几种情况:\n\n1. 启动困难:发动机无法顺利启动,可能因为电池电量不足、火花塞问题或燃油系统堵塞等原因。\n\n2. 怠速不稳:发动机在怠速状态下运行不稳定,可能导致熄火或者抖动严重。可能是由于空气进气系统、燃油系统或点火系统的问题。\n\n3. 动力减弱:发动机加速性能下降,爬坡能力降低,可能是由于燃油系统、点火系统或排气系统等问题导致的。\n\n4. 油耗增加:发动机燃油消耗异常增加,可能是由于燃油系统、点火系统或传感器等问题引起的。\n\n5. 异响:发动机运行过程中出现异常噪音,可能是由于机械部件磨损、润滑系统问题或皮带松动等原因造成的。\n\n6. 过热:发动机温度过高,可能导致过热保护开关启动,使发动机停止运行。可能是由于冷却系统故障、水泵故障或散热器堵塞等原因造成的。\n\n7. 漏油:发动机内部或外部出现燃油、机油或其他液体泄漏现象,可能是由于密封件老化、紧固件松动或油路堵塞等原因造成的。\n\n8. 烧机油:发动机机油消耗过多,可能是由于活塞环磨损、气门油封损坏或曲轴箱通风系统故障等原因造成的。\n\n9. 排放超标:发动机尾气排放超过国家标准,可能是由于燃油系统、点火系统或排气系统等问题引起的。\n\n10. 传感器故障:发动机控制系统中的一些传感器出现故障,可能导致发动机运行不稳定、性能下降或报警灯亮起等现象。\n\n11. 发动机启动失败:这可能是因为发动机清洗过程中水分渗入了分电器、点火模块、火花塞或高压线等关键部件;损坏的火花塞同样可能阻止发动机启动;蓄电池电量匮乏也是一个不可忽视的原因;此外,惯性开关的断开亦可能引发启动难题。"
  }, {
    "role" : "system",
    "content" : "还有其他的吗?"
  } ],
  "chat_create_flag" : 0,
  "refresh_flag" : 0,
  "stream" : "false",
  "top_p" : 0.1,
  "max_tokens" : 2048,
  "chat_temperature" : 0.8,
  "search_temperature" : 0.3,
  "presence_penalty" : 0
}

响应示例

状态码:200

模型生成结果响应体。

{
  "chat_id" : "f939c01e-8042-49bb-b207-6575f98bbaeb",
  "category" : "通用知识类",
  "chat_result" : {
    "index" : 0,
    "message" : "当然,除了上述提到的发动机故障外,还有一些其他常见的问题和现象:\n\n11. 喷油嘴堵塞:喷油嘴是将燃油雾化并喷射到燃烧室的关键部件,如果喷油嘴堵塞,会导致燃油供给不足,影响发动机的动力输出和油耗。\n\n12. 点火正时错误:点火正时是指点火时刻相对于曲轴位置的关系,如果点火正时错误,会导致发动机动力输出不稳定、油耗增加甚至爆震等问题。\n\n13. 曲轴轴承磨损:曲轴轴承负责支撑曲轴并减少摩擦,如果曲轴轴承磨损严重,会导致发动机震动加剧、油耗增加以及动力下降等问题。\n\n14. 活塞环磨损:活塞环负责密封燃烧室并与缸壁接触,如果活塞环磨损严重,会导致漏气、烧机油等问题。\n\n15. 冷却液泄露:冷却液用于带走发动机产生的热量,如果冷却液泄露,会导致发动机过热、水温表指示异常等问题。\n\n16. 空气滤清器堵塞:空气滤清器负责过滤进入发动机的空气中的杂质,如果空气滤清器堵塞,会影响发动机的进气量,导致动力下降和油耗增加。\n\n17. 火花塞积碳:火花塞上的积碳会阻碍电火花的产生,导致点火不良,进而影响发动机的工作。\n\n18. 燃油泵故障:燃油泵负责将燃油从油箱输送到发动机,如果燃油泵故障,会导致供油不足,影响发动机的工作。\n\n19. 高压线老化断裂:高压线负责传递点火信号,如果高压线老化断裂,会导致点火不良,影响发动机的工作。\n\n20. 电子控制单元(ECU)故障:ECU负责接收各种传感器信号并对发动机进行控制,如果ECU故障,会导致发动机运行不稳定、性能下降或报警灯亮起等问题。\n\n这些只是发动机故障的一部分,具体情况还需要根据实际问题进行诊断和维修。",
    "question_id" : "312be669-84fc-4d5b-9a66-58a0f3075a5f"
  },
  "sub_queries" : [ "除了上述提到的发动机故障外,发动机还可能出现哪些故障", "还有其他的吗?" ],
  "references" : [ {
    "file_id" : "22b179b9de0ad941215cc7f052ab10f8",
    "chunk_id" : "483faffeeb284d20a23378a7d18e9ff1",
    "title" : "发动机故障有哪些问题和现象.txt",
    "subtitle" : "发动机故障有哪些问题和现象",
    "content" : "1. 启动困难:发动机无法顺利启动,可能因为电池电量不足、火花塞问题或燃油系统堵塞等原因。\n2. 怠速不稳:发动机在怠速状态下运行不稳定,可能导致熄火或者抖动严重。可能是由于空气进气系统、燃油系统或点火系统的问题。\n3. 动力减弱:发动机加速性能下降,爬坡能力降低,可能是由于燃油系统、点火系统或排气系统等问题导致的。\n4. 油耗增加:发动机燃油消耗异常增加,可能是由于燃油系统、点火系统或传感器等问题引起的。\n5. 异响:发动机运行过程中出现异常噪音,可能是由于机械部件磨损、润滑系统问题或皮带松动等原因造成的。\n6. 过热:发动机温度过高,可能导致过热保护开关启动,使发动机停止运行。可能是由于冷却系统故障、水泵故障或散热器堵塞等原因造成的。\n7. 漏油:发动机内部或外部出现燃油、机油或其他液体泄漏现象,可能是由于密封件老化、紧固件松动或油路堵塞等原因造成的。\n8. 烧机油:发动机机油消耗过多,可能是由于活塞环磨损、气门油封损坏或曲轴箱通风系统故障等原因造成的。\n9. 排放超标:发动机尾气排放超过国家标准,可能是由于燃油系统、点火系统或排气系统等问题引起的。",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/22b179b9de0ad941215cc7f052ab10f8/发动机故障有哪些问题和现象.txt",
    "category" : "",
    "update_date_time" : "1731049431328",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 1,
    "score" : 0.9049869
  }, {
    "file_id" : "22b179b9de0ad941215cc7f052ab10f8",
    "chunk_id" : "389497084e3f44e589b635f9a1ef4f2f",
    "title" : "发动机故障有哪些问题和现象.txt",
    "subtitle" : "发动机故障有哪些问题和现象",
    "content" : "10. 传感器故障:发动机控制系统中的一些传感器出现故障,可能导致发动机运行不稳定、性能下降或报警灯亮起等现象。",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/22b179b9de0ad941215cc7f052ab10f8/发动机故障有哪些问题和现象.txt",
    "category" : "",
    "update_date_time" : "1731049431328",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 2,
    "score" : 0.79597545
  }, {
    "file_id" : "b7947c56436d29bf7671844d7f57371e",
    "chunk_id" : "0512b8fe109941208de99b4470ab2de3",
    "title" : "发动机异常.txt",
    "subtitle" : "发动机异常\n1. 发动机启动失败:",
    "content" : "这可能是因为发动机清洗过程中水分渗入了分电器、点火模块、火花塞或高压线等关键部件。\n损坏的火花塞同样可能阻止发动机启动。\n蓄电池电量匮乏也是一个不可忽视的原因。\n此外,惯性开关的断开亦可能引发启动难题。",
    "file_path" : "uni-search/files/b25446daeb1a41a7953c5deba2b2677a/fb9731ab-7085-474f-b6c7-64473586f0f3/acd90739-2e22-4870-b2db-35018699b623/b7947c56436d29bf7671844d7f57371e/发动机异常.txt",
    "category" : "",
    "update_date_time" : "1731049431522",
    "repo_id" : "acd90739-2e22-4870-b2db-35018699b623",
    "page_num" : 1,
    "component_num" : 2,
    "score" : 0.29695997
  } ],
  "rac" : null,
  "reference_total" : 3
}

状态码

状态码

描述

200

模型生成结果响应体。

错误码

请参见错误码