创建分段

在来源当前分段版本中创建一个分段。可按来源内容提供一个新的文本、OCR 或图片描述分段。

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

调用前准备

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

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

level

string

分段层级。

content

string

文本分段内容。

ocr_text

string

OCR 识别出的文本。

image_description

string

图片内容说明。

image_file_id

string

关联图片文件 ID。

page_image_file_id

string

关联页面图片文件 ID。

bbox

JSON

分段在原始内容中的边界信息。

metadata

JSON

附加元数据。

请求示例

curl -X POST "https://moi.matrixorigin.cn/newmoi/semantic-models/$MODEL_ID/sources/$SOURCE_ROW_ID/segments" \
  -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>,
    "level": "chunk",
    "content": "<SEGMENT_CONTENT>"
  }'

成功响应

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

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "document": {
      "source": {
        "row_id": "src_01",
        "model_id": 401
      },
      "segment_status": {
        "available": true,
        "total": 3
      },
      "segment_versions": [
        {
          "version_id": "ver_03",
          "current": true,
          "chunk_count": 3
        }
      ],
      "segments": [
        {
          "segment_id": "seg_03",
          "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.row_id

string

来源记录 ID。

data.document.segment_status

object

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

data.document.segment_versions[].version_id

string

新建或更新后的分段版本 ID。

data.document.segment_versions[].current

boolean

是否为当前分段版本。

data.document.segments[].segment_id

string

新分段 ID。

data.document.segments[].level

string

分段层级。

data.document.segments[].content

string

分段文本;内容未返回时可能省略。

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

服务未能创建分段。

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

后续操作

查询文档详情确认新分段已生效。

最后更新于