创建 Pipeline
This creates an pipeline of the Ingestion, Search, and Deletion types.
该 API 的 Base URL 格式如下:
https://controller.api.${CLOUD_REGION}.zilliz.com.cn
- 你需要将
${CLOUD_REGION}
替换为您的集群所在区域。 - 获取云区域 ID 请参考 Zilliz Cloud 控制台 或使用查看云区域接口。
export CLOUD_REGION="ali-cn-hangzhou"
export BASE_URL="https://controller.api.${CLOUD_REGION}.zilliz.com.cn"
认证令牌,应为具备适当权限的 API 密钥。
Pipeline 名称。Pipeline 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Pipeline 描述。
需要添加的 Function 名称。Ingestion pipeline 中必须添加且只可添加 1 个 INDEX 类型的 Function 和 0-50 个 PRESERVE 类型的 Function。
A function to add. You have the following options.
A function to add.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Function 类型。文本 Ingestion pipeline 的该参数值仅可以是 INDEX_TEXT
或 PRESERVE
。
文档语言。
A function to add.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线
Function 类型。文档 Ingestion pipeline 的该参数值仅可以是 INDEX_DOC
或 PRESERVE
。
文档语言。
用于分割文本的 Splitter。Ingestion Pipeline 会根据定义的字符按顺序将文本分割成小片段。默认使用["\n\n", "\n", " ", ""]
作为分隔符。
Splitter。
A function to add.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线
Function 类型。图像 Ingestion pipeline 的该参数值仅可以是 INDEX_IMAGE
或 PRESERVE
。
A function to add.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线
Function 类型。用于保留元数据的 Ingestion pipeline 的该参数值仅可以是 PRESERVE
。
输入字段名称。Zilliz Cloud 将在创建 Collection 时使用该名称作为 Collection 字段名称。
输出字段名称。该字段值应该与输入字段的值保持一致。
目标 Collection 中创建的字段数据类型。
Pipeline 所属的目标集群的 ID。
Pipeline 所属的目标 Collection 名称。Zilliz Cloud 会自动检查指定名称的 Collection 是否已经存在。如果该 Collection 已存在,Zilliz Cloud 将为该 Collection 创建 Pipeline。如果不存在,Zilliz CLoud 将自动新创建一个该命名的新 Collection。
目标集群所属的项目 ID。
Pipeline 名称。Pipeline 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Pipeline 描述。
需要添加的 Function 名称。Search pipeline 中只可添加 1 个 Function。
A function to add.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Function 类型。文本 Search pipeline 的该参数值仅可以是 SEARCH_TEXT
。
Pipeline 所属的集群 ID。
Pipeline 所属的 Collection 名称。
向量搜索时使用的 Embedding 模型。该模型应该与 Pipeline 配套的 Collection 中使用的 Embedding 模型保持一致。更多 Embedding 模型相关信息,请参见Zilliz Cloud Pipelines 使用哪些 Embedding 模型?
向量搜索时使用的 Reranking 模型。使用 Reranker 可以对输出结果进行重新排序,提高搜索结果质量。目前,仅支持 zilliz/bge-reranker-base
作为 Reranker 模型。更多信息,请参考Reranker。
A function to add.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Function 类型。文档 Search pipeline 的该参数值仅可以是 SEARCH_DOC_CHUNK
。
Pipeline 所属的集群 ID。
Pipeline 所属的 Collection 名称。
向量搜索时使用的 Embedding 模型。该模型应该与 Pipeline 配套的 Collection 中使用的 Embedding 模型保持一致。更多 Embedding 模型相关信息,请参见Zilliz Cloud Pipelines 使用哪些 Embedding 模型?
向量搜索时使用的 Reranking 模型。使用 Reranker 可以对输出结果进行重新排序,提高搜索结果质量。目前,仅支持 zilliz/bge-reranker-base
作为 Reranker 模型。更多信息,请参考Reranker。
A function to add.
需要添加的 Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
需要添加的 Function 类型。图像(以图搜图) Search pipeline 的该参数值仅可以是 SEARCH_IMAGE_BY_IMAGE
。
Pipeline 所属的集群 ID。
Pipeline 所属的 Collection 名称。
向量搜索时使用的 Embedding 模型。该模型应该与 Pipeline 配套的 Collection 中使用的 Embedding 模型保持一致。更多 Embedding 模型相关信息,请参见Zilliz Cloud Pipelines 使用哪些 Embedding 模型?
向量搜索时使用的 Reranking 模型。使用 Reranker 可以对输出结果进行重新排序,提高搜索结果质量。目前,仅支持 zilliz/bge-reranker-base
作为 Reranker 模型。更多信息,请参考Reranker。
A function to add.
需要添加的 Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
需要添加的 Function 类型。图像(以文本搜图) Search pipeline 的该参数值仅可以是 SEARCH_IMAGE_BY_TEXT
。
Pipeline 所属的集群 ID。
Pipeline 所属的 Collection 名称。
向量搜索时使用的 Embedding 模型。该模型应该与 Pipeline 配套的 Collection 中使用的 Embedding 模型保持一致。对于以文本搜图 Search pipeline 而言,该参数值仅可以是 zilliz/clip-vit-base-patch32-multilingual-v1
。更多 Embedding 模型相关信息,请参见Zilliz Cloud Pipelines 使用哪些 Embedding 模型?
向量搜索时使用的 Reranking 模型。使用 Reranker 可以对输出结果进行重新排序,提高搜索结果质量。目前,仅支持 zilliz/bge-reranker-base
作为 Reranker 模型。更多信息,请参考Reranker。
目标集群所属的项目 ID。
Pipeline 名称。Pipeline 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Pipeline 描述。
Functions to add in the deletion pipeline to create. A deletion pipeline can only have one function.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Function 类型。文本 Deletion pipeline 的该参数值仅可以是 PURGE_TEXT_INDEX
或 PURGE_BY_EXPRESSION
。
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Function 类型。文档 Deletion pipeline 的该参数值仅可以是 PURGE_DOC_INDEX
或 PURGE_BY_EXPRESSION
。
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Function 类型。图像 Deletion pipeline 的该参数值仅可以是 PURGE_IMAGE_INDEX
或 PURGE_BY_EXPRESSION
。
Pipeline 所属的目标集群的 ID。
Pipeline 所属的目标 Collection 名称。。
目标集群所属的项目 ID。
export TOKEN="YOUR_API_KEY"
curl --request POST \
--url "${BASE_URL}/v1/pipelines" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"name": "my_text_ingestion_pipeline",
"clusterId": "inxx-xxxxxxxxxxxxxxx",
"projectId": "proj-xxxx",
"collectionName": "my_collection",
"description": "A pipeline that generates text embeddings and stores additional fields.",
"type": "INGESTION",
"functions": [
{
"name": "index_my_text",
"action": "INDEX_TEXT",
"language": "ENGLISH",
"embedding": "zilliz/bge-base-en-v1.5"
},
{
"name": "keep_text_info",
"action": "PRESERVE",
"inputField": "source",
"outputField": "source",
"fieldType": "VarChar"
}
]
}'
export TOKEN="YOUR_API_KEY"
curl --request POST \
--url "${BASE_URL}/v1/pipelines" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"projectId": "proj-xxxx",
"name": "my_doc_ingestion_pipeline",
"description": "A pipeline that splits a doc file into chunks and generates embeddings. It also stores the publish_year with each chunk.",
"type": "INGESTION",
"functions": [
{
"name": "index_my_doc",
"action": "INDEX_DOC",
"language": "ENGLISH",
"chunkSize": 500,
"embedding": "zilliz/bge-base-en-v1.5",
"splitBy": [
"\n\n",
"\n",
" ",
""
]
},
{
"name": "keep_doc_info",
"action": "PRESERVE",
"inputField": "publish_year",
"outputField": "publish_year",
"fieldType": "Int16"
}
],
"clusterId": "inxx-xxxxxxxxxxxxxxx",
"newCollectionName": "my_collection"
}'
export TOKEN="YOUR_API_KEY"
curl --request POST \
--url "${BASE_URL}/v1/pipelines" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"name": "my_image_ingestion_pipeline",
"clusterId": "inxx-xxxxxxxxxxxxxxx",
"projectId": "proj-xxxx",
"collectionName": "my_collection",
"description": "A pipeline that converts an image into vector embeddings and store in efficient index for search.",
"type": "INGESTION",
"functions": [
{
"name": "index_my_image",
"action": "INDEX_IMAGE",
"embedding": "zilliz/vit-base-patch16-224"
},
{
"name": "keep_image_tag",
"action": "PRESERVE",
"inputField": "image_title",
"outputField": "image_title",
"fieldType": "VarChar"
}
]
}'
表示当前操作是否成功。
新创建 Ingestion Pipeline 的详细信息。
Pipeline 的 ID。
Pipeline 的名称。
Pipeline 的类型。Ingestion pipeline 的该参数值仅可以是 INGESTION
。
Pipeline 的创建时间戳。
Pipeline 的描述。
Pipeline 的当前状态。如果值不是 SERVING
,则 Pipeline 不工作。
Pipeline 的总用量。
Statistics of the total token usage of the pipeline.
Embedding 模型 Token 总用量。
Pipeline 中添加的 Function 名称。Ingestion pipeline 中必须包含且仅可包含 1 个 INDEX 类型的 Function 和 0-50 个 PRESERVE 类型的 Function。
A function in the pipeline.
Functions of a text ingestion pipeline.
Function 名称。
Function 类型。文本 Ingestion pipeline 的该参数值仅可以是 INDEX_TEXT
或 PRESERVE
。
根据您的需求为输入字段命名。文本 Ingestion pipeline 的输入字段中用于输入需要 Ingest 的文本列表。
输入字段。
您的源数据的语言。
使用的 Embedding 模型。
Functions of a doc ingestion pipeline.
Function 名称。
Function 类型。文档 Ingestion pipeline 的该参数值仅可以是 INDEX_DOC
或 PRESERVE
。
根据您的需求为输入字段命名。文本 Ingestion pipeline 的输入字段用于输入需要 Ingest 的文档的预签名 URL。
您的源数据的语言。
The maximum size of a splitted document segment. The allowed chunk size range depends on the embedding model in use. For more information, refer to Zilliz Cloud Limits
使用的 Embedding 模型。
用于分割文本的 Splitter。Ingestion Pipeline 会根据定义的字符按顺序将文本分割成小片段。默认使用["\n\n", "\n", " ", ""]
作为分隔符。
Splitter。
Functions of an image ingestion pipeline.
Function 名称。
Function 类型。图像 Ingestion pipeline 的该参数值仅可以是 INDEX_IMAGE
或 PRESERVE
。
根据您的需求为输入字段命名。图像 Ingestion pipeline 的输入字段中用于输入需要 Ingest 的图像对象存储预签名 URL(image_url
)和图像 ID(image_id
)。
输入字段。
使用的 Embedding 模型。
Functions for an ingestion pipeline to preserve metadata.
Function 名称。
Function 类型。用于保留元数据的 Ingestion pipeline 的该参数值仅可以是 PRESERVE
。
输入字段名称。Zilliz Cloud 将在创建 Collection 时使用该名称作为 Collection 字段名称。
输出字段名称。该字段值应该与输入字段的值保持一致。
目标 Collection 中创建的字段数据类型。
Pipeline 所属的集群名称。
Pipeline 所属的 Collection。
Indicates whether the request succeeds.
新建 Search Pipeline 的详细信息。
Pipeline 的 ID。
Pipeline 的名称。
Pipeline 的类型。Search pipeline 的该参数值仅可以是 SEARCH
。
Pipeline 的描述。
Pipeline 的当前状态。如果值不是 SERVING
,则 Pipeline 不工作。
Pipeline 的总用量。
Statistics on the total token usage of the pipeline.
Embedding 模型 Token 总用量。
Reranker 模型 Token 总用量。
Pipeline 中添加的 Function 名称。Search pipeline 中仅可包含 1 个 Function。
A Function in the created pipeline.
Functions of a text search pipeline.
Function 名称。
Function 类型。文本 Search pipeline 的该参数值仅可以是 SEARCH_TEXT
。
根据您的需求为输入字段命名。文本 Search pipeline 的输入字段用于输入需要搜索的查询文本(query_text
)。
输入字段。
使用的 Embedding 模型。
使用的 Reranker 模型。
Pipeline 所属的目标 Collection 名称。
Pipeline 所属的目标集群 ID。
Functions of a doc search pipeline.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Function 类型。文档 Search pipeline 的该参数值仅可以是 SEARCH_DOC_CHUNK
。
Pipeline 所属的集群 ID。
Pipeline 所属的 Collection 名称。
向量搜索时使用的 Embedding 模型。该模型应该与 Pipeline 配套的 Collection 中使用的 Embedding 模型保持一致。更多 Embedding 模型相关信息,请参见Zilliz Cloud Pipelines 使用哪些 Embedding 模型?
向量搜索时使用的 Reranking 模型。使用 Reranker 可以对输出结果进行重新排序,提高搜索结果质量。目前,仅支持 zilliz/bge-reranker-base
作为 Reranker 模型。更多信息,请参考Reranker。
根据您的需求为输入字段命名。文档 Search pipeline 的输入字段用于输入需要搜索的查询文本(query_text
)。
输入字段。
Functions of a reverse image search pipeline.
需要添加的 Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
需要添加的 Function 类型。图像(以图搜图) Search pipeline 的该参数值仅可以是 SEARCH_IMAGE_BY_IMAGE
。
Pipeline 所属的集群 ID。
Pipeline 所属的 Collection 名称。
向量搜索时使用的 Embedding 模型。该模型应该与 Pipeline 配套的 Collection 中使用的 Embedding 模型保持一致。更多 Embedding 模型相关信息,请参见Zilliz Cloud Pipelines 使用哪些 Embedding 模型?
使用的 Reranker 模型。
根据您的需求为输入字段命名。以图搜图 Search pipeline 的输入字段用于输入需要搜索的查询图像 URL(query_image_url
)。
输入字段。
Functions of an image search pipeline.
需要添加的 Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
需要添加的 Function 类型。图像(以文搜图) Search pipeline 的该参数值仅可以是 SEARCH_IMAGE_BY_TEXT
。
Pipeline 所属的集群 ID。
Pipeline 所属的 Collection 名称。
向量搜索时使用的 Embedding 模型。该模型应该与 Pipeline 配套的 Collection 中使用的 Embedding 模型保持一致。更多 Embedding 模型相关信息,请参见Zilliz Cloud Pipelines 使用哪些 Embedding 模型?
使用的 Reranker 模型。
根据您的需求为输入字段命名。以文本搜图 Search pipeline 的输入字段用于输入需要搜索的查询文本(query_text
)。
输入字段。
表示当前操作是否成功。
新建 Deletion Pipeline 的详细信息。
Pipeline 的 ID。
Pipeline 的名称。
Pipeline 的类型。Deletion pipeline 的该参数值仅可以是 DELETION
。
Pipeline 的创建时间戳。
Pipeline 的描述。
Pipeline 的当前状态。如果值不是 SERVING
,则 Pipeline 不工作。
Functions in the pipeline. An ingestion pipeline must have one and only one INDEX function and can have 0-50 PRESERVE functions.
A function in the pipeline.
Functions of a text deletion pipeline.
Function 名称。
Function 类型。文本 Deletion pipeline 的该参数值仅可以是 PURGE_TEXT_INDEX
或 PURGE_BY_EXPRESSION
。
根据您的需求为输入字段命名。文本 Deletion pipeline 的输入字段用于输入需要删除的文本 ID(id
)或表达式(expression
)。
输入字段。
Functions of a doc deletion pipeline.
Function 名称。
Function 类型。文档 Deletion pipeline 的该参数值仅可以是 PURGE_DOC_INDEX
或 PURGE_BY_EXPRESSION
。
根据您的需求为输入字段命名。文本 Deletion pipeline 的输入字段用于输入需要删除的文档名称(doc_name
)或表达式(expression
)。
Functions of an image deletion pipeline.
Function 名称。Function 名称应该在 3-64 个字符内,且只可包含数字、字母和下划线。
Function 类型。图像 Deletion pipeline 的该参数值仅可以是 PURGE_IMAGE_INDEX
或 PURGE_BY_EXPRESSION
。
根据您的需求为输入字段命名。图像 Deletion pipeline 的输入字段用于输入需要删除的图像 ID(image_id
)或表达式(expression
)。
输入字段。
Pipeline 所属的集群名称。
Pipeline 所属的 Collection。
Returns an error message.
响应码。
错误描述。
{
"code": 200,
"data": {
"pipelineId": "pipe-xxx",
"name": "my_text_ingestion_pipeline",
"type": "INGESTION",
"createTimestamp": 1721187300000,
"description": "A pipeline that generates text embeddings and stores additional fields.",
"status": "SERVING",
"totalUsage": {
"embedding": 0
},
"functions": [
{
"name": "index_my_text",
"action": "INDEX_TEXT",
"inputFields": [
"text_list"
],
"language": "ENGLISH",
"embedding": "zilliz/bge-base-en-v1.5"
},
{
"name": "keep_text_info",
"action": "PRESERVE",
"inputField": "source",
"outputField": "source",
"fieldType": "VarChar"
}
],
"clusterId": "inxx-xxxx",
"collectionName": "my_collection"
}
}
{
"code": 200,
"data": {
"pipelineId": "pipe-xxxx",
"name": "my_doc_ingestion_pipeline",
"type": "INGESTION",
"createTimestamp": 1721187300000,
"description": "A pipeline that splits a doc file into chunks and generates embeddings. It also stores the publish_year with each chunk.",
"status": "SERVING",
"totalUsage": {
"embedding": 0
},
"functions": [
{
"action": "INDEX_DOC",
"name": "index_my_doc",
"inputField": "doc_url",
"language": "ENGLISH",
"chunkSize": 500,
"embedding": "zilliz/bge-base-en-v1.5",
"splitBy": [
"\n\n",
"\n",
" ",
""
]
},
{
"action": "PRESERVE",
"name": "keep_doc_info",
"inputField": "publish_year",
"outputField": "publish_year",
"fieldType": "Int16"
}
],
"clusterId": "in03-***************",
"collectionName": "my_collection"
}
}
{
"code": 200,
"data": {
"pipelineId": "pipe-xxxx",
"name": "my_image_ingestion_pipeline",
"type": "INGESTION",
"createTimestamp": 1721187300000,
"clusterId": "in03-***************",
"collectionName": "my_collection",
"description": "A pipeline that converts an image into vector embeddings and store in efficient index for search.",
"status": "SERVING",
"totalUsage": {
"embedding": 0
},
"functions": [
{
"action": "INDEX_IMAGE",
"name": "index_my_image",
"inputFields": [
"image_url",
"image_id"
],
"embedding": "zilliz/vit-base-patch16-224"
},
{
"action": "PRESERVE",
"name": "keep_image_tag",
"inputField": "image_title",
"outputField": "image_title",
"fieldType": "VarChar"
}
]
}
}