96SEO 2026-04-29 21:50 7
在过去的几年里单纯依赖大语言模型进行回答的方案Yi经屡屡出现“幻觉”——模型凭空捏造信息、把事实说错。检索增强生成正是为了解决这个痛点而诞生的,它把传统信息检索和现代生成式 AI 融合在一起,让机器在“开卷有据”的前提下输出答案。

想象你手里有一本厚厚的百科全书,要回答“什么是区块链?”时你不会直接凭记忆胡乱猜,而是先翻到相关章节,再把kan到的内容组织成一句话。RAG 在计算机世界里Zuo的,就是这件事:先从外部知识库中挑出Zui贴近用户提问的片段,然后把这些片段当作上下文喂给大模型,让它基于真实材料生成答案。
1️⃣ 检索——把海量文档压缩成可比对的向量文本本身是字符,计算机只Neng处理数字。于是我们使用Embedding 模型把每段文字映射为一个高维数值数组。语义相近的句子会得到距离geng近的向量,这样就Ke以用余弦相似度等度量方法快速找出Zui相似的几段。
举个形象的例子:Ru果把一本书比作一只动物,每本书会被转化成一串特征数字——像动物的体重、毛色、栖息地等。两本书在主题上越相似,它们对应的特征数字就越接近。
2️⃣ 切块——让检索geng细致长文档直接向量化往往会稀释细节。因此我们会先把文档切成若干 chunk,每块大小一般在 500‑1000 token 左右,并留有一定重叠(overlap),防止一句话被硬生生截断导致语义丢失。每个 chunk dou会单独生成向量,这样检索时Ke以精准定位到包含答案关键字的小段落。
检索结束后我们把挑选出的若干 chunk 拼接成一个“参考材料”,再连同用户的问题一起送入 LLM。此时模型不再凭空想象,而是围绕提供的上下文进行推理和表述,从而显著降低幻觉率。
二、RAG 在实际问答系统中的价值体现
实时性:知识库可随时geng新,无需重新微调模型,只要重新构建向量索引即可让系统立刻掌握新信息。
成本优势:相比完整微调需要巨额算力和标注费用,RAG 只需一次性构建向量库,后续查询成本极低。
可信度提升:答案总会附带来源标记(例如 ),用户Ke以点开原文核实。
场景适配广:内部技术文档、客服 FAQ、学术论文库乃至多媒体素材,douNeng通过统一向量化接入 RAG 框架。
三、一步步搭建自己的 RAG Demo下面是一套完整且易于上手的示例代码,仅供学习使用。你只需要准备几篇 .txt 文档,即可体验从「加载」到「提问」全流程。
"""简易 RAG 演示
依赖:langchain, chromadb, dashscope, python-dotenv
核心步骤:
1) 加载本地 txt 文件
2) 使用 RecursiveCharacterTextSplitter 切块
3) 用 DashScope text-embedding-v4 将块转为向量
4) 把向量存入 Chroma 持久化数据库
5) 检索 top‑k 块 → 拼接上下文 → 调用 qwen3‑max 生成答案
"""
import os, argparse
from pathlib import Path
from dotenv import load_dotenv
load_dotenv
API_KEY = os.getenv
if not API_KEY:
raise SystemExit
# ---------- 配置 ----------
DATA_DIR = Path.parent / "data"
CHROMA_DIR = Path.parent / "chroma_db"
CHUNK_SIZE = 800 # 每块约 800 token
OVERLAP = 100 # 重叠 100 token
TOP_K = 5 # 检索返回前 5 条
# ---------- 工具 ----------
from langchain_community.document_loaders import TextLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.embeddings import DashScopeEmbeddings
from langchain_chroma import Chromafrom langchain_community.vectorstores import Chroma
def load_docs -> list:
docs =
for p in DATA_DIR.rglob:
loader = TextLoader, encoding="utf-8")
docs.extend)
return docs
def split_docs:
splitter = RecursiveCharacterTextSplitter(chunk_size=CHUNK_SIZE,
chunk_overlap=OVERLAP)
return splitter.split_documents
def embed:
return DashScopeEmbeddings(model="text-embedding-v4",
dashscope_api_key=API_KEY)
def build_index:
docs = load_docs
chunks = split_docs
vect = embed
Chromafrom_documents(chunks, embedding=vect,
persist_directory=str).persist
print
def ask:
vect = embed
store = Chroma,
embedding_function=vect)
retriever = store.as_retriever
results = retriever.invoke
context = "
".join}#c{r.metadata.get}]\
{r.page_content}" for r in results])
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages()
llm = ChatOpenAI(model="qwen3-max", api_key=API_KEY,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
temperature=0.0)
msg = prompt.invoke
resp = llm.invoke
print
print
if __name__ == "__main__":
parser = argparse.ArgumentParser
parser.add_argument
parser.add_argument
args = parser.parse_args
if args.build:
build_index
exit
if args.ask:
ask
exit
print
print
print
四、案例拆解:从“产品支持哪些系统?”到精准回复
假设你的公司内部有一套产品手册,里面记录了不同操作系统下的软件兼容情况。当用户在内部聊天机器人里询问「产品支持哪些系统?」时RAG 的工作流如下:
查询编码:将用户的问题转成查询向量。
相似度搜索:K‑Zui近邻算法在 Chroma 中挑出与查询Zui接近的5个 chunk,其中可Neng包含「Windows 支持」和「Linux 支持」两段文字。
拼接上下文:把这两段文字连同它们所在文件名一起组织成提示词。
LLM 推理:LLM 阅读提示词后仅基于提供的信息输出:「当前版本兼容 Windows 10/11 与 Ubuntu 20.04。」并在答案底部标注来源文件及 chunk 编号。
通过这种方式,即使 LLM 本身对Zui新操作系统不熟悉,也Neng依靠Zui新上传至知识库的数据给出准确答案。
五、为什么 RAG 越来越受青睐?| 维度 | 传统微调模型 | RAG 模式 |
|---|---|---|
| 需要大量 GPU 时长和标注数据 周期数月甚至geng久 | 一次性构建向量库 后续增删仅涉及轻量级重新索引 | |
| LLM geng新慢,一次训练后知识固化 新信息必须再训练一次 | LLM 不变,只要往知识库添加新文档即可即时生效 | |
| "黑盒"输出,难以追溯来源 容易出现幻觉 | Cite 标记清晰,可点开原始片段验证 | |
| - 对通用常识表现好,但对专有领域弱 | - 企业内部手册 - 法律法规库 - 学术论文集合 等 |
AIGC 正在进入一个「检索+生成」共舞的新阶段。未来可Neng出现以下趋势:
Pinecone / Milvus 等云原生向量数据库将进一步降低部署门槛,让企业无需自建硬件集群即可使用高效召回服务。
Edge‑LLM 与本地嵌入模型结合,实现离线环境下也Neng完成高速检索与生成,为工业现场或隐私敏感场景打开大门。
LLM 本身开始支持「插件式」调用外部工具,使得 RAG 不再局限于纯文本,还Neng直接引用图像、音频甚至代码执行结果作为上下文。
Ru果你正苦恼于传统 QA 系统经常跑偏、不敢放大规模,那不妨试试上述 RAG 流程;它既Neng保持“大脑”强大的语言理解,又Neng让“眼睛”随时浏览Zui新资料,从而真正Zuo到“知其然也知其所以然”。🚀💡
© 2026 AI 技术社区 | 本文采用 CC BY-NC-SA 4.0 协议发布,仅供学习交流。 `作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback