概念
向量化是将文本块转换为数值向量的过程,这些向量能够捕捉文本的语义信息,便于相似性搜索和机器学习模型使用。 与传统的基于关键词的搜索不同,向量化支持语义搜索,即根据文本的含义而非精确匹配来查找相关内容。这对构建 RAG(检索增强生成)应用、知识库系统等场景非常重要。用途
向量化的主要用途:- 语义搜索:通过比较嵌入向量,可以实现基于语义的搜索,找到含义相似的内容
- 相似度计算:计算不同文本块之间的语义相似度
- 向量数据库存储:将文本转换为向量后,可以存储到向量数据库(如 Milvus、Zilliz)中进行高效检索
- RAG 应用:为检索增强生成应用提供向量化的文档内容
参数说明
provider
类型:string必填: 是
默认值:
"qwen"可选值:
qwen | doubao
Embedding 供应商选择:
- qwen: 阿里云通义千问
- doubao: 字节跳动豆包
model_name
类型:string必填: 是
默认值:
"text-embedding-v4"可选值: 取决于 provider 模型名称,必须与 provider 匹配。详见支持的模型部分。
支持的模型
Qwen(阿里云通义千问)
text-embedding-v3
- 描述: 通用向量模型
- 向量维度: 1024
- 特点: 平衡了精度和速度,适合大多数场景
- 推荐场景: 一般性的文档处理和检索场景
text-embedding-v4
- 描述: 更高精度的向量模型
- 向量维度: 1024
- 特点: 提供更高的精度,适合对精度要求较高的场景
- 推荐场景: 对检索精度要求较高的场景,如专业文档检索
Doubao(字节跳动豆包)
doubao-embedding-large-text-250515
- 描述: 大模型版本
- 向量维度: 1024
- 特点: 大模型版本,提供更高的精度
- 推荐场景: 对精度要求较高的场景
doubao-embedding-text-240715
- 描述: 标准版本
- 向量维度: 1024
- 特点: 标准版本,平衡了精度和速度
- 推荐场景: 一般性的文档处理和检索场景
向量维度
当前 Pipeline API 使用的所有模型均为 1024 维。在配置向量数据库(如 Milvus)时,需要确保dimension 参数设置为 1024。
输出结果说明
embed 阶段会在元素顶层添加embeddings 字段,包含该文本的向量表示。如果未执行 embed 阶段,该字段不会出现。
向量化后的元素示例
embeddings 字段是一个浮点数数组,长度为 1024,表示文本的语义向量表示。
使用示例
示例 1:使用 Qwen 模型
示例 2:使用 Qwen v3 模型(标准版本)
示例 3:使用 Doubao 模型
示例 4:使用 Doubao 标准版本
模型选择建议
何时使用 Qwen
- 需要中文语义理解能力强的模型
- 对精度和速度有平衡要求
- 一般性的文档处理和检索场景
- text-embedding-v3: 适合大多数场景,平衡了精度和速度
- text-embedding-v4: 适合对精度要求较高的场景
何时使用 Doubao
- 需要字节跳动生态的向量模型
- 对特定场景有优化需求
- doubao-embedding-text-240715: 适合一般场景
- doubao-embedding-large-text-250515: 适合对精度要求较高的场景
向量检索示例
向量化后,可以使用向量进行相似度搜索:注意事项
- 向量维度一致性:确保向量数据库的
dimension参数与模型维度一致(当前为 1024) - 模型与 provider 匹配:
model_name必须与provider匹配,否则会报错 - 查询向量化:进行向量检索时,查询文本也需要使用相同的模型进行向量化
- 批量处理:Pipeline 会自动批量处理所有元素的向量化,无需手动调用
相关文档
- 文档元素和元数据 - 了解元素结构和 embeddings 字段
- 解析模块 - 了解如何解析文档
- 分块模块 - 了解如何对元素进行分块
- 快速启动 - 了解如何使用 Pipeline 处理文档
- Agent/RAG 实战教程 - 了解如何构建 RAG 应用与 LangChain Agent

