
大语言模型的三大痛点
在落地大模型应用时,我们常遇到三个棘手问题。首先是幻觉,模型基于概率生成 Token,并不真正理解语义,容易一本正经地胡说八道。比如问它'太阳为什么从西边升起',它可能会编造地球自转改变的理由。
其次是时效性。训练成本高、周期长,导致模型无法掌握最新知识。如果训练数据截止到 2023 年,面对 2026 年的春节日期,它可能无法给出正确答案。
最后是数据安全。通用模型缺乏企业私有数据,直接输入敏感信息存在泄露风险。通常做法是将数据留在本地处理,仅让在线模型做归纳。
from transformers import pipeline
generator = pipeline('text-generation', model='gpt2')
result = generator("太阳为什么从西边升起?", max_length=100, num_return_sequences=1)
print(result[0]['generated_text'])
RAG 技术:检索增强生成
RAG(Retrieval-Augmented Generation)的核心思路是:LLM 在回答问题前,先从外部文档库检索相关信息,再基于这些资料生成回答。这就像学生考试时可以查阅课本,而不是仅凭记忆瞎蒙。
核心架构
RAG 包含两个关键模块:检索器和生成器。
检索器负责从知识库中找出最相关的 k 个文档。构建高质量检索器需解决语义表示、空间对齐等问题。生成器则将这些检索到的片段转化为自然流畅的文本。
from langchain.vectorstores import FAISS
from langchain.embeddings import OpenAIEmbeddings
embeddings = OpenAIEmbeddings()
documents = ["Python 学习资源 1...", "Python 学习资源 2..."]
db = FAISS.from_texts(documents, embeddings)
query = "如何学习 Python"
docs = db.similarity_search(query, k=2)
for doc in docs:
print(doc.page_content)
RAG 的八大优势
相比传统微调,RAG 具备显著优势:
- 可扩展性:无需重新训练整个模型,外挂知识库即可提供额外信息。


