更新分段¶
更新指定分段的内容。版本基线用于避免覆盖较新的修改。
PATCH https://moi.matrixorigin.cn/newmoi/semantic-models/{model_id}/sources/{source_row_id}/segments/{segment_id}
调用前准备¶
先查询文档详情,取得当前分段版本 ID 和索引版本作为基线。准备有目标工作区访问权限的个人访问令牌和目标工作区 ID。
下方示例使用:
$AI_STUDIO_API_KEY:实际个人访问令牌,通过X-API-KeyHeader 传递。$WORKSPACE_ID:目标工作区 ID,通过X-Workspace-IDHeader 传递。$MODEL_ID:知识库 ID。$SOURCE_ROW_ID:来源记录 ID。$SEGMENT_ID:要更新的分段 ID。
路径参数¶
参数 |
类型 |
说明 |
|---|---|---|
|
integer |
知识库 ID。 |
|
string |
来源记录 ID。 |
|
string |
要更新的分段 ID。 |
请求体¶
提交来源当前的版本基线,以及要更新的文本、OCR 文本或图片描述。
字段 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
调用前读取到的当前分段版本 ID。 |
|
integer |
是 |
调用前读取到的当前索引版本。 |
|
string |
否 |
更新后的文本内容。 |
|
string |
否 |
更新后的 OCR 文本。 |
|
string |
否 |
更新后的图片描述。 |
请求示例¶
curl -X PATCH "https://moi.matrixorigin.cn/newmoi/semantic-models/$MODEL_ID/sources/$SOURCE_ROW_ID/segments/$SEGMENT_ID" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d '{
"base_segment_version_id": "<SEGMENT_VERSION_ID>",
"base_index_version": <INDEX_VERSION>,
"content": "<SEGMENT_CONTENT>"
}'
成功响应¶
成功时返回 200 和更新后的来源文档快照。
{
"code": "OK",
"msg": "OK",
"data": {
"document": {
"source": {
"row_id": "src_01",
"model_id": 401
},
"segment_status": {
"available": true,
"total": 2
},
"segment_versions": [
{
"version_id": "ver_02",
"current": true,
"chunk_count": 2
}
],
"segments": [
{
"segment_id": "seg_01",
"segment_type": "text",
"level": "chunk",
"content": "更新后的文本",
"enabled": true
}
]
}
}
}
响应字段如下。
字段路径中的 [] 表示数组中的每一项。例如,data.document.segment_versions[].version_id 表示 data.document.segment_versions 数组中每一项的 version_id 字段。
字段 |
类型 |
说明 |
|---|---|---|
|
string |
成功时为 |
|
string |
成功时为 |
|
object |
更新后的来源文档快照。 |
|
string |
来源记录 ID。 |
|
object |
当前分段可用状态和总数。 |
|
string |
更新后的分段版本 ID。 |
|
boolean |
是否为当前分段版本。 |
|
string |
分段 ID。 |
|
string |
更新后的分段文本;内容未返回时可能省略。 |
|
boolean |
分段是否参与检索。 |
错误响应¶
{
"code": "ErrConflict",
"msg": "segment version conflict",
"data": null
}
常见 HTTP 错误¶
HTTP 状态码 |
错误代码 |
常见原因 |
建议操作 |
|---|---|---|---|
|
|
路径 ID、请求体或分段版本基线无效。 |
重新读取文档后使用当前版本信息提交。 |
|
|
API Key 无效或已失效。 |
检查 API Key。 |
|
|
调用者没有更新该来源的权限。 |
检查工作区和对象授权。 |
|
|
知识库、来源或分段不存在,或当前调用者不可见。 |
重新读取文档确认 ID。 |
|
|
当前版本已变化,服务拒绝写入。 |
读取最新文档后合并修改并重试。 |
|
|
服务未能更新分段。 |
保留脱敏后的响应信息后重试。 |
后续操作¶
查询文档详情确认更新结果。