嵌入(Embeddings)

为语义搜索、检索和 RAG(检索增强生成)生成文本嵌入

嵌入将文本转换为可存储在向量数据库中的数值向量,可用余弦相似度进行搜索或用于 RAG 流水线。
向量长度取决于模型(通常为 384–1024 维)。

推荐模型

  • embeddinggemma
  • qwen3-embedding
  • all-minilm

生成嵌入

命令行(CLI)

  1. 直接在命令行生成嵌入:
ollama run embeddinggemma "Hello world"

输出

[-0.20235947,0.034742266,0.06009154,...中间省略...,-0.057829987,-0.036453627,-0.037171964]
  1. 也可以通过管道传入文本:
echo "Hello world" | ollama run embeddinggemma

输出为 JSON 数组。

/api/embed 端点返回 L2 归一化(单位长度)向量。

Python

  • 单文本嵌入
import ollama

single = ollama.embed(
  model='embeddinggemma',
  input='The quick brown fox jumps over the lazy dog.'
)
print(len(single['embeddings'][0]))  # vector length
  • 批量嵌入
import ollama

batch = ollama.embed(
  model='embeddinggemma',
  input=[
    'The quick brown fox jumps over the lazy dog.',
    'The five boxing wizards jump quickly.',
    'Jackdaws love my big sphinx of quartz.',
  ]
)
print(len(batch['embeddings']))  # number of vectors

提示
对大多数语义搜索场景使用余弦相似度
索引和查询应使用相同的嵌入模型。
将嵌入存储在向量数据库中,以便快速的近似最近邻搜索。
索引和查询之间确保预处理一致(分词、大小写、修剪)。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐