在知识问答中,如果要上传文档进行实时问答,需要先对接实时文档解析接口。过程如下:
1. 调用DescribeStorageCredential 接口,获取临时密钥。
2. 通过临时密钥,通过COS的PutObject 接口上传到 cos。
3. 调用实时文档解析接口,获取 doc_id。
实时文档解析接口地址:https://wss.lke.cloud.tencent.com/v1/qbot/chat/docParse
请求方式:POST
1. 请求参数
请放到 HTTP Body 中, 以 JSON 的形式发送,具体如下:
名称 | 类型 | 是否必填 | 说明 |
session_id | string(64) | 是 | 会话 ID,用于标识一个会话(外部系统提供,建议不同的用户端会话传入不同的 session_id,否则同一个应用下的不同用户的消息记录会串掉) 注意: 文档解析的 session_id 要与会话的保持一致。如果一次多轮会话涉及多次上传文档,该 session_id 也要保持一致,会话时会校验。 |
bot_app_key | string | 是 | 应用密钥(运营提供) |
request_id | string | 是 | 请求的唯一 ID,建议使用 UUID 保证唯一性。 |
cos_bucket | string | 是 | cos 桶,使用 lke-realtime-1251316161 |
file_type | string | 是 | 文件类型(md|txt|docx|pdf|xlsx)
示例值:md|txt|docx|pdf|xlsx |
file_name | string | 是 | 文件名
示例值:测试.docx |
cos_url | string | 是 | 平台 cos 路径,与 DescribeStorageCredential 接口查询 UploadPath 参数保持一致
示例值:/corp/23432432/233432/doc/zeSOHIBsdawkmlMMXOp-1796022574489010176.docx |
cos_hash | string | 是 | cos_hash x-cos-hash-crc64ecma 头部中的 CRC64 编码进行校验上传到云端的文件和本地文件的一致性 |
e_tag | string | 是 | ETag 全称为 Entity Tag,是对象被创建时标识对象内容的信息标签,可用于检查对象的内容是否发生变化
示例值:"58e88ad7665f11c4f66eba0eada383a5" |
size | string | 是 | uint64 类型转为 string,上传文档的大小 |
1.1 curl 调用示例
curl --location 'https://wss.lke.cloud.tencent.com/v1/qbot/chat/docParse' \\--header 'Content-Type: application/json' \\--data '{"session_id": "<your session_id>","request_id": "<random uuid>","cos_bucket": "lke-realtime-1251316161","file_type": "txt","file_name": "西红柿炒鸡蛋.txt","cos_url": "/corp/1750375931926544384/1750376442139246592/doc/AaCIYEATBTYUQXDfXOTN-1807688648286535680.txt","e_tag": "\\"6886efe263f34c9f9401c2d910b02635\\"","cos_hash": "6138891591882964610","size": "355","bot_app_key": "<your appkey>"}'
1.2 postman 调用示例
2. 响应参数
SSE 流式返回
名称 | 类型 | 说明 |
session_id | string(64) | 会话 ID,同发起请求时的 session_id |
trace_id | string | 返回的唯一 ID |
is_final | bool | 消息是否已输出完成 |
doc_id | string | 文档解析接口返回的 doc_id |
process | int32 | 当前进度,整数,值为100时表示成功结束 |
status | string | 状态:PARSING、SUCCESS、FAILED |
timestamp | int64 | 时间戳,单位:秒 |
error_message | string | 错误信息,出错时返回 |
2.1 返回示例
{"type":"parsing","payload":{"doc_id":"0","error_message":"","is_final":false,"process":0,"session_id":"c7852s9d-aba8-4ee8-9c88-d65f28ddbc47","status":"PARSING","timestamp":1719821535,"trace_id":"1f1e5bfc9a3588d3abc62b9729fc6f62"},"message_id":"1b28b359-203e-4dbc-a103-6d92629cb1e0"}{"type":"parsing","payload":{"doc_id":"0","error_message":"","is_final":false,"process":2,"session_id":"c7852s9d-aba8-4ee8-9c88-d65f28ddbc47","status":"PARSING","timestamp":1719821535,"trace_id":"1f1e5bfc9a3588d3abc62b9729fc6f62"},"message_id":"60c2a29a-7658-4186-90a9-d81c8c0b14b4"}{"type":"parsing","payload":{"doc_id":"0","error_message":"","is_final":false,"process":85,"session_id":"c7852s9d-aba8-4ee8-9c88-d65f28ddbc47","status":"PARSING","timestamp":1719821536,"trace_id":"1f1e5bfc9a3588d3abc62b9729fc6f62"},"message_id":"65ca6da3-8909-42c4-9ea1-4a09be299a7b"}{"type":"parsing","payload":{"doc_id":"1807688654434383264","error_message":"","is_final":true,"process":100,"session_id":"c7852s9d-aba8-4ee8-9c88-d65f28ddbc47","status":"SUCCESS","timestamp":1719821536,"trace_id":"1f1e5bfc9a3588d3abc62b9729fc6f62"},"message_id":"43046854-c596-45f5-9195-3df4f82a67ff"}
3. 实时文档解析 demo:
其他编程语言暂无 Demo,可以参考文档和现有 Demo 自行实现。