LangChain 2026:构建 LLM 应用的完整框架指南
LangChain 是构建 LLM 应用的框架。从 LLM、聊天记忆、代理到 RAG。2026 版完整实战指南。
- ⭐ 68000
- Python
- MIT
- 更新于 2026-05-18
什么是 LangChain? #
LangChain 是构建大语言模型应用的框架。它将 LLM、聊天记忆、代理、工具调用、RAG 等模块化,解决从研究到生产的全链路问题。
核心组件 #
LLM 调用 #
from langchain.llms import OpenAI
llm = OpenAI(model="gpt-4", temperature=0)
response = llm("解释量子计算")
聊天模型 #
from langchain.chat_models import ChatOpenAI
chat = ChatOpenAI(model="gpt-4")
response = chat.invoke([
{"role": "system", "content": "你是个 helpful assistant"},
{"role": "human", "content": "解释下方代码的作用:"},
{"role": "human", "content": "for i in range(10): print(i)"}
])
记忆模块 #
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory()
memory.save_context({"input": "你好"}, {"output": "你好啊"})
代理 (Agent) #
from langchain.agents import initialize_agent, Tool
from langchain.tools import DuckDuckGoSearchRun
search = DuckDuckGoSearchRun()
tools = [Tool(name="search", func=search.run, description="搜索")]
agent = initialize_agent(tools, llm, agent="zero-shot-react-description")
RAG 构建 #
文档加载 #
from langchain.document_loaders import PyPDFLoader
loader = PyPDFLoader("document.pdf")
docs = loader.load()
文本分割 #
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
chunks = splitter.split_documents(docs)
向量化 #
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
embeddings = OpenAIEmbeddings()
db = Chroma.from_documents(chunks, embeddings)
检索问答 #
from langchain.chains import RetrievalQA
qa = RetrievalQA.from_chain_type(
llm,
retriever=db.as_retriever()
)
result = qa.run("这个文档说了什么?")
常用链路 #
| 前端 | 中间件 | 后端 |
|---|---|---|
| Chat | OpenAI | PostgreSQL |
| Streamlit | LangChain | Chroma |
| Gradio | RetrievalQA | FAISS |
部署 #
本地部署 #
pip install langchain[all]
云部署 #
FROM python:3.10
RUN pip install langchain openai
CMD ["python", "app.py"]
常见问题 #
Q: 如何显著提升 RAG 问答质量?
答:使用更好的分词器(如 SentenceSpliter)、更大的上下文窗口(1M+ tokens)、跨模态检索(图文)、以及后处理重排序(Reranker)。
Q: LangChain 是否支持多模态?
答:支持。可使用 HuggingFace GPT4Vision、Claude 3.5 Sonnet 等 multimodal LLM,结合图像加载器构建 VQA 系统。
参考:langchain-docs 更新:2026-05-18
💬 留言讨论