VectorDB Embedding 服务产品说明
功能简介
Baidu VectorDB Embedding 服务是面向百度向量数据库(VectorDB / Mochow)实例提供的一站式文本向量化能力。开启后,用户无需单独部署 Embedding 推理服务,也无需在应用侧提前将文本转成向量;在表 Schema 中配置 Embedding 绑定(embeddingParams)后,即可在写入、更新和检索时直接传入原始文本,由 VectorDB 调用百度智能云千帆 Embedding 模型完成向量生成,并将向量写入指定字段用于语义检索。
该能力用于降低 RAG、知识库问答、文档搜索、FAQ 检索、推荐召回等场景的接入复杂度,帮助用户把“文本切分 - 向量化 - 写入 VectorDB - 查询向量化 - 相似度检索”的链路收敛到 VectorDB 实例内完成。
核心能力
| 功能 | 说明 |
|---|---|
| 托管式 Embedding | 平台托管千帆模型调用能力,用户无需自行部署 Embedding 服务 |
| 实例级开关 | 通过实例级开关(enable_embedding)控制是否开启 Embedding 能力;关闭时相关请求由 Proxy 直接拒绝 |
| Schema 绑定集成 | 在建表 Schema 中通过 embeddingParams 绑定文本输入字段和向量输出字段,实现自动向量化 |
| 原始文本直接写入 | 写入 / 更新数据时只传入绑定的输入文本字段,系统自动生成向量并写入输出向量字段 |
| 原始文本直接检索 | 检索时传入自然语言文本,系统自动完成查询向量化并执行向量检索 |
| 多字段多绑定 | 一张表支持多个 Embedding 绑定,每个输入字段唯一绑定一个输出向量字段 |
| 实例级用量统计 | 按模型维度统计 token 用量、调用量、成功率、QPS 和响应延迟等指标,用于监控、告警和计费 |
| 生命周期联动 | 关闭 Embedding 后禁用实例内向量化配置;删除实例时清理平台托管的模型服务资源 |
适用场景
文搜文语义检索
用户将文档片段、FAQ、商品描述、工单内容等原始文本写入 VectorDB。写入时,VectorDB 自动调用 Embedding 模型生成向量并存储到输出向量字段。查询时,用户直接输入自然语言问题,VectorDB 自动生成查询向量并返回语义最相关的结果。
适用于:
- 企业知识库问答
- FAQ 和客服工单检索
- 文档搜索和资料检索
- RAG 召回链路
- 商品、内容、文章的语义召回
应用侧向量化链路简化
传统接入方式需要应用侧自行维护 Embedding 服务调用、批量重试、字段映射、异常处理和计费统计。开启 Baidu VectorDB Embedding 服务后,应用侧只需要维护原始文本字段和表 Schema,向量化由 VectorDB 通过 embeddingParams 绑定统一完成。
模型效果快速切换验证
Baidu VectorDB Embedding 服务支持多种文本 Embedding 模型。用户可根据上下文长度、向量维度、语言类型、召回效果和成本要求选择模型,降低模型选型和验证成本。
使用流程
1. 开启 Embedding 服务
用户可通过以下方式开启 Embedding:
| 开启方式 | 说明 |
|---|---|
| 创建实例时开启 | 在创建 VecotrDB 引擎实例页面选择开启 Embedding |
| 存量实例开启 | 在实例详情或 Embedding 管理入口中,对运行中的 VecotrDB 实例开启 Embedding |
2. 建表并配置 Embedding 绑定
在建表 Schema 中定义原始文本字段(STRING)和向量字段(FLOAT_VECTOR 且配置 dimension),并通过 embeddingParams 将文本字段绑定到向量字段。
1POST /v1/table?create HTTP/1.1
2{
3 "database": "db_name",
4 "table": "doc_search_demo",
5 "replication": 3,
6 "partition": {
7 "partitionType": "HASH",
8 "partitionNum": 10
9 },
10 "schema": {
11 "fields": [
12 {
13 "fieldName": "id",
14 "fieldType": "UINT64",
15 "primaryKey": true,
16 "partitionKey": true
17 },
18 {
19 "fieldName": "content",
20 "fieldType": "STRING",
21 "notNull": true
22 },
23 {
24 "fieldName": "content_vector",
25 "fieldType": "FLOAT_VECTOR",
26 "dimension": 1024,
27 "notNull": true
28 }
29 ],
30 "embeddingParams": [
31 {
32 "inputFieldName": "content",
33 "outputFieldName": "content_vector",
34 "modelName": "bge-large-zh"
35 }
36 ]
37 }
38}
绑定约束:
inputFieldName字段类型必须为STRING。outputFieldName字段类型必须为FLOAT_VECTOR且必须配置dimension。- 一个输入字段只能绑定一个输出字段,一个输出字段也只能绑定一个输入字段;输入、输出字段不能相同。
- 输入字段与输出字段的
notNull配置必须一致。 - 建表时服务端会调用模型验证可用性,并校验模型实际输出维度是否与
outputFieldName的dimension一致;模型不可用、维度不匹配、Embedding 未开启或 credential 未就绪时,建表失败。
说明:
dimension必须与所选模型的输出向量维度一致。
3. 写入原始文本
写入 / 更新数据时,只需提供绑定的输入文本字段。服务端会调用绑定模型生成向量并写入输出向量字段。输出向量字段由服务端生成,客户端不得直接提供。
1POST /v1/row?insert HTTP/1.1
2{
3 "database": "db_name",
4 "table": "doc_search_demo",
5 "rows": [
6 {
7 "id": 1,
8 "content": "向量数据库通过将文本转换为高维向量来实现语义检索。"
9 },
10 {
11 "id": 2,
12 "content": "检索增强生成可以通过召回相关文档提升大模型回答可靠性。"
13 }
14 ]
15}
空值语义:
- 当输入 / 输出字段均为
notNull=false时,空字符串或缺省按空值处理,不触发 Embedding,输出向量保持为空。 - 当绑定字段为
notNull=true时,空字符串不由 VectorDB 层预先拒绝,会继续交给外部模型处理。
4. 使用自然语言检索
检索时直接在 anns 中通过 textField 指定绑定的输入文本字段并传入 text,服务端自动完成查询向量化并基于绑定的输出向量字段执行相似度检索。文本输入与 vector、vectorFloats 互斥。
1POST /v1/row?search HTTP/1.1
2{
3 "database": "db_name",
4 "table": "doc_search_demo",
5 "anns": {
6 "textField": "content",
7 "text": "什么是语义检索?",
8 "params": {
9 "ef": 100,
10 "limit": 3
11 }
12 },
13 "projections": ["id", "content"]
14}
批量文本检索(BatchSearch)使用 textField + texts;multiVectorSearch 的每个子检索可独立使用 textField + text。
支持模型与规格
VectorDB Embedding 通过百度智能云千帆平台调用以下文本 Embedding 模型:
| 模型名称 | modelName 参数 | 支持最大向量维度 | 最大输入 batch_size | 每个文本上下文长度 token | 服务速率限制 | 售卖方式 | 服务价格 |
|---|---|---|---|---|---|---|---|
| Embedding-V1 | embedding-v1 | 384 | 16 | 384 | 1800 RPM / 800000 TPM | 按量后付 | 0.0005 元/千 tokens |
| tao-8k | tao-8k | 1024 | 1 | 8192 | 1800 RPM / 800000 TPM | 按量后付 | 0.0005 元/千 tokens |
| bge-large-zh | bge-large-zh | 1024 | 16 | 512 | 1800 RPM / 800000 TPM | 按量后付 | 0.0005 元/千 tokens |
| bge-large-en | bge-large-en | 1024 | 16 | 512 | 1800 RPM / 800000 TPM | 按量后付 | 0.0005 元/千 tokens |
| Qwen3-Embedding-0.6B | qwen3-embedding-0.6b | 1024 | 16 | 8192 | 1800 RPM / 800000 TPM | 按量后付 | 0.0005 元/千 tokens |
| Qwen3-Embedding-4B | qwen3-embedding-4b | 2560 | 16 | 8192 | 1800 RPM / 800000 TPM | 按量后付 | 0.0005 元/千 tokens |
| Qwen3-Embedding-8B | qwen3-embedding-8b | 4096 | 16 | 8192 | 200 RPM / 50000 TPM | 按量后付 | 0.0005 元/千 tokens |
模型选择建议
| 场景 | 推荐模型 | 说明 |
|---|---|---|
| 中文知识库问答 | bge-large-zh、Qwen3-Embedding-0.6B | 适合中文文本检索、FAQ、知识库召回 |
| 英文文本检索 | bge-large-en | 适合英文语料的语义匹配和文档搜索 |
| 长文本切片召回 | tao-8k、Qwen3-Embedding-0.6B、Qwen3-Embedding-4B | 支持 8192 token 上下文,适合长文档片段 |
| 高维召回效果验证 | Qwen3-Embedding-4B、Qwen3-Embedding-8B | 输出维度更高,适合对召回效果要求更高的场景 |
| 低成本快速接入 | Embedding-V1、bge-large-zh | 适合基础语义检索和验证场景 |
计费说明
Baidu VectorDB Embedding 服务采用按量后付费模式,按千帆 Embedding 模型调用消耗的 token 进行线性计费。
| 计费项 | 说明 |
|---|---|
| 计费方式 | 按量后付 |
| 计费粒度 | 按 token 用量计费 |
| 计费单位 | 千 tokens |
| 单价 | 0.0005 元/千 tokens |
| 用量归属 | 按 VectorDB 实例维度绑定模型调用能力,并按用户账号推送账单 |
用户可在实例维度查看 token 用量、调用量、成功率、QPS 和响应延迟等指标,用于成本分析、容量评估和告警配置。
监控指标
开启 Embedding 后,支持以下监控项:
| 中文名称 | Metrics name | 单位 | 含义 |
|---|---|---|---|
| embedding 调用成功数 | ProxyEmbeddingCallSuccess | count | 节点级别 Embedding 调用成功数 |
| embedding 调用总数 | ProxyEmbeddingCallTotal | count | 节点级别 Embedding 调用总数 |
| embedding 请求成功率 | ProxyEmbeddingCallSuccessRate | % | 节点级别 Embedding 请求成功率 |
| embedding 每秒请求数 | ProxyEmbeddingCallTotalPerSecond | count/s | 节点级别 Embedding 每秒请求数 |
| embedding 响应时间平均延迟 | ProxyEmbeddingCallLatencyAvg | ms | 节点级别 Embedding 响应时间平均延迟 |
| embedding 响应时间 P99 延迟 | ProxyEmbeddingCallLatencyP99 | ms | 节点级别 Embedding 响应时间 P99 延迟 |
| embedding Token 每秒消耗使用率 | ProxyEmbeddingTokenUsageRatePerSecond | count/s | 节点级别 Embedding Token 每秒消耗量 |
| embedding Token 每监控周期消耗量 | ProxyEmbeddingTokenUsagePerCycle | count | 节点级别 Embedding Token 每 60 秒消耗量 |
| embedding 调用成功数 | AppEmbeddingCallSuccess | count | 实例级别 Embedding 调用成功数 |
| embedding 调用总数 | AppEmbeddingCallTotal | count | 实例级别 Embedding 调用总数 |
| embedding 每秒请求数 | AppEmbeddingCallTotalPerSecond | count/s | 实例级别 Embedding 每秒请求数 |
| embedding 响应时间平均延迟 | AppEmbeddingCallLatencyAvg | ms | 实例级别 Embedding 响应时间平均延迟 |
| embedding 响应时间 P99 延迟 | AppEmbeddingCallLatencyP99 | ms | 实例级别 Embedding 响应时间 P99 延迟 |
| embedding Token 每秒消耗使用率 | AppEmbeddingTokenUsageRatePerSecond | count/s | 实例级别 Embedding Token 每秒消耗量 |
| embedding Token 每监控周期消耗量 | AppEmbeddingTokenUsagePerCycle | count | 实例级别 Embedding Token 每 60 秒消耗量 |
| embedding Token 消耗总量 | AppEmbeddingUsageSum | count | 实例级别 Embedding Token 累计消耗总量 |
使用限制与注意事项
1* Embedding 服务仅适用于已支持该能力的 VectorDB 引擎实例。
- 输出向量字段的
dimension必须与所选模型的输出维度一致。 - 写入和检索会触发模型调用,调用延迟会影响端到端写入或查询耗时。
- 每个模型存在 RPM、TPM 等服务速率限制,请根据业务峰值选择合适模型。
- 关闭 Embedding 后不再自动调用模型服务;已写入的向量数据不受影响。
- 删除实例时,平台会清理随实例创建的模型服务资源。
FAQ
Q1:开启 Embedding 后,用户是否还需要自己调用 Embedding API?
不需要。在表 Schema 中配置 embeddingParams 绑定后,写入和检索时直接传入绑定的原始文本字段即可,由 VectorDB 自动调用千帆模型生成向量。
Q2:关闭 Embedding 会删除已经写入的向量吗?
不会。关闭 Embedding 只是不再自动调用模型服务,已写入表的向量字段数据不受影响。
Q3:一张表可以绑定多个模型吗?
可以。一张表支持多个 Embedding 绑定,每个绑定使用独立的输入字段、输出字段和模型;但一个输入字段只能绑定一个输出字段,一个输出字段也只能绑定一个输入字段。
Q4:为什么向量字段维度必须和模型一致?
向量字段在建表时需要固定 dimension。如果模型输出 1024 维,向量字段也必须定义为 1024 维,否则建表期维度校验失败(Embedding Dimension Mismatch)。
Q5:是否支持多模态输入?
本期产品说明以文本 Embedding 为主。如需上线多模态检索能力,需要补充多模态模型、媒体输入、对象存储访问和检索示例等产品与技术方案。
评价此篇文章
