更新时间:2025-07-22 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/{project_id}/applications/{application_id}/uni-search/experience/chat

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,获取方法请参见获取项目ID

约束限制:

不涉及

取值范围:

1~64个字符,只能包含数字、字母、中划线和下划线,且必须以字母开头。

默认取值:

不涉及

application_id

String

参数解释:

应用ID,获取方法请参见获取应用ID

约束限制:

字符串

取值范围:

1~64个字符,只能包含数字、字母、中划线和下划线,且必须以字母开头。

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

接口鉴权使用的Token,Token获取方式参考:获取IAM用户Token

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

chat_id

String

参数解释:

对话ID。

约束限制:

不涉及

取值范围:

长度不能超过64个字符。

默认取值:

不涉及

repo_id

String

参数解释:

知识库ID。

约束限制:

不涉及

取值范围:

长度不能超过64个字符。

默认取值:

不涉及

extra_repo_ids

Array of strings

参数解释:

多知识库问答。

约束限制:

不涉及

取值范围:

列表长度小于9。 长度不能超过64个字符。

默认取值:

不涉及

prompt

String

参数解释:

提示词。

约束限制:

不涉及

取值范围:

长度不能超过10000个字符。

默认取值:

不涉及

messages

Array of ChatMessage objects

参数解释:

对话内容。

约束限制:

不涉及

取值范围:

列表长度不超过19。

默认取值:

不涉及

chat_create_flag

String

参数解释:

对话开始标志。

约束限制:

不涉及

取值范围:

  • 0-否

  • 1-是

默认取值:

不涉及

refresh_flag

String

参数解释:

问答刷新标志。

约束限制:

不涉及

取值范围:

  • 0-否

  • 1-是

默认取值:

不涉及

stream

Boolean

参数解释:

流式输出标志。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

filter_string

String

参数解释:

RAG搜索环节过滤。

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

例如:tags:(魔都 OR 首都) AND category:"城市(city)"

约束限制:

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

  2. 详细语法参考query_string语法

取值范围:

不涉及

默认取值:

不涉及

表4 ChatMessage

参数

是否必选

参数类型

描述

role

String

参数解释:

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

约束限制:

不涉及

取值范围:

  • system

  • user

默认取值:

不涉及

content

String

参数解释:

对话内容。

约束限制:

不涉及

取值范围:

长度不能超过4096个字符。

默认取值:

不涉及

响应参数

状态码:200

表5 响应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类别。

取值范围:

不涉及

rac

Map<String,RacResponse>

参数解释:

图文信息,如图文开关开启。

取值范围:

不涉及

sql_info

SQLInfo object

参数解释:

tableRAG的过程数据,包括SQL、表格shema、SQL查询结果。

取值范围:

不涉及

表6 ChatResult

参数

参数类型

描述

index

Integer

参数解释:

序号。

取值范围:

不涉及

message

String

参数解释:

文本内容。

取值范围:

不涉及

question_id

String

参数解释:

问答ID。

取值范围:

不涉及

表7 ChatReferenceInfo

参数

参数类型

描述

file_id

String

参数解释:

文件id(或FAQ id)。

取值范围:

不涉及

chunk_id

String

参数解释:

块ID。

取值范围:

不涉及

title

String

参数解释:

标题。

取值范围:

不涉及

subtitle

String

参数解释:

文档子标题。

取值范围:

不涉及

content

String

参数解释:

文本内容。

取值范围:

不涉及

big_content

String

参数解释:

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

注意:

(1)搜索接口可能有值

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

取值范围:

不涉及

doc_type

String

参数解释:

文档类型(doc-文档,faq-问答)。

取值范围:

不涉及

file_path

String

参数解释:

文档归档路径。

取值范围:

不涉及

category

String

参数解释:

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

取值范围:

不涉及

tags

Array of strings

参数解释:

文档标签列表。

取值范围:

不涉及

update_date_time

String

参数解释:

更新时间。

取值范围:

不涉及

repo_id

String

参数解释:

知识库标识。

取值范围:

不涉及

page_num

Long

参数解释:

页码。

取值范围:

不涉及

component_num

Long

参数解释:

切片顺序数。

取值范围:

不涉及

score

Float

参数解释:

ES打分。

取值范围:

不涉及

additional_fields

Map<String,Object>

参数解释:

用于存储未知字段的。

取值范围:

不涉及

表8 RacResponse

参数

参数类型

描述

index

Array of integers

参数解释:

answer关联的引用序号。

取值范围:

不涉及

images

Array of ImageItem objects

参数解释:

返回插入图片的信息,若没有图片插入,为空list。

取值范围:

不涉及

ret

Integer

参数解释:

响应码。

取值范围:

不涉及

data

String

参数解释:

响应结果。

取值范围:

不涉及

rac_index

Integer

参数解释:

用来标识顺序。

取值范围:

不涉及

表9 ImageItem

参数

参数类型

描述

id

String

参数解释:

图片唯一id。

取值范围:

不涉及

extra_info

ImageExtraInfo object

参数解释:

保存返回的图片数据信息。

取值范围:

不涉及

表10 ImageExtraInfo

参数

参数类型

描述

image_height

Integer

参数解释:

图片的高。

取值范围:

不涉及

image_width

Integer

参数解释:

图片的宽。

取值范围:

不涉及

image_base64

String

参数解释:

图片的base64编码。

取值范围:

不涉及

doc_name

String

参数解释:

图片所属文档信息,可缺失。

取值范围:

不涉及

title_name

String

参数解释:

图片名称。

取值范围:

不涉及

title_no

String

参数解释:

图片编号。

取值范围:

不涉及

表11 SQLInfo

参数

参数类型

描述

sql

String

参数解释:

模型根据query和表格schema生成的SQL。

取值范围:

不涉及

schemas

String

参数解释:

根据query检索到的相关表格的schema。

取值范围:

不涉及

sql_results

String

参数解释:

根据SQL查询数据库中表格数据,得到的结果。

取值范围:

不涉及

table_ids

Array of strings

参数解释:

参考文档中, 使用到的表格ID信息。

取值范围:

不涉及

请求示例

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

注意:

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"
  } ],
  "sql_info" : {
    "sql" : "",
    "schemas" : [ ],
    "sql_results" : "",
    "table_ids" : [ ]
  },
  "reference_total" : "3"
}

状态码

状态码

描述

200

模型生成结果响应体。

错误码

请参见错误码

相关文档