最近更新时间: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://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://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:// 图片可先用 --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 转为向量写入:
# 参数说明:
# --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:// 视频转为向量写入,需加 --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 转为向量写入:
# 参数说明:
# --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"
}
}
纯净模式
