全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

向量写入

最近更新时间:2026-11-03 20:47:21

put 命令用于把文本、图片或视频向量化后写入 KS3 向量索引,把源文件读取、调用模型生成向量、写入向量索引三步封装为一条命令,无需分别调用底层 API。

写入文本向量

把文本转为向量写入索引。输入源支持文本字符串、本地文本文件或 KS3 对象。CLI 会自动在元数据中添加源信息字段(KS3VECTORS-EMBED-SRC-*),用于追溯向量来源:

直接输入文本

直接在命令行输入文本,转为向量写入:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --text-value:         直接输入文本

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "测试文本"

命令返回示例:

{
  "key": "5027ad55-3a3b-436c-b0a8-acbcce74f45d",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT": "测试文本",
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
    "KS3VECTORS-EMBED-SRC-LOCATION": "direct_text_input"
  }
}

读取本地文本文件

把本地文本文件转为向量写入:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --text:               本地文件路径

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text "./docs/readme.txt"

命令返回示例:

{
  "key": "069ea022-18b8-4b23-85c7-5068fc0115f0",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT": "测试文档内容。",
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
    "KS3VECTORS-EMBED-SRC-LOCATION": "./docs/readme.txt"
  }
}

读取 KS3 对象

读取 ks3:// 对象(路径格式 ks3://bucket-name/object-key)转为向量写入:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --text:               源文件 KS3 路径

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text "ks3://<源桶名>/<文件>"

命令返回示例:

{
  "key": "b6c28a62-af74-4304-a2a3-3eb8835eef6d",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT": "This is an example file.",
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
    "KS3VECTORS-EMBED-SRC-LOCATION": "ks3://source-bucket/documents/file.txt"
  }
}

写入图片向量

把图片转为向量写入索引。输入源支持本地文件、KS3 对象或 HTTP/HTTPS URL。

读取本地图片

把本地图片文件转为向量写入:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --image:              本地图片文件路径

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --image "./images/photo.jpg"

命令返回示例:

{
  "key": "390ef670-d194-4dbf-ab02-9e46c7b7f013",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "image",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "IMAGE",
    "KS3VECTORS-EMBED-SRC-LOCATION": "./images/photo.jpg"
  }
}

读取 KS3 对象

读取 ks3:// 图片(路径格式 ks3://bucket-name/object-key)转为向量写入:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --image:              源图片 KS3 路径

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --image "ks3://<源桶名>/<图片>"

命令返回示例:

{
  "key": "0f385893-ad3c-4d3d-8b2c-42d40c1dbd31",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "image",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "IMAGE",
    "KS3VECTORS-EMBED-SRC-LOCATION": "ks3://source-bucket/photo.jpg"
  }
}

服务端缩放 KS3 图片

对 ks3:// 图片可先用 --image-resize 做服务端等比缩放(10%-100%),缩小体积以加快处理。该参数仅支持 ks3:// 图片,本地文件和 URL 不支持:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --image:              源图片 KS3 路径
# --image-resize:       缩放百分比(10-100,仅支持 ks3:// 图片)

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --image "ks3://<源桶名>/<图片>" \
  --image-resize 50

读取图片 URL

把图片 URL 转为向量写入:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --image:              图片 URL 地址

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --image "https://example.com/photo.jpg"

命令返回示例:

{
  "key": "b27145f5-6445-4d2c-855d-8ff377da6fe8",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "image",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "IMAGE",
    "KS3VECTORS-EMBED-SRC-LOCATION": "https://example.com/photo.jpg"
  }
}

写入视频向量

把视频转为向量写入索引。输入源支持 KS3 视频文件或 HTTP/HTTPS URL。

读取 KS3 对象

把 ks3:// 视频转为向量写入,需加 --presign-url 生成预签名 URL 传给模型服务:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --video:              源视频 KS3 路径
# --presign-url:        对 ks3:// 视频生成预签名 URL 传给模型服务(ks3:// 视频必填)

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --video "ks3://<源桶名>/<视频>" \
  --presign-url

命令返回示例:

{
  "key": "c813cd82-f699-4588-821d-718d193b7ef6",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "video",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "VIDEO",
    "KS3VECTORS-EMBED-SRC-LOCATION": "ks3://source-bucket/video.mp4"
  }
}

读取视频 URL

把视频 URL 转为向量写入:

# 参数说明:
# --vector-bucket-name: KS3 向量桶名称
# --index-name:         KS3 向量索引名称
# --model-id:           使用的向量模型
# --video:              视频 URL 地址

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --video "https://example.com/video.mp4"

命令返回示例:

{
  "key": "701c811b-9aad-4abd-9fd5-4b0bfb141819",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "video",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "VIDEO",
    "KS3VECTORS-EMBED-SRC-LOCATION": "https://example.com/video.mp4"
  }
}

写入时添加标量元数据

写入时可用 --metadata 添加自定义标量元数据,用于向量和标量混合检索:

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "技术文档内容" \
  --metadata '{"category": "technology", "version": "1.0", "author": "admin"}'

用户自定义的元数据字段会与系统自动添加的字段合并存储。命令返回示例:

{
  "key": "0c31b1a8-bbf0-4ae5-82bf-9d11cb50d4e1",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "embeddingDimensions": 1024,
  "metadata": {
    "category": "technology",
    "version": "1.0",
    "author": "admin",
    "KS3VECTORS-EMBED-SRC-CONTENT": "技术文档内容",
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
    "KS3VECTORS-EMBED-SRC-LOCATION": "direct_text_input"
  }
}

批量处理

--text 支持通配符(*/?),可对整个目录或 ks3:// 前缀下的文件批量向量化写入。批量模式下 CLI 自动并行处理,可用 --max-workers 调整并发数:

# 参数说明:
# --text:         本地通配符路径或 ks3:// 前缀(如 ks3://bucket/prefix/*)
# --max-workers:  并发数,默认值 4

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text "./docs/*.txt" \
  --max-workers 8

命令返回示例:

{
  "type": "streaming_batch",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "totalFiles": 3,
  "processedFiles": 3,
  "failedFiles": 0,
  "totalVectors": 3,
  "vectorKeys": [
    "36fcf004-032f-4470-ae01-2a02f92dec1c",
    "3a1c4121-4d2d-47da-83fb-5b0ed58407eb",
    "072a803f-2ea6-4688-8247-81983142e7ff"
  ]
}

自定义向量键

向量键默认自动生成 UUID,也可灵活指定:可设为特定自定义字符串、直接用原始文件名作为键,或为键添加统一前缀。

自定义键值

通过 --key 参数将向量键设为指定值:

# 将向量键设为 doc-001
ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "文档内容" \
  --key "doc-001"

命令返回示例:

{
  "key": "doc-001",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT": "文档内容",
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
    "KS3VECTORS-EMBED-SRC-LOCATION": "direct_text_input"
  }
}

用文件名作为键

通过 --filename-as-key 参数将原始文件名自动设为向量键:

# 将原始文件名 article.txt 设为向量键
ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text "./docs/article.txt" \
  --filename-as-key

命令返回示例:

{
  "key": "article.txt",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT": "人工智能正在改变我们的生活方式。",
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
    "KS3VECTORS-EMBED-SRC-LOCATION": "./docs/article.txt"
  }
}

为向量键添加前缀

通过 --key-prefix 参数为向量键添加统一前缀,可与 --key 或自动生成的键搭配使用:

# 为向量键添加前缀 project-a/
ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "文档内容" \
  --key "doc-001" \
  --key-prefix "project-a/"

命令返回示例:

{
  "key": "project-a/doc-001",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT": "文档内容",
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
    "KS3VECTORS-EMBED-SRC-LOCATION": "direct_text_input"
  }
}

自定义模型参数

通过 --embedding-inference-params 传递模型特定参数(JSON 格式)以精细控制向量化行为,如向量维度等。具体可用参数取决于所用的向量模型:

ks3-vectors-embed put \
  --vector-bucket-name <向量桶名> \
  --index-name <索引名> \
  --model-id qwen3-vl-embedding \
  --text-value "技术文档内容" \
  --embedding-inference-params '{"parameters": {"dimension": 1024}}'

命令返回示例:

{
  "key": "7a2c3e9d-4f1b-48d6-9e8a-1c3b5d7f9e2a",
  "bucket": "test-vector-bucket",
  "index": "test-index",
  "model": "qwen3-vl-embedding",
  "contentType": "text",
  "embeddingDimensions": 1024,
  "metadata": {
    "KS3VECTORS-EMBED-SRC-CONTENT": "技术文档内容",
    "KS3VECTORS-EMBED-SRC-CONTENT-TYPE": "TEXT",
    "KS3VECTORS-EMBED-SRC-LOCATION": "direct_text_input"
  }
}

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈