普通问答对话
这是对话API中比较简单的实现方式,发一个post请求带上用户的问题。服务器会返回全部完整信息,根据问题的复杂情况,服务器需要数秒到数十秒来完成计算,耗时较长。
发起请求
- 请求方法: POST
- 请求 URL: /v1/ctai/query_text_chat
- Content-Type: application/json
请求参数
{ "query_text": "你好,请问2路汽车在哪里乘坐", "ctdoc_id": "test_doc_id", "session_id": "test_id", "enable_citation": "1", "enable_followup": "1", "smart_temp": "0", "lang":"en", "context": "test_context", "category": "doc_chat", "ctprofile_id": "", "stream": "0", }
请求参数
参数 | 类型 | 必需 | 参数说明 |
---|---|---|---|
query_text | string | 是 | 问题文本,例如:你好。 |
ctdoc_id | string | 否 | 文档 id,多个用英文逗号分隔,如果指定了文档 id 则只从指定的文档中思考,如果不指定则从全部文档中思考。 |
session_id | string | 是 | 会话 id,用于串连多轮聊天的会话 id,相同会话 id 的多次问答才能形成多轮问答。不能超过 64 字节,只允许数字英文和 -_. 字符。 |
enable_citation | string | 否 | 是否返回引文,默认返回。0:否 , 1:是。 |
enable_followup | string | 否 | 是否返回推荐问题,默认返回。0:否 , 1:是。 |
smart_temp | string | 否 | AI 创造性等级,取值是 0-10。0 为最保守等级,10 为最大限度自由发挥等级。 |
lang | string | 否 | 语言,如果没有指定会根据 query_text 自动检测语言。指定只可提高回复语音准确性 可选值有:zh_CN / en_US / ko_KR / ja_JP / th_TH。 |
context | string | 否 | 默认是空。外部传入的上下文, 字符串类型,会被当作一个完整的检索出来的片段,放入给大模型的prompt中的[参考资料]中 |
enable_elaborate | string | 否 | 是否启用详细阐述,默认是启用。0:关闭 , 1:启用。其中这个功能可以让AI适当发挥写出更丰满的文字,但适当发挥也可能导致它产出一些错误答案 |
stream | string | 是 | 是否以流式输出, 默认是非流式,0: 否 ,1: 是。非流式对话必须填0 |
category | string | 否 | 用什么方式聊天 doc_chat:基于知识库聊天(默认值) tpl_chat:创作中心 |
ctprofile_id | string | 否 | 聊天人设选择。 当category为doc_chat时,这个值不用传。在项目设置中设置啥人设,就是啥人设 当category是tpl_chat是,有如下两个选择: – creator:无历史记录的创作者中心专用人设。 – writer:有历史记录的创作中心专用人设(默认值)。 |
不同场景传入的参数不一样,如果想了解不同场景传入参数的详细情况,点击这里。
非流式应答
- Content-Type : application/json
{ "answer_text": "你好,2路汽车在8楼乘坐[[1b58edcbfd9ad65d5e87bf77de721f5e]]", "ref_doc_list": [ { "ctdoc_id": "1b58edcbfd9ad65d5e87bf77de721f5e", "ctai_doc": { "ctdoc_id": "1b58edcbfd9ad65d5e87bf77de721f5e", "doc_type": "doc", "doc_name": "test_name", "doc_url": "test_url", "create_time": "1679886694", "update_time": "1680103463", "doc_file_url": "https://test.com/test.pdf" }, } // ... 其他文档信息对象 ], "follow_up_list": [ { "title": "推荐问题1", } // ... 其他推荐问题 ], "illegal_status": "0", "extend_info": { "ialgo_extend_info": { "return_type": "intervention_return", "doc_score": [ { "doc_id": "", "score": "1.233" }, // 其他文档分值信息 ] } }, }
参数 | 类型 | 参数说明 |
---|---|---|
answer_text | string | 应答文本 引文的文档的 id 会使用 [[xxxxxxx]] 包含起来。这个id可以在字段ref_doc_list中查找到,输出结果到前端时需要处理下引用内容。常见的处理方法包含去掉 [[xxxxxxx]],并在回答末尾加入,也可以替换为一个角标做成URL。 |
ref_doc_list | array | 引文的文档列表 |
ctdoc_id | string | 文档 id |
ctai_doc | object | 文档信息对象 |
doc_type | string | 文档类型,取值如下: doc:文件类型的文档 url:URL 类型的文档 |
doc_url | string | 仅 url 类型的文档有效。URL 类型文档的 url 地址 |
doc_name | string | 仅 doc 类型的文档有效。文档名称 |
doc_file_url | string | 文档下载 url |
create_time | string | 创建时间,整数时间戳,单位是秒 |
update_time | string | 最后修改时间,整数时间戳,单位是秒 |
follow_up_list | array | 推荐问题列表 |
title | string | 标题 |
illegal_status | string | 应答文本的敏感词检查状态,如果包含敏感词 answer_text 会返回空串。0:不包含敏感词 | 1:包含敏感词 |
extend_info | jsonobject | 扩展信息 |
ialgo_extend_info | jsonobject | 算法和模型的扩展信息 |
return_type | string | 回答的阶段标识码 query_empty_return: query为空,且不进行问题推荐 reconmmand_return: 用户自定义打招呼信息 qa_intervention_return: 前置QA做相似度匹配,NLP回复 intervention_return: 前置QA做相似度匹配,NLP回复 qa_return: 大模型回复 doudi_return: 兜底回复 creator: 通过创作中心回复 open_qa_return: 大模型允许越狱回复 plugin: 通过插件回复 |
doc_score | jsonobject | 文档分值信息 |
doc_id | string | 文档 id |
score | string | 文档得分,目前的算法0.8以下算弱相关,0.9以上算强相关。注意数据为string类型,需要转换一下才能使用 |