🚀 LangChain 快速入门:10分钟构建你的第一个 LLM 应用

适合人群:AI开发者 / Python工程师 / 想做 RAG、Agent、知识库系统的人
阅读时间:10分钟
技术栈:Python + OpenAI + LangChain


一、什么是 LangChain?

LangChain 是一个构建大模型应用的框架。

如果你直接用 OpenAI API,你只能做:

client.chat.completions.create(...)

但当你要做:

  • 多轮对话
  • 知识库问答(RAG)
  • Agent 自动调用工具
  • 多模型编排
  • Prompt 模板管理
  • 记忆管理

👉 代码会迅速变得混乱。

LangChain 的作用就是:

🧠 把 LLM 应用拆成模块化组件,让你像搭积木一样构建 AI 系统。


二、LangChain 核心架构

LangChain 的核心可以理解为 6 个组件:

模块 作用
Models 大模型
Prompts Prompt 模板
Chains 调用链
Memory 记忆
Tools 工具
Agents 智能体

我们一个一个来看。


三、安装 LangChain

pip install langchain
pip install langchain-openai
pip install openai

如果你做 RAG:

pip install faiss-cpu
pip install tiktoken

四、最简单的 LLM 调用

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-4o-mini",
    temperature=0
)

response = llm.invoke("用一句话解释什么是量子计算")

print(response.content)

✔ 就这么简单。


五、Prompt 模板

不要手写字符串拼接,用 PromptTemplate。

from langchain.prompts import PromptTemplate

template = """
你是一个专业老师。

问题:{question}

请用简单易懂的方式回答。
"""

prompt = PromptTemplate.from_template(template)

formatted_prompt = prompt.format(question="什么是黑洞?")

print(formatted_prompt)

六、LCEL(推荐方式)

LangChain 现在推荐用 LCEL(LangChain Expression Language)

可以像管道一样写:

from langchain.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI

prompt = ChatPromptTemplate.from_template("解释一下:{topic}")

model = ChatOpenAI(model="gpt-4o-mini")

chain = prompt | model

result = chain.invoke({"topic": "神经网络"})

print(result.content)

优点:

  • 可组合
  • 可并行
  • 可扩展
  • 代码优雅

七、构建一个 RAG(知识库问答)

这是最常见的应用场景。

1️⃣ 加载文档

from langchain.document_loaders import TextLoader

loader = TextLoader("data.txt")
docs = loader.load()

2️⃣ 文档切分

from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(
    chunk_size=500,
    chunk_overlap=50
)

splits = splitter.split_documents(docs)

3️⃣ 向量化

from langchain_openai import OpenAIEmbeddings
from langchain.vectorstores import FAISS

embeddings = OpenAIEmbeddings()

vectorstore = FAISS.from_documents(splits, embeddings)

4️⃣ 构建 RAG Chain

retriever = vectorstore.as_retriever()

from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI

qa = RetrievalQA.from_chain_type(
    llm=ChatOpenAI(),
    retriever=retriever
)

qa.invoke("这篇文章讲了什么?")

✔ 一个最基础的知识库就完成了。


八、Memory(对话记忆)

from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain

memory = ConversationBufferMemory()

conversation = ConversationChain(
    llm=ChatOpenAI(),
    memory=memory
)

conversation.invoke("你好")
conversation.invoke("我刚才说了什么?")

模型就能记住上下文了。


九、Agent(自动调用工具)

这是 LangChain 最强的功能。

例如:

  • 调用搜索引擎
  • 调用计算器
  • 调用数据库
  • 调用 API
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,
    ChatOpenAI(),
    agent="zero-shot-react-description",
    verbose=True
)

agent.invoke("2026世界杯什么时候举行?")

Agent 会:

  1. 思考
  2. 决定是否调用工具
  3. 调用工具
  4. 整合结果
  5. 输出答案

十、LangChain 的真实应用场景

场景 解决方案
企业知识库 RAG
文档问答 Retrieval
自动写报告 Chain
AI客服 Memory
数据库问答 Text2SQL
自动执行任务 Agent
多模型协作 Router Chain

十一、常见误区

❌ 误区1:LangChain = 大模型

错。LangChain 只是框架。


❌ 误区2:一定要用 LangChain?

不是。

  • 简单问答 → 直接 API
  • 复杂系统 → 强烈建议用

❌ 误区3:性能很慢?

新版本 LCEL 已经非常快,瓶颈一般在:

  • 向量搜索
  • 大模型推理
  • 网络延迟
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐