RAG简介
Source: Dev.to
什么是模型?
模型本质上是一个方程式。
示例
y = mx + c
在训练期间,会提供 x 和 y 的数值。模型学习 m 和 c 的合适取值以拟合数据。m 和 c 的取值可能会因使用场景而异。
什么是参数?
参数是训练过程中学习到的变量。
- m 是一个参数
- c 是一个参数
更多的参数使模型能够学习更复杂的模式。
什么是温度?
温度控制模型的创造力。它通常在 0 到 1 之间取值。
- 温度低 → 更事实性的答案
- 温度高 → 更富想象力的答案
温度随提示输入一起传递,通常设置在 0.5 左右,以获得平衡的输出。
SLM
SLM 代表 小型语言模型(Small Language Model)。
- 通常拥有更少的十亿级参数。
- 为特定领域或特定任务进行训练。
- 训练成本仍可能很高,类似于 LLM,取决于使用场景。
示例:smallest ai – 提供基于语音的较小 AI 模型。
LLM
LLM 代表 大型语言模型(Large Language Model)。
- 通常拥有数十亿参数,包含来自多个领域的知识。
- 被视为通用模型。
示例:gpt‑oss‑120b。
LLM 的工作原理
LLM 的主要功能是正确预测下一个词。它通过基于前面的词预测一个词接着一个词来生成文本。
有时 LLM 会自信地生成错误信息,这种现象称为 幻觉(hallucination)。
示例:如果模型了解猫和狗,但对狮子的了解有限,它可能会生成不相关或错误的内容。
通过编写合适的提示并提供正确的上下文,可以降低幻觉的发生。
什么是 RAG?
RAG 代表 检索增强生成(Retrieval‑Augmented Generation)。
它是一种用于提供私有或外部知识的方法,例如:
- 公司政策
- 人力资源政策文件
- 内部业务文档
这些信息会提供给 LLM,使其能够基于这些内容生成可读的答案。
私有数据存放在哪里?
私有数据通常存储在 向量数据库 中。
文档是如何存储的
文档会被拆分成更小的部分,称为 块(chunks)。
这些块会被转换为数值向量并存入向量数据库。
为了快速检索相关块,常用以下算法:
- ANN(近似最近邻)
- KNN(K 最近邻)