启用或停用分段

更新指定分段的启用状态,控制该分段是否参与检索。

PATCH https://moi.matrixorigin.cn/newmoi/semantic-models/{model_id}/sources/{source_row_id}/segments/{segment_id}/enabled

调用前准备

查询文档详情,取得当前分段版本 ID 和索引版本作为基线,并确认要操作的分段 ID。准备有目标工作区访问权限的个人访问令牌和目标工作区 ID。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:目标工作区 ID,通过 X-Workspace-ID Header 传递。

  • $MODEL_ID:知识库 ID。

  • $SOURCE_ROW_ID:来源记录 ID。

  • $SEGMENT_ID:要启用或停用的分段 ID。

路径参数

参数

类型

说明

model_id

integer

知识库 ID。

source_row_id

string

来源记录 ID。

segment_id

string

要启用或停用的分段 ID。

请求体

提交目标启用状态和来源当前的版本基线。

字段

类型

是否必填

说明

base_segment_version_id

string

调用前读取到的当前分段版本 ID。

base_index_version

integer

调用前读取到的当前索引版本。

enabled

boolean

true 启用分段,false 停用分段。

请求示例

curl -X PATCH "https://moi.matrixorigin.cn/newmoi/semantic-models/$MODEL_ID/sources/$SOURCE_ROW_ID/segments/$SEGMENT_ID/enabled" \
  -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>,
    "enabled": false
  }'

成功响应

成功时返回 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
        }
      ],
      "segments": [
        {
          "segment_id": "seg_01",
          "enabled": false
        }
      ]
    }
  }
}

响应字段如下。

字段路径中的 [] 表示数组中的每一项。例如,data.document.segment_versions[].version_id 表示 data.document.segment_versions 数组中每一项的 version_id 字段。

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data.document

object

更新后的来源文档快照。

data.document.source.row_id

string

来源记录 ID。

data.document.segment_status

object

当前分段可用状态和总数。

data.document.segment_versions[].version_id

string

更新后的分段版本 ID。

data.document.segments[].segment_id

string

分段 ID。

data.document.segments[].enabled

boolean

更新后是否参与检索。

错误响应

{
  "code": "ErrParamInvalid",
  "msg": "enabled is required",
  "data": null
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

ErrParamInvalid

enabled、路径 ID 或分段版本基线无效。

提供布尔值,并重新读取文档确认基线。

401

ErrUnauthorized

API Key 无效或已失效。

检查 API Key。

403

ErrForbidden

调用者没有更新该来源的权限。

检查工作区和对象授权。

404

ErrNotFound

知识库、来源或分段不存在,或当前调用者不可见。

重新读取文档确认 ID。

409

ErrConflict

当前版本已变化,服务拒绝写入。

读取最新文档后合并修改并重试。

500

ErrServer

服务未能更新分段状态。

保留脱敏后的响应信息后重试。

后续操作

查询文档详情确认分段启用状态已生效。

最后更新于