应用发布后的会话接口
POST /studio/rag/chat/v1/release:chat
请求头(Request Header)
Authorization 可以使用如下两种Header
- 动态生成 Authorization Header, 参考认证(authentication)
-H "X-Date: $xdate" \
-H "Authorization: $auth"
- 直接提供完整的 Authorization Header,可以通过浏览器的开发者工具DevTools查看并复制接口调用的完整信息
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6InB...'
请求体(Request Body)
| 名称 | 类型 | 必须 | 描述 |
|---|---|---|---|
| action | integer($enum) | 是 | 聊天的操作类型. |
| content | string | 是 | 用户输入的内容. |
| conversation_id | string | 否 | 聊天的对话ID. |
| release_key | string | 是 | 发布应用的密钥. |
| stream | boolean | 否 | 控制是否是流式输出,默认false表示非流式输出,true表示流式输出. |
其中,action的枚举值如下
| 枚举值 | 数值 | 含义 |
|---|---|---|
| CHAT_ACTION_UNSPECIFIED | 0 | 未指定 |
| CHAT_ACTION_NEXT | 1 | 如常进行下一轮对话 |
| CHAT_ACTION_REGENERATION | 2 | 重新生成上一轮对话的新响应 |
请求示例(Request Example)
curl 'https://rag.cn-sh-01.sensecoreapi.cn/studio/rag/chat/v1/release:chat' \
-H 'Accept: text/event-stream' \
-H "X-Date: $xdate" \
-H "Authorization: $auth" \
-X POST \
--data-raw '{
"content":"法定结婚年龄",
"action":1,
"conversation_id":"",
"release_key":"mR2SjhfMREC2mibt2_bD"
}'
响应(Response)
| 名称 | 类型 | 描述 |
|---|---|---|
| conversation_id | string | 对话ID. |
| seq | int32 | 对话中的序列号. |
| message | string | 非流式请求生成的响应内容. |
| delta | string | 流式请求生成的响应内容. |
| finish_reason | integer($enum) | 停止生成的原因. |
| knowledge_base_results | array[object] | 知识检索的中间结果. |
| history_id | string | 聊天历史ID. |
| prompt_questions | array[string] | 用户下一个问题的提示. |
其中,finish_reason有如下情况
| 枚举值 | 数值 | 含义 |
|---|---|---|
| FINISH_REASON_UNSPECIFIED | 0 | 未指定 |
| FINISH_REASON_STOP | 1 | 因为到达终止标记而停止生成 |
| FINISH_REASON_LENGTH | 2 | 因为达到最大长度而停止生成 |
| FINISH_REASON_SENSITIVE | 3 | 因为触发敏感词而停止生成 |
| FINISH_REASON_CONTEXT | 4 | 因为达到模型上下文长度限制而停止 |
其中,knowledge_base_results的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| page_content | string | 页面内容. |
| document | object | 相关知识文档. |
| confidence | float | 结果置信度. |
| token_count | int64 | 内容的token数量. |
| segment_number | int32 | 段落数量. |
| words | int32 | 段落的字数. |
| type | integer($enum) | 段落类型. |
| display_type | integer($enum) | 显示类型. |
| table_content | string | 表格内容. |
| image_uri | string | 图片URI. |
| image_key | string | 图片键. |
| image_keys | array[string] | 图片键集合. |
| display_content | string | 显示内容. |
其中,knowledge_base_results.document的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| document_id | string | 知识文档的ID. |
| display_name | string | 知识文档的名称. |
| type | integer($enum) | 知识文档的类型. |
| document_size | int64 | 知识文档的大小. |
| token_count | int64 | 知识文档的令牌计数. |
| segment_count | int64 | 知识文档的段落计数. |
| dataset_id | string | 知识文档所属知识库的ID. |
| dataset_display | string | 知识文档所属知识库的显示名称. |
| p_id | string | 父知识文档的ID. |
| data_source_type | integer($enum) | 知识文档的数据源类型. |
| creator | string | 知识文档的创建者. |
| create_time | string($date-time) | 知识文档的创建时间. |
| update_time | string($date-time) | 知识文档的更新时间. |
| segments | array[object] | 知识文档的段落详细信息列表. |
| uri | string | 知识文档在OSS中的预签名URI. |
其中,document.type有如下情况
| 枚举值 | 数值 | 含义 |
|---|---|---|
| DOCUMENT_TYPE_UNSPECIFIED | 0 | 未指定 |
| WEBPAGE | 1 | 网页 |
| FOLDER | 2 | 文件夹 |
| TXT | 3 | 文本文件 |
| 4 | PDF文件 | |
| HTML | 5 | HTML文件 |
| XLSX | 6 | XLSX文件 |
| XLS | 7 | XLS文件 |
| DOCX | 8 | DOCX文件 |
| CSV | 9 | CSV文件 |
| PPTX | 10 | PPTX文件 |
| PPT | 11 | PPT文件,暂不支持 |
| XML | 12 | XML文件 |
| MARKDOWN | 13 | Markdown文件 |
| MD | 14 | MD文件 |
| JSON | 15 | Json文件 |
其中,document.data_source_type有如下情况
| 枚举值 | 数值 | 含义 |
|---|---|---|
| DATA_SOURCE_TYPE_UNSPECIFIED | 0 | 开始,默认 |
| LOCAL_FILE | 1 | 本地知识 |
| WEB | 2 | 网络知识 |
| NOTION | 3 | Notion知识 |
其中,document.segments的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| segment_id | string | 段ID. |
| dataset_id | string | 知识库ID |
| document_id | string | 文档ID |
| content | string | 段落内容 |
| token_count | int32 | 词元数量 |
| number | int32 | 段落编号 |
| metadata | object | 元数据 |
| words | int32 | 单词数量 |
| segment_type | integer($enum) | 段落类型 |
| table_content | string | 表格内容 |
| image_key | string | 图片键值 |
| image_uri | string | 图片URI |
| display_type | integer($enum) | 显示类型 |
| image_keys | array[string] | 图片键值列表 |
| display_content | string | 展示内容 |
其中,segments.metadata的参数如下
| 名称 | 类型 | 描述 |
|---|---|---|
| key_words | array[string] | 关键词 |
| image_name_value | string | 图片名称 |
| image_size | int32 | 图片大小 |
| table_name_value | string | 表格名称 |
| table_rows | int32 | 表格行数 |
| table_columns | array[string] | 表格列 |
| score | float | 分数 |
其中,knowledge_base_results.type和segments.segment_type有如下情况
| 枚举值 | 数值 | 含义 |
|---|---|---|
| SEGMENT_TYPE_UNSPECIFIED | 0 | 未指定状态 |
| SEGMENT_TYPE_TEXT | 1 | 文字 |
| SEGMENT_TYPE_IMAGE | 2 | 图片 |
| SEGMENT_TYPE_TABLE | 3 | 表格 |
| SEGMENT_TYPE_WEB_IMAGE | 4 | 网页图片 |
其中,knowledge_base_results.display_type和segments.display_type有如下情况
| 枚举值 | 数值 | 含义 |
|---|---|---|
| DISPLAY_TYPE_UNSPECIFIED | 0 | 未指定状态 |
| DISPLAY_TYPE_TEXT | 1 | 文字 |
| DISPLAY_TYPE_MARKDOWN | 2 | Markdown |
响应示例(Response Example)
{"result":{"conversation_id":"","seq":0,"message":"","delta":" ","finish_reason":0,"knowledge_base_results":[],"history_id":"","prompt_questions":[]}},
{"result":{"conversation_id":"3ba7b7ef-ff9d-4d9d-b7ad-4079107f7f3f","seq":1,"message":"","delta":"","finish_reason":1,"knowledge_base_results":[],"history_id":"32f3d69e-f82a-4907-9e9c-9200860b2923","prompt_questions":[" 关联问题:\n1. 在哪些国家或地区,男性和女性的法定结婚年龄不同?\n2. 有没有国家或地区允许未成年人在特定条件下合法结婚?\n3. 历史上,法定结婚年龄的变化趋势是怎样的?"]}}