切换当前分段版本

将一个已存在的分段版本切换为来源当前版本。

PATCH https://moi.matrixorigin.cn/newmoi/semantic-models/{model_id}/sources/{source_row_id}/segment-versions/{version_id}/current

调用前准备

查询文档详情,取得当前分段版本 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。

  • $VERSION_ID:要切换到的分段版本 ID。

路径参数

参数

类型

说明

model_id

integer

知识库 ID。

source_row_id

string

来源记录 ID。

version_id

string

要切换到的分段版本 ID。

请求体

提交来源当前的版本基线。version_id 指向要切换到的版本,不应替代基线字段。

字段

类型

是否必填

说明

base_segment_version_id

string

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

base_index_version

integer

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

请求示例

curl -X PATCH "https://moi.matrixorigin.cn/newmoi/semantic-models/$MODEL_ID/sources/$SOURCE_ROW_ID/segment-versions/$VERSION_ID/current" \
  -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>
  }'

成功响应

成功时返回 200 和更新后的来源文档快照。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "document": {
      "source": {
        "row_id": "src_01",
        "model_id": 401
      },
      "segment_status": {
        "available": true,
        "total": 2
      },
      "current_segment_version_id": "ver_01",
      "current_index_version": 1,
      "segment_versions": [
        {
          "version_id": "ver_01",
          "current": true,
          "index_version": 1
        },
        {
          "version_id": "ver_02",
          "current": false,
          "index_version": 2
        }
      ],
      "segments": [
        {
          "segment_id": "seg_01",
          "enabled": true
        }
      ]
    }
  }
}

响应字段如下。

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

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data.document

object

切换后的来源文档快照。

data.document.current_segment_version_id

string

已切换到的当前分段版本 ID。

data.document.current_index_version

integer

当前索引版本。

data.document.segment_versions

object(对象数组)

所有分段版本。

data.document.segment_versions[].version_id

string

分段版本 ID。

data.document.segment_versions[].current

boolean

是否为当前版本。

data.document.segments

object(对象数组)

新当前版本中的分段。

错误响应

{
  "code": "ErrNotFound",
  "msg": "resource not found",
  "data": null
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

ErrParamInvalid

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

重新读取文档后使用当前基线。

401

ErrUnauthorized

API Key 无效或已失效。

检查 API Key。

403

ErrForbidden

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

检查工作区和对象授权。

404

ErrNotFound

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

重新确认路径 ID。

409

ErrConflict

当前分段版本已变化。

读取最新文档后重试。

500

ErrServer

服务未能切换当前版本。

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

后续操作

查询文档详情确认当前分段版本已切换。

最后更新于