请解释以下三个概念的区别,并给出一个实际场景说明它们如何协同工作:
Token → Embedding → Vector Database
我知道 token 是大语言模型的基本单位,无论是输入给大模型的文字,还是大模型反馈的文字,都是以 token 为最小单位的。大模型的工作模式是根据不同 token 的连接方式去预测下一个可能的 token,不断重复这个过程,从而输出完整的回答。
Embedding 和 Vector Database:不知道。
建议优先补齐的知识缺口:
Token、Embedding、Vector Database 是 AI Native 应用数据链路中的三个层次,从"文字碎块"到"语义坐标"再到"语义搜索引擎"。
Token 是大语言模型处理文字的基本单位。无论输入还是输出,LLM 都在做同一件事:给定一系列 token,预测下一个最可能的 token,反复迭代直到生成完整结果。
Embedding 解决的是"机器不认识文字,只认识数字"的问题。Embedding 模型会把每个 token 或整段文本映射成一个固定长度的浮点数向量(比如 1536 维)。关键性质是:语义相近的文本,它们在向量空间中的距离也相近。"苹果"和"香蕉"的向量距离很近,"苹果"和"汽车"的向量距离很远。这就像给每段文字在语义空间中打了一个"坐标"。
Vector Database 解决的是"高效语义检索"的问题。当你拥有 100 万份文档的 Embedding 向量后,用户问一个问题,你需要找出最相关的几篇。你不能一个个遍历比较——太慢了。Vector DB 通过专门的索引结构(如 HNSW、IVF)把最近邻搜索加速到毫秒级,同时提供增删改查、元数据过滤等生产级能力。
三者协同:RAG 场景
用户提问"最新的报销政策是什么?"→
这样 LLM 就有了事实依据,避免了生编硬造。这就是 RAG 的核心链路。