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("这个文档说了什么?")

常用链路 #

前端中间件后端
ChatOpenAIPostgreSQL
StreamlitLangChainChroma
GradioRetrievalQAFAISS

部署 #

本地部署 #

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

💬 留言讨论