RAG 应用设计
RAG 是企业最常落地的大模型应用之一,典型场景包括内部知识库、客服问答、制度查询、技术文档助手、合同问答等。
标准架构
text
文档源
↓ 同步/解析
文本清洗
↓
文本切分
↓
Embedding
↓
向量库
↓
用户问题 → 检索 → 重排 → Prompt 拼接 → 模型回答简化代码
python
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_template("""
请基于上下文回答问题。
如果上下文没有答案,请说不知道。
上下文:
{context}
问题:{question}
""")
llm = ChatOpenAI(model="gpt-4.1-mini", temperature=0)
# docs = retriever.invoke(question)
# context = "
".join([d.page_content for d in docs])
# answer = llm.invoke(prompt.invoke({"context": context, "question": question}))质量优化清单
- 文档是否清洗干净。
- chunk 是否保留标题和来源。
- Embedding 是否适合中文。
- 是否做权限过滤。
- 是否做 rerank。
- Prompt 是否要求基于上下文回答。
- 是否返回引用来源。
- 是否评估命中率和答案准确率。
和传统搜索的区别
传统搜索更偏关键词匹配,RAG 更偏语义检索 + 生成式回答。生产中最好使用混合检索,而不是只依赖向量相似度。
非官方声明
本站为个人维护的非官方中文学习文档,不代表 LangChain 官方。页面内容是基于公开文档、源码实践和中文开发者视角重新整理的学习资料。涉及 API 细节时,请以官方文档和实际安装版本为准。
参考来源
- LangChain / LangGraph 官方文档:
https://docs.langchain.com/ - LangChain API Reference:
https://reference.langchain.com/ - 本站内容为中文学习整理,不做官方身份声明。