添加数据源¶
向已有知识库追加数据源。请求成功不表示来源已经完成解析或索引。
POST https://moi.matrixorigin.cn/newmoi/semantic-models/{model_id}/sources
调用前准备¶
先检查数据源是否已添加,移除重复项;按数据库或卷批量选择时先预览待添加的数据源。准备有目标工作区访问权限的个人访问令牌和目标工作区 ID。
下方示例使用:
$AI_STUDIO_API_KEY:实际个人访问令牌,通过X-API-KeyHeader 传递。$WORKSPACE_ID:目标工作区 ID,通过X-Workspace-IDHeader 传递。$MODEL_ID:要追加数据源的知识库 ID。
直接添加来源时,按来源类型提供字段:
来源类型 |
必填字段 |
|---|---|
|
|
|
|
|
上传本地文件返回的文件 ID、原始 |
按范围选择仅支持 Catalog 的 Database 和 Volume,不能用 source_selections 添加 Catalog 之外的数据源。
路径参数¶
参数 |
类型 |
说明 |
|---|---|---|
|
integer |
要追加数据源的知识库 ID。 |
请求体¶
字段路径中的 [] 表示数组中的每一项。例如,sources[].source_type 表示 sources 数组中每一项的 source_type 字段。
字段 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
array |
是 |
要添加的来源。 |
|
string |
是 |
来源类型,例如 |
|
integer |
条件必填 |
|
|
string |
条件必填 |
文件来源的文件 ID。 |
|
string |
条件必填 |
|
|
integer |
条件必填 |
|
|
object(对象数组) |
否 |
按数据库或卷选择来源的规则。 |
|
string |
条件必填 |
|
|
integer |
条件必填 |
|
|
integer |
条件必填 |
|
|
boolean |
是 |
|
|
array |
条件必填 |
|
|
array |
条件必填 |
|
|
array |
否 |
全选时要排除的 Catalog 表 ID。 |
|
array |
否 |
全选时要排除的 Catalog 文件 ID。 |
请求示例¶
curl -X POST "https://moi.matrixorigin.cn/newmoi/semantic-models/$MODEL_ID/sources" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"sources": [
{
"source_type": "catalog_file",
"file_id": "$FILE_ID",
"volume_id": $VOLUME_ID
}
]
}'
成功响应¶
成功时返回 200。保存每项来源的 row_id,并通过处理任务状态确认实际处理结果。
{
"code": "OK",
"msg": "OK",
"data": {
"data_domain": {
"model_id": 401,
"catalog_id": 10,
"database_id": 20,
"raw_volume_id": 30,
"processed_volume_id": 31,
"ensure_status": "ready"
},
"sources": [
{
"row_id": "src_01",
"source_type": "file",
"model_id": 401,
"resource_id": "file_01",
"ingest_status": "pending",
"effective_enabled": true
}
],
"jobs": [
{
"job_id": "job_01",
"source_id": "src_01",
"model_id": 401,
"job_type": "ingest",
"job_status": "pending",
"idempotency_key": "idem_01",
"retry_count": 0
}
]
}
}
响应字段如下。
字段路径中的 [] 表示数组中的每一项。例如,data.sources[].row_id 表示 data.sources 数组中每一项的 row_id 字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
成功时为 |
|
string |
成功时为 |
|
object |
知识库的数据域及其确保状态。 |
|
object(对象数组) |
已创建的来源记录。 |
|
string |
来源记录 ID。 |
|
string |
来源类型。 |
|
string |
来源资源 ID。 |
|
string |
处理状态; |
|
boolean |
当前实际生效状态。 |
|
object(对象数组) |
新建的处理任务。 |
|
string |
任务 ID。 |
|
string |
关联来源 ID。 |
|
string |
任务类型。 |
|
string |
当前任务状态。 |
|
string |
任务幂等键。 |
|
integer |
已记录的重试次数。 |
错误响应¶
{
"code": "ErrParamInvalid",
"msg": "invalid source request",
"data": null
}
常见 HTTP 错误¶
HTTP 状态码 |
错误代码 |
常见原因 |
建议操作 |
|---|---|---|---|
|
|
来源类型、文件/表 ID 或卷 ID 无效。 |
按来源类型提供所需字段后重试。 |
|
|
API Key 无效或已失效。 |
检查 API Key。 |
|
|
调用者没有更新知识库或读取来源对象的权限。 |
检查工作区和对象授权。 |
|
|
知识库或来源对象不存在,或当前调用者不可见。 |
重新确认 ID。 |
|
|
服务拒绝冲突的来源写入。 |
检查已存在来源后调整请求。 |
|
|
服务未能创建来源或处理任务。 |
保留脱敏后的响应信息后重试。 |
后续操作¶
使用 data.jobs[].job_id 查询数据处理任务,确认来源处理完成。