# 超拟人交互支持RAG
该接口仅针对需要在超拟人交互链路中上传自己的个性化知识库场景
该接口提供:知识库创建、文档上传、删除知识库(文档)、绑定(解绑)知识库和应用等5个方法
# 一、接口说明
| 类型 | 描述 |
|---|---|
| 传输方式 | HTTPS |
| 接口地址 | https://域名/** |
| 接口实例环境 | 现有测试环境、灰度环境、生产环境-表下方说明 |
| 调用方式 | 同步调用,等待返回结果 |
| 字符编码 | UTF-8 |
| 请求格式、响应格式 | application/json |
| 请求类型 | GET、POST、DELETE、PUT |
| 请求地址 | https://sparkcons-rag.cn-huabei-1.xf-yun.com/aiuiKnowledge/aiuiKnowledge/* |
# 二、接口鉴权
# 鉴权配置
请到控制台 (opens new window) 对应版本页面,获取http服务接口认证信息中的APIPassword ,假如获取到的值为123456,则请求头如下:
https://sparkcons-rag.cn-huabei-1.xf-yun.com/aiuiKnowledge/aiuiKnowledge/***
--header 'Authorization: Bearer 123456' #注意此处把“123456”替换为自己的APIPassword
注: 请求下列接口都需要鉴权
# 三、接口定义
# ⭐用户知识库创建(使用默认spark-1024向量库)
- 接口URL:https://sparkcons-rag.cn-huabei-1.xf-yun.com/aiuiKnowledge/rag/api/repo/create
- 请求方式:POST
- Content-Type:application/json
# 请求Body参数
| 字段 | 含义 | 类型 | 必需 | 默认 |
|---|---|---|---|---|
| 1 | uid | 用户ID | long | 是 |
| 2 | name | 知识库名称 | string | 是 |
| 3 | description | 知识库描述 | string | 是 |
| 4 | sid | 请求sid | string | 是 |
| 5 | channel | 来源渠道平台 | string | 是 |
请求示例:
{
"uid": 10000000003,
"name": "sparkOS测试库",
"description": "描述",
"sid": "12213313131"
}
# 响应参数
| 字段 | 含义 | 类型 | 必需 | 默认 |
|---|---|---|---|---|
| 1 | data | 返回数据 | object | 是 |
| id | 知识库平台ID | long | 是 | |
| uid | 用户ID | long | 是 | |
| name | 知识库名称 | string | 是 | |
| description | 知识库描述 | string | 是 | |
| groupId | 知识库分组ID-知识库唯一 | string | 是 | |
| repoType | 建库类型 | int | 是 | |
| 2 | sid | 请求sid | string | 是 |
响应示例(成功(200)):
{
"code": "0",
"flag": true,
"data": {
"id": 7,
"description": "",
"fromSource": "rag",
"groupId": "group_78cdcf66e9ef7873f1ec053d",
"labels": "",
"name": "sparkOS测试库",
"repoConfig": "{\"chunkSize\":1024,\"parseSplitModel\":
{\"id\":46,\"modelInfo\":\"
{\\\"layout\\\":\\\"true\\\",\\\"parseType\\\":1}\"},\"vectorModel\":
{\"id\":1,\"modelInfo\":\"
{\\\"name\\\":\\\"Turing_EN\\\",\\\"domain\\\":\\\"turing_en\\\",\\\"defaultDim
\\\":11}\"},\"dimModel\":{\"id\":11,\"modelInfo\":\"
{\\\"name\\\":\\\"1024\\\",\\\"chunkSize\\\":
[16,1024],\\\"defaultChunk\\\":\\\"1024\\\",\\\"version\\\":\\\"1.0.0\\\"}\"},\
"strategyModel\":{\"id\":-1}}",
"repoType": 1,
"status": 1,
"uid": 10000000003,
"createTime": "2025-05-20 09:36:20",
"updateTime": "2025-05-20 09:36:20"
},
"desc": "操作成功"
}
# ⭐知识库追加文件上传(内置解析拆分参数并自动构建)
- 接口URL:https://sparkcons-rag.cn-huabei-1.xf-yun.com/aiuiKnowledge/rag/api/doc/saveRepoDoc
- 请求方式:POST
- Content-Type:multipart/form-data
# 请求RequestParam参数
| 字段 | 含义 | 类型 | 必需 | 描述 |
|---|---|---|---|---|
| sid | 请求sid | string | 否 | 可自行上传不重复的会话id,为空时服务会返回 |
| uid | 用户ID | long | 是 | |
| groupId | 用户知识库分组ID | string | 是 | |
| file | 文件流 | jsonarray | 否 | 当前支持文档类型:txt、pdf、doc 注: txt大小不超过10M; pdf、doc大小不超过100M |
| labels | 文件标签 | string | 否 | |
| fileListStr | 自上传组件的文件信息(通过对象存储地址模式上传) | string | 否 | 与文件流方式二选一即可,包含fileName、filePath、fileSize |
| fileName | 文件名称 | string | ||
| filePath | 文件路径 | string | ||
| fileSize | 文件大小(字节) | string | ||
| parseConfig | string | 否 | ||
| chunkType | 按标题/分隔符拆分 | string | 是 | tile/se |
| separator | 分隔符数据 | string | 否 | 自定义分隔符模式 |
| cutLevel | 标题拆分等级 | string | 否 | |
| lengthRange | 拆分chunk长度区间 | string | 是 | |
| cutOff | 强行截断符 | string | 否 |
响应示例(成功(200)):
{
"code": "0",
"flag": true,
"data": [{
"buildStatus": 0,
"createTime": "2025-06-03 09:24:34",
"docName": "TXT-Template.txt",
"docType": "txt",
"docId": "cecca32dafa649ec91587e0123d1f3ad",
"extractStatus": 0,
"filePath": "https://oss-beijing-m8.openstorage.cn/knowledge-
origin-test/knowledge/file/1000002321/508/55e66251/20250603092430/TXT-
Template.txt",
"fileSize": 2550,
"id": 3452,
"parseType": 1,
"repoId": 508,
"status": 0,
"uid": 1000002321,
"upType": 1,
"updateTime": "2025-06-03 09:24:34"
}],
"desc": "操作成功"
}
# ⭐删除用户知识库或某个文件
- 接口URL:https://sparkcons-rag.cn-huabei-1.xf-yun.com/aiuiKnowledge/rag/api/repo/file/delete?uid=10001&repoId=12&docId=42
- 请求方式:DELETE
- Content-Type:application/json
# 请求Query参数
| 字段 | 含义 | 类型 | 必需 |
|---|---|---|---|
| uid | 用户ID | long | 是 |
| groupld | 用户知识库分组ID | string | 是 |
| docld | 文档ID | string | 是 |
| sid | 请求sid | string | 是 |
- 认证方式:统一认证鉴权
响应示例(成功(200)):
{"code":"0","flag":true,"desc":"操作成功"}
# ⭐查询应用已绑定知识库列表及全量知识库列表
- 接口URL:https://sparkcons-rag.cn-huabei-1.xf-yun.com/aiuiKnowledge/rag/api/app/getRepoConfig
- 请求方式:GET
- Content-Type:application/json
# 请求Query参数
| 字段 | 含义 | 类型 | 必需 | 默认 |
|---|---|---|---|---|
| uid | 用户ID | long | 是 | |
| appld | 应用ID | string | 是 | |
| sceneName | 场景名称 | string | 是 | |
| sid | 请求sid | string | 否 | |
| channel | 平台来源-用于数据隔离 | string | 否 |
- 认证方式:统一认证鉴权
# 响应参数
| 字段 | 含义 | 类型 | 必需 | 默认 |
|---|---|---|---|---|
| data | object | 是 | ||
| repos | jsonarray | 是 | ||
| id | 知识库平台ID | long | 是 | |
| uid | 用户ID | long | 是 | |
| name | 知识库名称 | string | 是 | |
| description | 知识库描述 | string | 否 | |
| repold | 知识库物理库ID | string | 是 | |
| groupld | 知识库分组ID | string | 是 | |
| repoType | 建库类型 | int | 是 | |
| selected | 是否已绑定 | boolean | 是 | |
| sid | 请求sid | string | 否 |
响应示例(成功(200)):
{
"code": "0",
"flag": true,
"data": {
"repos": [{
"repoId": "insight_spark_201024_ki9u8",
"groupId": "group_09a1d9090ebe15f0e91fcd2d",
"description": "系统初始库",
"updateTime": "2024-12-18 16:19:54",
"capacity": 0,
"labels": "",
"uid": 1627,
"isDeleted": 0,
"createTime": "2024-12-16 11:51:34",
"isTop": 0,
"name": "系统初始库",
"id": 15,
"selected": true,
"fromSource": "xfyun",
"status": 1
},
{
"repoId": "insight_spark_201024_8ev8f",
"groupId": "group_c8f8293caeaebfe177bcd566",
"description": "",
"updateTime": "2025-03-24 14:08:32",
"capacity": 0,
"uid": 1627,
"isDeleted": 0,
"createTime": "2025-03-12 14:18:07",
"isTop": 0,
"name": "zjm的测试库",
"id": 96,
"fromSource": "aiCloud",
"configId": 2,
"threshold": "0.1",
"status": 1
}
]
},
"desc": "操作成功"
}
# ⭐用户应用关联绑定知识库
- 接口URL:https://sparkcons-rag.cn-huabei-1.xf-yun.com/aiuiKnowledge/rag/api/app/saveRepoConfig
- 请求方式:POST
- Content-Type:application/json
# 请求Body参数
| 字段 | 含义 | 类型 | 必需 | 默认 |
|---|---|---|---|---|
| uid | 用户ID | long | 是 | |
| appld | 应用ID | string | 是 | |
| sceneName | 场景名称 | string | 是 | |
| repos | jsonarray | 是 | ||
| groupld | 分组ID | string | 是 | |
| repoName | 知识库名称 | string | 是 | |
| threshold | 阈值 | string | 是 | |
| sid | 请求sid | string | 是 |
请求示例:
{
"uid": 1000002321,
"appId": "6644cafb",
"sceneName": "rag-box",
"repos": [
{
"repoId": "insight_spark_201024_8ev8f",
"repoName": "sparkOS测试库1",
"groupId": "group_fbbe4dc4095e5ba04e61a46d"
}
],
"sid": "12234"
}
- 认证方式:继承父级
响应示例(成功(200)):
{
"code": "0",
"flag": true,
"data": {
},
"desc": "操作成功"
}
# 四、示例代码
知识库管理Python Demo (opens new window)
知识库管理Java Demo (opens new window)
# 五、返回码
| 状态码 | 含义 | 备注 |
|---|---|---|
| 0 | 操作成功 | |
| 401 | 鉴权错误 | |
| 307001 | 数据不存在 | API服务、文档无数据 |
| 307002 | 请求参数异常 | 请求参数非法 |
| 303003 | 请求格式错误 | |
| 307004 | 文件错误 | 文件大小、文件类型不合规 |
| 307005 | 业务错误 | |
| 307006 | 系统数据异常 | 解析构建报错等 |
| 307008 | 下游业务接口异常 | |
| 307009 | 系统内部错误 | |
| 307010 | 接口请求频繁 | 并发请求、异步处理中的接口再次发起 |
在这篇文章中: