创建知识库并添加数据

创建知识库并同时提交初始数据源。请求成功只表示来源记录和处理任务已创建,不表示内容已可检索。

POST https://api.moi.matrixorigin.cn/v5/semantic-models/create-with-sources

调用前准备

先确认来源:Catalog 表、Catalog 文件和批量选择只能引用 Catalog 中已有的数据;本地文件先通过上传本地文件取得文件 ID。准备有目标工作区访问权限且具有创建知识库权限的个人访问令牌和目标工作区 ID。

直接添加来源时,按来源类型提供字段:

来源类型

必填字段

catalog_table

table_id

catalog_file

file_idvolume_id

local_file

上传返回的 file_id、原始 file_name

source_selections 只能在 Catalog 的 Database 或 Volume 范围内选择,不能传入 Catalog 之外的数据源。

请求体

curl -X POST "https://api.moi.matrixorigin.cn/v5/semantic-models/create-with-sources" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "$KNOWLEDGE_BASE_NAME",
    "sources": [
      {
        "source_type": "catalog_table",
        "table_id": $TABLE_ID
      }
    ]
  }'

字段路径中的 [] 表示数组中的每一项。例如,sources[].source_type 表示 sources 数组中每一项的 source_type 字段。

除知识库名称外,提交直接来源或来源选择。

字段

类型

必填

说明

name

string

知识库名称。

description

string

知识库说明。

image_index_enabled

boolean

是否在创建时启用图片索引。

files

object

文件索引扩展配置;服务会补齐创建知识库所需的固定索引设置。

sources

array of object

直接添加的来源。

source_selections

array of object

按数据库或卷选择来源的规则。

下面表格展开请求示例中 files 对象;每一行是该对象的一个字段。

字段

类型

必填

说明

file_ids

array of string

要加入的文件 ID。

parents

array of string

文件父目录路径。

volume_ids

array of integer

要扫描的卷 ID。

volumes

array of object

卷及其扫描路径。

vector_table

string

兼容的文本向量表名称。

embedding_model

string

文本嵌入模型标识。

image_vector_table

string

图片向量表名称。

image_embedding_model

string

图片嵌入模型标识。

image_embedding_backend_id

string

图片嵌入后端 ID。

image_embedding_dimension

integer

图片嵌入维度。

image_preprocess_version

string

图片预处理版本。

image_distance_metric

string

图片向量距离度量。

tags

array of string

文件来源标签。

下面表格展开请求示例中 files.volumes 数组的每一项;每一行是该数组项的一个字段。

字段

类型

必填

说明

volume_id

integer

卷 ID。

parents

array of string

卷内父目录路径。

path

string

卷内起始路径。

下面表格展开请求示例中 sources 数组的每一项;每一行是该数组项的一个字段。

字段

类型

必填

说明

source_type

string

条件必填

来源类型。

table_id

integer

条件必填

catalog_table 来源的表 ID。

file_id

string

条件必填

文件来源的文件 ID。

file_name

string

条件必填

local_file 来源的原始文件名。

volume_id

integer

条件必填

catalog_file 来源的卷 ID。

下面表格展开请求示例中 source_selections 数组的每一项;每一行是该数组项的一个字段。

字段

类型

必填

说明

kind

string

条件必填

database_tablesvolume_files

database_id

integer

条件必填

database_tables 的 Catalog Database ID。

volume_id

integer

条件必填

volume_files 的 Catalog Volume ID。

all_selected

boolean

true 选择当前范围内全部对象;false 时必须提供对应的显式选择 ID。

selected_table_ids

array of integer

条件必填

all_selectedfalse 时,显式选中的 Catalog 表 ID。

selected_file_ids

array of string

条件必填

all_selectedfalse 时,显式选中的 Catalog 文件 ID。

excluded_table_ids

array of integer

all_selectedtrue 时要排除的 Catalog 表 ID。

excluded_file_ids

array of string

all_selectedtrue 时要排除的 Catalog 文件 ID。

filters

object

在选择范围内按名称或扩展名过滤。

下面表格展开请求示例中 source_selections[].filters 对象;每一行是该对象的一个字段。

字段

类型

必填

说明

table_name

string

表名筛选条件。

file_name

string

文件名筛选条件。

file_ext

array of string

文件扩展名筛选条件。

成功响应

成功时返回 201,其中包含新知识库、已创建的 sources 和处理 jobs。保存来源的 row_id,后续来源、分段和治理接口均使用它。jobs 已创建不表示来源处理完成。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "model": {
      "id": 401,
      "name": "product_docs",
      "source_counts": {
        "files": 0,
        "tables": 0,
        "total": 0
      },
      "created_at": 1735632000,
      "updated_at": 1735632000
    },
    "data_domain": {
      "model_id": 401,
      "catalog_id": 10,
      "database_id": 20,
      "raw_volume_id": 30,
      "processed_volume_id": 31,
      "ensure_status": "ready",
      "last_checked_at": 1735632000
    },
    "sources": [
      {
        "row_id": "src_01",
        "source_type": "table",
        "model_id": 401,
        "resource_id": "123",
        "ingest_status": "pending",
        "effective_enabled": true
      }
    ],
    "jobs": [
      {
        "job_id": "job_01",
        "source_id": "src_01",
        "model_id": 401,
        "job_type": "ingest",
        "job_status": "pending",
        "idempotency_key": "idem_01",
        "retry_count": 0
      }
    ]
  }
}

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data

object

本次操作的返回数据。

下面表格展开响应示例中 data 对象;每一行是该对象的一个字段。

字段

类型

说明

model

object

新建知识库的快照。

data_domain

object

为该知识库解析的数据域;包含 Catalog、数据库和卷的 ID,以及数据域的检查状态。

sources

array of object

已创建的来源记录。

jobs

array of object

为来源创建的处理任务。

下面表格展开响应示例中 data.model 对象;每一行是该对象的一个字段。

字段

类型

说明

id

integer

新知识库 ID。

name

string

知识库名称。

description

string

知识库说明。

tables

array of object

兼容的旧式表来源定义。

files

object

兼容的旧式文件来源定义;未设置时可能省略。

source_counts

object

来源数量。

created_at

integer

创建时间。

updated_at

integer

最近更新时间。

下面表格展开响应示例中 data.model.tables 数组的每一项;每一行是该数组项的一个字段。

字段

类型

说明

db_name

string

数据库名称。

table_names

array of string

该数据库中的表名称。

下面表格展开响应示例中 data.model.files 对象;每一行是该对象的一个字段。

字段

类型

说明

file_ids

array of string

文件 ID。

parents

array of string

文件父目录路径。

volume_ids

array of integer

卷 ID。

volumes

array of object

卷及其扫描路径。

vector_table

string

文本向量表名称。

embedding_model

string

文本嵌入模型标识。

image_vector_table

string

图片向量表名称。

image_embedding_model

string

图片嵌入模型标识。

image_embedding_backend_id

string

图片嵌入后端 ID。

image_embedding_dimension

integer

图片嵌入维度。

image_preprocess_version

string

图片预处理版本。

image_distance_metric

string

图片向量距离度量。

tags

array of string

文件来源标签。

下面表格展开响应示例中 data.model.files.volumes 数组的每一项;每一行是该数组项的一个字段。

字段

类型

说明

volume_id

integer

卷 ID。

parents

array of string

卷内父目录路径。

path

string

卷内起始路径。

下面表格展开响应示例中 data.model.source_counts 对象;每一行是该对象的一个字段。

字段

类型

说明

files

integer

文件来源数量。

tables

integer

表来源数量。

total

integer

来源总数。

下面表格展开响应示例中 data.data_domain 对象;每一行是该对象的一个字段。

字段

类型

说明

ensure_status

string

数据域的当前确保状态。

model_id

integer

知识库 ID。

catalog_id

integer

Catalog ID。

database_id

integer

数据库 ID。

raw_volume_id

integer

原始文件卷 ID。

processed_volume_id

integer

处理结果卷 ID。

last_ensure_error

string 或 null

最近检查错误。

last_checked_at

integer

最近检查时间。

下面表格展开响应示例中 data.sources 数组的每一项;每一行是该数组项的一个字段。

字段

类型

说明

row_id

string

来源记录 ID,后续来源、分段和治理接口使用该值。

source_type

string

来源类型:filetable

ingest_status

string

来源处理状态;pending 不表示内容已可检索。

effective_enabled

boolean

当前生效的启用状态。

source_id

string 或 null

来源 ID。

model_id

integer

所属知识库 ID。

resource_id

string

来源资源 ID。

source_file_id

string 或 null

原始文件 ID。

kb_file_id

string 或 null

知识库文件 ID。

source_table_id

integer 或 null

原始表 ID。

kb_table_id

integer 或 null

知识库表 ID。

display_name

string 或 null

显示名称。

path

array of string

来源路径。

db_name

string 或 null

数据库名称。

table_name

string 或 null

表名称。

size_bytes

integer 或 null

文件大小。

row_count

integer 或 null

表行数。

enabled

boolean 或 null

启用设置。

expires_at

integer 或 null

到期时间。

expired

boolean

是否到期。

force_enabled_after_expiry

boolean

到期后是否强制启用。

tags

array of string

来源标签。

segment_version_id

string 或 null

当前分段版本 ID。

index_version

integer 或 null

当前索引版本。

error

string 或 null

处理错误。

governance_status

string

治理状态。

legacy_origin

string 或 null

历史来源标记。

下面表格展开响应示例中 data.jobs 数组的每一项;每一行是该数组项的一个字段。

字段

类型

说明

job_id

string

处理任务 ID。

source_id

string

关联的来源 ID。

job_type

string

处理任务类型。

job_status

string

处理任务的当前状态。

idempotency_key

string

此处理任务的幂等键。

retry_count

integer

当前已记录的重试次数。

model_id

integer

所属知识库 ID。

operation_id

string 或 null

操作 ID。

workflow_execution_id

string 或 null

工作流执行 ID。

source_file_id

string 或 null

原始文件 ID。

kb_file_id

string 或 null

知识库文件 ID。

source_table_id

integer 或 null

原始表 ID。

kb_table_id

integer 或 null

知识库表 ID。

next_retry_at

integer 或 null

下次重试时间。

error

string 或 null

作业错误。

created_at

integer

创建时间。

updated_at

integer

最近更新时间。

错误响应

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

字段

类型

说明

code

string

错误代码。

msg

string

面向调用者的错误信息。

data

null

发生错误时为 null

后续操作

使用 data.jobs[].job_id 查询数据处理任务,确认来源处理完成后再使用知识库。

最后更新于