promptgarten 🌱
🌍 DE
术语●●○3 分钟 · +25 XP

Embeddings——文本变数字

Embeddings 将文本转化为数字向量,使 AI 能够用数学方法比较语义相似度。

什么是 embedding?

Embedding 是一组数字(一个向量),用来在多维空间中表示一段文本——一个词、一句话、一整段——的含义。生成这些数字的是一个专门的 embedding 模型,而不是之后回答你问题的那个语言模型本身。

为什么这很有用

含义相近的文本,其向量在数字空间中的位置也会彼此靠近。"狗"和"小狗"的向量很接近,"狗"和"报税单"的向量则相距很远。计算机可以计算这种远近关系(例如用余弦相似度),而无需真正"理解"语言——纯数学计算就足够了。

Embeddings 的用途

  • 语义搜索:即使没有任何一个词完全匹配,也能找到内容相关的文档
  • RAG:为一次请求寻找相关文本片段的基础
  • 聚类:自动将相似的文本归类
  • 推荐:"相关文章"功能

Embeddings 存储在哪里

数据量较大时,embeddings 会存储在向量数据库中(例如 Pinecone、Weaviate,或 Postgres 的扩展 pgvector),这类数据库专为在数百万个向量中进行快速相似度搜索而优化。

示例

embed('狗') ≈ [0.12, -0.44, 0.81, ...] embed('小狗') ≈ [0.14, -0.41, 0.79, ...] → 彼此接近 embed('报税单') ≈ [-0.9, 0.33, -0.1, ...] → 相距很远

小测验

如果两个 embeddings 彼此接近,这意味着什么?

来源

相关主题

RAG(检索增强生成) ●●○Context Window(上下文窗口) ●○○什么是 LLM? ●○○