星火知识库 API 文档
一、服务介绍
星火知识库是基于讯飞星火大模型的知识库问答方案,能够高效检索文档信息,准确回答专业问题,为大模型补充领域知识,让大模型助你高效了解文档内容。
该接口是通过 API 的方式给开发者提供一个通用的 HTTP 接口,基于该接口,开发者可以获取开放平台的星火文档知识库问答能力,方便开发者快速集成。
开通授权
您可在讯飞开放平台应用控制台 (opens new window)申请开通 API 权限并采购服务量。技术咨询可直接提交工单 (opens new window)。
appId 控制台
您可登录 AppId控制台 (opens new window) 管理已开通的 appId。控制台支持查看和管理 appId 下的文件、知识库、接口用量等信息,便于在 API 调用前完成资源准备,并在调用后排查文件处理状态、知识库数据和用量消耗。
产品体验
基于星火知识库方案 API,我们搭建了企业星火知识库 (opens new window),供您快速体验功能和效果。
接口调用示例
部分开发语言Demo如下,其他开发语言请参照文档进行开发,欢迎大家到讯飞开放平台社区 (opens new window)交流集成经验。
星火知识库 DEMO - Java (opens new window)
星火知识库 DEMO - Python (opens new window)
接口要求
| 内容 | 说明 |
| 传输协议 | https |
| 接口域名 | chatdoc.xfyun.cn |
| 接口鉴权 | 签名机制,详情请参照下方鉴权认证 |
| 字符编码 | UTF-8 |
| 响应格式 | 普通接口统一采用 JSON 格式;问答接口采用 SSE 流式返回 JSON 数据帧 |
| 开发语言 | 任意,只要可以向讯飞云服务发起 HTTP/SSE 请求的均可 |
| 文档格式 | 当前支持 txt、md、doc、docx、pdf、xls、xlsx、csv、jpg、jpeg、png、bmp、ppt、pptx 格式文档 |
| 文档大小 | 不超过 20M |
| 文档长度 | 不超过 100W 字符 |
二、鉴权认证
在调用业务接口时,请求方需要对请求进行签名,服务端通过签名来校验请求的合法性。
鉴权方法
1、设置签名
在 HTTP 请求头 Header 中设置参数:appId, timeStamp, signature。
示例:
- 文档上传接口:在 Http Request Header 中配置以下参数
- 文档问答接口:同样在 HTTP Request Header 中配置
appId、timeStamp、signature
签名参数说明:
| 字段名 | 类型 | 描述 | 必须 |
| appId | String | 应用 ID | Y |
| timeStamp | Long | 时间戳,单位: s,与服务端时间相差五分钟之内 | Y |
| signature | String | 签名 | Y |
2、签名(signature)生成规则
- 首先,用应用 ID(appId)和时间戳(timeStamp)通过 MD5 算法生成随机授权参数 auth
- 再使用授权参数 auth 和接口密钥(secret)基于 HmacSHA1 生产签名 signature
示例:
鉴权结果
如果鉴权失败,则根据不同错误类型返回不同 HTTP Code 状态码,同时携带错误描述信息,详细错误说明如下:
| HTTP Code | 说明 | 错误描述信息 | 解决方法 |
| 401 | 鉴权参数为空 | Invalid Param, Please check header | 检查是否设置鉴权参数 |
| 401 | 签名参数解析失败 | Signature cannot be verified | 检查签名的各个参数是否有缺失是否正确,特别确认下复制的secret是否正确 |
| 401 | 签名校验失败 | Signature required | 签名验证失败,可能原因有很多。 1. 检查 appId、secret 是否正确。 2.检查计算签名的方法是否正确。 3. 检查时间戳是否正确等等 |
| 403 | 时钟偏移校验失败 | Invalid time or time required | 检查服务器时间是否标准,相差 5 分钟以上会报此错误 |
| 405 | 应用无效 | Invalid Signature | 检查该 appId 是否开通授权 |
三、基础功能
3.1、文档上传
接口描述
上传知识库文档数据,目前支持 txt、md、doc、docx、pdf、xls、xlsx、csv、jpg、jpeg、png、bmp、ppt、pptx 格式,单文件大小不超过 20MB,不超过 100W 字符。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoIds | Array | 上传后自动加入的知识库 id 列表 | N | |
| file | MultipartFile | 文件 | N | |
| url | String | 文件 url (文件和文件 url 必须有一个) | N | |
| fileName | String | 文件名称,带后缀。文件用 url 的方式,该字段必传; 传 file 的话,该字段可不传 | N | |
| parseType | String | 文件解析类型,AUTO-服务端智能判断是否需要走 OCR;
TEXT-直接读取文件文本内容;OCR-强制走 OCR;目前 OCR 主要对 pdf、word 有效 | N | AUTO |
| stepByStep | Boolean | 是否分步处理,true代表文件上传之后,服务只做了分片, 这时候还不能去问答。需要业务做分片的确认,然后调用【文档向量化】接口,发起切片向量。待向量完成,即可问答。 | N | false |
| needSummary | Boolean | 是否需要生成文章总结 | N | true |
| callbackUrl | String | 文件状态回调地址,文件状态有变动时服务会调用该 url。 调用的时候会带上鉴权头,鉴权方式同【接口鉴权】,业务可根据需要是否做鉴权校验 | N | |
| extend | String | 文件拆分扩展字段(转为JSONString),也可在分步时,单独调用拆分接口重新发起拆分 | N | |
| extend.wikiSplitExtends | Object | WIKI拆分扩展(目前使用此方式) | N | |
| extend.wikiSplitExtends.chunkSeparators | List | 分段分隔符,支持多分隔符,base64编码 | N | ["DQo="] |
| extend.wikiSplitExtends.chunkSize | Int | 分段最大长度,超过强行切分,默认2000 | N | 2000 |
| extend.wikiSplitExtends.minChunkSize | Int | 分段最小长度,小于这个长度的会聚合,默认256 | N | 256 |
extend说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| wikiSplitExtends | Object | WIKI拆分扩展(目前使用此方式) | N | |
| wikiSplitExtends.chunkSeparators | List | 分段分隔符,支持多分隔符,base64编码 | N | ["DQo="] |
| wikiSplitExtends.chunkSize | Int | 分段最大长度,超过强行切分,默认2000 | N | 2000 |
| wikiSplitExtends.minChunkSize | Int | 分段最小长度,小于这个长度的会聚合,默认256 | N | 256 |
callbackUrl说明
服务端在文件状态有变化的时候,即会调用该回调地址,调用方式为 - GET: callbackUrl?fileId=xxx&fileStatus=xxx,调用的时候会带上业务appId对应的鉴权头,鉴权方式同【接口鉴权】,业务可根据需要是否做鉴权校验。
| 字段名 | 类型 | 描述 |
| fileId | String | 文件id |
| fileStatus | String | 文件状态 |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Object | 返回结果 |
| data.fileId | String | 返回上传的 fileId |
| data.quantity | Int | 当前文件扣除多少页数使用量,PDF/DOC按自然页计算,若每页字数到2000也计算一页 |
| data.parseType | String | 文件解析使用的类型,TEXT/OCR;TEXT代表直接读文本内容,OCR代表走了OCR解析 |
返回参数示例
3.2、文档状态查询
接口描述
查询文件状态,文件从上传到可问答,经历的状态如下(按顺序):uploaded-已上传,texted-已文本化,ocring-对文档OCR识别中,spliting-切分中,splited-文本已切分,vectoring-向量中,vectored-已向量化(该状态时可问答),failed-失败。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileIds | String | 上传的文件id列表,多个文档id用英文逗号分割 | Y | |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Array | 返回结果 |
| data.fileId | String | 文件id |
| data.fileStatus | String | 文件状态uploaded-已上传,texted-已文本化,spliting-切分中,splited-文本已切分, vectoring-向量中,vectored-已向量化,failed-失败 |
返回参数示例
3.3、文档问答
接口描述
对文档/知识库进行问答,使用 HTTP SSE 流式返回。
注:仅文档状态为 vectored 的文件才可以进行问答。
接口地址
请求参数说明
在 HTTP Header 中设置鉴权参数:appId、timeStamp、signature。鉴权生成详情请参照上方鉴权认证。
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoIds | Array | 知识库 id 列表;repoIds、fileIds 必传其一 | N | |
| fileIds | Array | 文件 id 列表;repoIds、fileIds 必传其一 | N | |
| topN | Int | 重排后参与回答的文本段数量 | N | 6 |
| llm | String | 指定大模型版本,不传则使用服务端默认模型 | N | |
| thinkingOutput | Boolean | 是否输出深度思考内容,仅对支持混合思考的模型生效 | N | false |
| messages | Array | 问答内容列表,按时间正序,最后一条为最新提问 | Y | |
| messages.role | String | user 表示是用户的问题,assistant 表示 AI 的回复 | Y | |
| messages.content | String | 用户和 AI 的对话内容 | Y | |
| chatExtends | Object | 大模型对话自定义扩展字段 | N | |
| chatExtends.retrievalFilterPolicy | String | 检索过滤级别:STRICT-严格;REGULAR-正常;LENIENT-宽松;OFF-关闭。越严格,被过滤掉的文本片段越多 | N | REGULAR |
| chatExtends.wikiPromptTpl | String | wiki 大模型问答要求模板 | N | 根据知识库内容回答用户的问题 |
| chatExtends.temperature | Float | 大模型问答时的温度,取值范围 (0,1] ,temperature 越大,大模型回答随机度越高 | N | |
| chatExtends.outputType | String | 输出类型:plain-文本输出;multi-图文输出 | N | plain |
请求参数示例
返回参数说明
SSE 每个数据帧都是一个 JSON 对象。status=0 为首帧,status=1 为回答中间帧,status=2 为回答结束帧,status=99 为引用信息帧。
| 参数名 | 类型 | 描述 |
| code | Int | 错误码 ,0 标识成功 |
| message | String | 会话错误描述信息 |
| content | String | 回答内容 |
| reasoning_content | String | 深度思考内容,开启 thinkingOutput 且模型支持时返回 |
| sid | String | 会话唯一标识 |
| status | Int | 会话状态,取值为[0,1,2,99];0 代表首次结果;1 代表中间结果;2 代表最后一个结果;99 代表引用的文档及文段 |
| fileRefer | String | 文档引用,status=99 的时候返回;结构是个 Map,key=文件 id,value=引用的文段列表(对应 fileTrunks 的 index) |
| qaRefer | Object | QA 引用,chatExtends.qaRefer=true 时可能返回 |
| qapairRefer | Object | QA 对引用 |
| fileImages | Object | 图文模式下的文件图片引用,chatExtends.outputType=multi 时可能返回 |
| webSearchRefer | Array | 联网搜索引用,启用 openWebSearch 且命中联网结果时可能返回 |
若未检索到相关文档内容,接口会返回结束帧并在 message 中提示未找到相关内容。可将 chatExtends.retrievalFilterPolicy 调整为 LENIENT 或 OFF 降低过滤强度,也可开启 spark 或 openWebSearch 做兜底回答。
返回参数实例
四、高级功能-文档萃取
4.1、提交萃取任务
接口描述
针对单个文档提交萃取任务。
注:只有vectored 状态的文档才可以提交萃取任务。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileId | String | 文件id | Y | |
| chunkSize | Int | 分片长度,根据这个长度将文件内容分块,然后根据每个分块抽取问题答案 | Y | |
| numPerChunk | Int | 每个分片问题数(通过改该值限制抽取问题数,非100%准确) | Y | |
| answerSize | Int | 答案长度(通过改该值限制答案长度,非100%准确) | N | |
| topicPreference | Array | 主题偏好 | N | |
| includeAnswer | bool | 是否包含答案,false的话仅有问题 | N | true |
| notifyUrl | String | 回调地址 | N | |
请求参数示例
响应参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| code | Int | 错误码,成功=0 | Y | 0 |
| sid | String | 请求唯一id,用于问题定位 | Y | |
| desc | String | 结果描述 | Y | |
| data | String | 当前萃取任务的任务id,后续可根据该任务id获取萃取内容 | Y | |
响应参数示例
4.2、文件萃取状态查询
接口描述
根据文件id,查询文件的萃取状态。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileId | String | 文件Id | N | |
响应参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| code | Int | 错误码,成功=0 | Y | 0 |
| sid | String | 请求唯一id,用于问题定位 | Y | |
| desc | String | 结果描述 | Y | |
| data | String | 文件萃取状态,UNSTARTED-未开始、EXTRACTING-萃取中、EXTRACTED-萃取完成、FAILED-萃取失败 | Y | |
响应参数示例
4.3、获取萃取结果
接口描述
根据萃取任务id或者文件id,获取萃取结果。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| taskId | String | 任务Id,与fileId必须传一个 | N | |
| fileId | String | 文件Id | N | |
响应参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| code | Int | 错误码,成功=0 | Y | 0 |
| sid | String | 请求唯一id,用于问题定位 | Y | |
| desc | String | 结果描述 | Y | |
| data | array | 返回结果 | Y | |
| data.id | String | | Y | |
| data.question | String | 问题 | Y | |
| data.answer | String | 答案 | Y | |
| data.chunkIndexReferences | String | 问题引用分片索引列表 | Y | |
| data.answerChunkIndexReferences | String | 答案引用分片索引列表 | Y | |
响应参数示例
4.4、QA对应用
接口描述
将问题和答案作为QA对应用至文件或者知识库。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileId | String | 文件id | Y | |
| repoId | String | 知识库id | Y | |
| question | String | 问题 | Y | |
| answer | String | 答案 | Y | |
| embType | String | 向量类型,Q-仅仅问题做向量、QA-问题和内容一起做向量 | N | QA |
请求参数示例
响应参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| code | Int | 错误码,成功=0 | Y | 0 |
| sid | String | 请求唯一id,用于问题定位 | Y | |
| desc | String | 结果描述 | Y | |
| data | String | 当前QA对的id,后续更新删除需要用 | Y | |
响应参数示例
4.5、QA对更新
接口描述
根据QA对id更新QA对。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| id | String | QA对id | Y | |
| fileId | String | 文件id | Y | |
| repoId | String | 知识库id | Y | |
| question | String | 问题 | Y | |
| answer | String | 答案 | Y | |
| embType | String | 向量类型,Q-仅仅问题做向量、QA-问题和内容一起做向量 | N | QA |
请求参数示例
响应参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| code | Int | 错误码,成功=0 | Y | 0 |
| sid | String | 请求唯一id,用于问题定位 | Y | |
| desc | String | 结果描述 | Y | |
响应参数示例
4.6、QA对删除
接口描述
删除采用的QA对。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| ids | String | 需要删除的文件id,多个用英文逗号拼接,xxx,aaa,bbb | Y | |
响应参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| code | Int | 错误码,成功=0 | Y | 0 |
| sid | String | 请求唯一id,用于问题定位 | Y | |
| desc | String | 结果描述 | Y | |
响应参数示例
4.7、QA对查询
接口描述
查询文件或者知识库添加的问答对。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileId | String | 文件id,和知识库id必传一个 | N | |
| repoId | String | 知识库id | N | |
| currentPage | Int | 当前第几页 | N | 1 |
| pageSize | Int | 每页几条 | N | 10 |
请求参数示例
响应参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| code | Int | 错误码,成功=0 | Y | 0 |
| sid | String | 请求唯一id,用于问题定位 | Y | |
| desc | String | 结果描述 | Y | |
| data | Object | 分页数据 | Y | |
| data.total | String | 总数 | Y | |
| data.rows | Array | 查询列表 | Y | |
| data.rows.id | String | QA对id | Y | |
| data.rows.question | String | 问题 | Y | |
| data.rows.answer | String | 答案 | Y | |
| data.rows.embType | String | 向量类型,Q-仅仅问题做向量、QA-问题和内容一起做向量 | Y | |
响应参数示例
五、高级功能-文档处理
5.1、发起文档总结
接口描述
针对单个文档发起内容总结/概要。
注:只有 splited、vectoring、vectored 状态的文档才可以发起总结。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileId | String | 文件 ID | Y | |
返回参数示例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Object | 返回结果 |
5.2、获取文档总结信息
接口描述
查询文档总结/概要信息
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileId | String | 文件 ID | Y | |
返回参数示例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Object | 返回结果 |
| data.summaryStatus | String | 文件总结状态,unsummary-未总结 summarying-总结中, done-总结完成,illegal-内容敏感,failed-总结失败 |
| data.summary | String | 总结内容 |
5.3、文档切分
接口描述
根据切分符对文档进行切分,上传文件之后会做一次切分,若切分效果不满意可调用此方法重新切分。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileIds | Array | 文件列表 | Y | |
| isSplitDefault | Boolean | 是否用默认切分策略,如果需要自定义切分符,该值需要设置为false | N | true |
| parseType | String | 解析类型,可选值:AUTO、TEXT、OCR | N | TEXT |
| summaryMode | String | 总结模式,可选值:MAX、SMART | N | MAX |
| stepByStep | Boolean | 是否分步处理 | N | true |
| wikiSplitExtends | Object | WIKI拆分扩展 | N | |
| wikiSplitExtends.chunkSeparators | Array | 分段分隔符,支持多分隔符,base64编码 | N | ["DQo="] |
| wikiSplitExtends.chunkSize | Int | 分段最大长度,超过强行切分 | N | 2000 |
| wikiSplitExtends.minChunkSize | Int | 分段最小长度,小于该值的分段会向下段聚合,直至达到该值 | N | 200 |
请求参数示例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Object | 返回结果 |
返回参数示例
5.4、文档向量化
接口描述
对文档切分的文本块进行向量化操作(embedding),对于文件状态处于splited的文件,可以调用该方法进行向量处理。只有向量化之后的文件才可以发起问答。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileIds | String | 上传的文件id列表,多个文档id用英文逗号分割 | Y | |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Object | 返回结果 |
返回参数示例
5.5、文档内容相似度检测
接口描述
根据输入的文本,检索拆分后的相关原始文本块。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoIds | Array | 知识库 id 列表 | N | |
| fileIds | Array | 文件id列表,不传,查app下所有文件 | N | |
| topN | Int | 向量库查询数量 | N | 5 |
| esTopN | Int | 全文检索查询数量 | N | 5 |
| content | String | 用户的问题 | Y | |
| es | Boolean | 是否启用全文检索 | N | false |
| embedding | Boolean | 是否启用向量检索 | N | true |
| reRank | Boolean | 是否对检索结果重排 | N | false |
| chatExtends | Object | 自定义扩展字段 | N | |
| chatExtends.retrievalFilterPolicy | String | 检索过滤级别:STRICT、REGULAR、LENIENT、OFF | N | REGULAR |
| chatExtends.dataType | String | 数据类型:wiki、qapair;不传表示查询所有类型 | N | |
请求参数示例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Array | 返回结果 |
| data.content | String | wiki的文本分片内容 |
| data.score | Float | 查询结果分数 |
| data.fileId | String | 文件id,代表属于该文件的文段 |
| data.index | Int | 文本分片索引 |
| data.type | String | 检索类型,vector-向量检索 |
| data.fileType | String | 文件类型,wiki、qa |
返回参数示例
5.6、文档分块内容获取
接口描述
获取文件分块内容
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileId | String | 上传的文件id | Y | |
| needContent | Boolean | 是否返回分块正文内容 | N | true |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Array | 返回结果 |
| data.dataType | String | 文件类型 wiki |
| data.dataIndex | Int | 分块索引 |
| data.content | String | wiki分块内容 |
返回参数示例
5.7、文档详情
接口描述
查询文件详情。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileId | String | 上传的文件id | Y | |
| needContent | Boolean | 是否返回合并后的文件内容与字数 | N | false |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | String | 返回结果 |
| data.fileId | String | 文件id |
| data.fileName | String | 文件名称 |
| data.fileType | String | 文件类型wiki |
| data.fileStatus | String | 文件状态 |
| data.extName | String | 文件后缀 |
| data.quantity | Int | 文件计量数 |
| data.expirationStatus | String | 文件过期状态 active-正常 ,expired-已过期 |
| data.createTime | String | 文件创建时间 |
| data.expireTime | Date | 文件过期时间,pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8" |
返回参数示例
5.8、文档列表
接口描述
查询appId下的文件列表
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileName | String | 文件名称,模糊查询 | N | |
| extName | String | 文件后缀 | N | |
| fileStatus | String | 文件状态 | N | |
| currentPage | Int | 查询第几页 | N | 1 |
| pageSize | Int | 每页多少文件 | N | 20 |
请求参数示例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Array | 返回结果 |
| data.fileId | String | 文件id |
| data.fileName | String | 文件名称 |
| data.fileType | String | 文件类型wiki、qa |
| data.fileStatus | String | 文件状态 |
| data.extName | String | 文件后缀 |
| data.quantity | Int | 文件计量数 |
| data.expirationStatus | String | 文件过期状态 active-正常 ,expired-已过期 |
| data.createTime | String | 文件创建时间 |
| data.expireTime | Date | 文件过期时间,pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8" |
返回参数示例
5.9、文档删除
接口描述
删除文档,该操作会删除文件向量等相关信息。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| fileIds | String | 上传的文件id列表,多个文档id用英文逗号分割 | Y | |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
返回参数示例
六、高级功能-知识库
6.1、知识库创建
接口描述
创建一个新的知识库。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoName | String | 知识库名称,唯一 | Y | |
| repoDesc | String | 知识库简介 | N | |
| repoTags | String | 知识库标签 | N | |
请求参数实例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | String | 知识库id,后续知识库操作使用 |
返回参数示例
6.2、知识库添加文件
接口描述
向知识库中添加文件,每次操作最多可添加20个文件进知识库,文件较多时,需要分多次添加。且同一个文件最多可存在于10个不同知识库。
注:仅文档状态为vectored的文件才可以进行问答
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoId | String | 知识库id | Y | |
| fileIds | Array | 文件id列表,最大20 | Y | |
请求参数实例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Object | 返回结果 |
| data.failedList | Array | 失败文件id列表 |
返回参数示例
6.3、知识库移除文件
接口描述
从知识库中移除文件,一次最多操作20个文件。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoId | String | 知识库id | Y | |
| fileIds | Array | 文件id列表,最大20 | Y | |
请求参数实例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Object | 返回结果 |
| data.failedList | Array | 失败文件id列表 |
返回参数示例
6.4、知识库列表
接口描述
查询appid下知识库列表
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoName | String | 知识库名称,模糊查询 | N | |
| currentPage | Int | 查询第几页 | N | 1 |
| pageSize | Int | 每页多少文件 | N | 10 |
请求参数示例
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | List | 知识库列表 |
| data.repoId | String | 知识库id |
| data.repoName | String | 知识库名称 |
| data.repoDesc | String | 知识库简介 |
| data.repoTags | String | 知识库tag |
| data.createTime | String | 创建时间,pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8" |
返回参数示例
6.5、知识库详情
接口描述
查询知识库详情
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoId | String | 知识库id | Y | |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Object | 返回结果 |
| data.repoId | String | 知识库id |
| data.repoName | String | 知识库名称 |
| data.repoDesc | String | 知识库简介 |
| data.repoTags | String | 知识库tag |
| data.createTime | String | 创建时间,pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8" |
返回参数示例
6.6、知识库文件列表
接口描述
查询知识库下所有文件
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoId | String | 知识库id | Y | |
| fileName | String | 文件名称,模糊查询 | N | |
| extName | String | 文件后缀 | N | |
| currentPage | Int | 查询第几页 | N | 1 |
| pageSize | Int | 每页多少文件 | N | 20 |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
| data | Array | 返回结果 |
| data.fileId | String | 文件id |
| data.fileName | String | 文件名称 |
| data.fileType | String | 文件类型wiki、qa |
| data.fileStatus | String | 文件状态 |
| data.extName | String | 文件后缀 |
| data.quantity | Int | 文件计量数 |
| data.expirationStatus | String | 文件过期状态 active-正常 expired-已过期 |
| data.createTime | String | 文件创建时间 |
| data.expireTime | Date | 文件过期时间,pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8" |
6.7、知识库删除
接口描述
删除知识库,仅移除知识库和文件的关联关系,不删除文件本身。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoId | String | 知识库id | Y | |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
返回参数示例
6.8、知识库及文件删除
接口描述
删除知识库,并同时删除该知识库包含的文件及其向量等相关数据。
接口地址
请求参数说明
| 字段名 | 类型 | 描述 | 必须 | 默认值 |
| repoId | String | 知识库id | Y | |
返回参数说明
| 字段名 | 类型 | 描述 |
| code | Int | 错误码,成功=0 |
| sid | String | 请求唯一 id,用于问题定位 |
| desc | String | 结果描述 |
返回参数示例
七、错误码
| 错误码 | 描述 | 处理方式 |
| 10019 | 问答的问题或引用文段可能涉政 | 检查问题或文件内容 |
| 10013 | 问答的问题或引用文段有敏感违规信息 | 检查问题或文件内容 |
| 10014 | 问答的输出有敏感违规信息 | 尝试换个问法 |
| 60001 | 文件类型不对 | 检查文件 |
| 60002 | 文件大小超限 | 检查文件 |
| 60003 | 文件上传失败 | 排查 |
| 60005 | 无文件权限 | 检查入参 |
| 60011 | 文件字数超限 | 检查文件 |
| 60012 | 文件无有校字符 | 检查文件 |
| 60014 | 问答的时候未传入文件 id | 检查入参 |
| 62001 | 问答的时候,未找到相关文本段 | 检查提问问题 |
| 68003 | 操作太过频繁 | 自查 |
| 99999 | 内部错误 | 排查 |
八、常见问题
文档知识库的主要功能是什么?
答:让大模型根据文档内容回答问题,更可创建知识库聚合多文档,一次提问遍历领域知识;文档太多难以通读,快用文档总结,自动总结文档概要,快速了解文档内容等。
文档知识库现在支持哪些格式的文档?
答:目前支持 Word、PDF、Markdown、txt 格式的文档。
文档知识库支持什么应用平台?
答:目前支持 WebAPI 应用平台。