导入初始分段

为来源导入初始分段。调用前必须先读取来源当前的版本基线;基线不匹配时服务拒绝写入,应重新读取文档详情。

POST https://moi.matrixorigin.cn/newmoi/semantic-models/{model_id}/sources/{source_row_id}/segments/import-initial

调用前准备

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

下方示例使用:

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

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

  • $MODEL_ID:知识库 ID。

  • $SOURCE_ROW_ID:要导入初始分段的来源记录 ID。

此接口不接收分段内容;服务根据基线导入该来源可用的初始分段。

路径参数

参数

类型

说明

model_id

integer

知识库 ID。

source_row_id

string

要导入初始分段的来源记录 ID。

请求体

字段

类型

是否必填

说明

base_segment_version_id

string

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

base_index_version

integer

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

请求示例

curl -X POST "https://moi.matrixorigin.cn/newmoi/semantic-models/$MODEL_ID/sources/$SOURCE_ROW_ID/segments/import-initial" \
  -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,
        "ingest_status": "ready"
      },
      "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 字段。

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data.document

object

更新后的来源文档快照。

data.document.source

object

来源记录。

data.document.segment_status.available

boolean

分段数据是否可用。

data.document.segment_status.total

integer

当前可读取的分段数。

data.document.segment_versions

object(对象数组)

该来源的分段版本。

data.document.segment_versions[].version_id

string

分段版本 ID。

data.document.segment_versions[].current

boolean

是否为当前版本。

data.document.segments

object(对象数组)

当前版本中的分段。

data.document.segments[].segment_id

string

分段 ID。

data.document.segments[].enabled

boolean

分段是否参与检索。

错误响应

{
  "code": "ErrParamInvalid",
  "msg": "invalid segment version baseline",
  "data": null
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

ErrParamInvalid

路径 ID、请求体或分段版本基线无效。

重新读取文档后使用当前版本信息提交。

401

ErrUnauthorized

API Key 无效或已失效。

检查 API Key。

403

ErrForbidden

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

检查工作区和对象授权。

404

ErrNotFound

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

重新读取来源列表确认 ID。

409

ErrConflict

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

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

500

ErrServer

服务未能生成初始分段。

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

后续操作

查询文档详情确认导入后的分段版本。

最后更新于