一、概述

1、Langchain是什么

LangChain 就是一个把大模型(LLM)变成“能干活的智能体”的标准化框架。它不是模型,而是一套“流水线 + 零件库 + 调度中心”。

2、最核心:LangChain 为什么要存在?

大模型(GPT / 通义千问 / 文心一言)本身只会:输入文本 → 输出文本

但你要做 RAG、Agent、工具调用、多轮对话,模型自己做不到,需要:

  • 查文档
  • 查数据库
  • 查 Redis
  • 查网页
  • 多步骤推理
  • 记忆对话
  • 结构化输出

于是 LangChain 出现了它把所有能力变成标准化零件,一键组装,不用自己写底层逻辑。

二、LangChain 的基础6层结构

1、第一层:IO 层(最底层)

负责和大模型通信

  • LLM(大模型接口)
  • ChatModels(对话模型)
  • Prompt Template(提示词模板)
  • Output Parser(输出解析,把文字转 JSON)

作用:和模型说话,让模型听话、输出格式不乱。


2、第二层:文档处理层(RAG 必备)

专门处理你的文件、PDF、文档
  • Loader(加载器:读取 PDF/Word/Excel/ 网页)
  • Text Splitter(文本分块)
  • Embedding(向量化)
  • Vector Store(向量库:Chroma / FAISS / Redis)

作用:把你的资料变成模型能检索的知识库。


3、第三层:Chain 层 → 最核心!流水线层

Chain = 把零件串成一步一步自动执行的流水线
chain = prompt | llm | parser | retriever

一条自动化工作流 输入问题 → 自动走完所有步骤 → 输出最终结果

常见 Chain:

  • Retrieval QA Chain(RAG 问答)
  • SQL Chain(SQL 查询)
  • Summary Chain(总结)
  • MapReduce Chain(长文本处理)

4、第四层:Memory 层(记忆层)

让模型记住对话历史

  • ConversationBufferMemory
  • ConversationSummaryMemory
  • RedisChatMemory

作用:多轮对话不丢失上下文。


5、第五层:Agent 层(大脑层)

Agent = 会思考、会决策、会自己调用工具

Agent 能自己决定:

  • 要不要检索资料
  • 要不要查网页
  • 要不要算数学
  • 要不要查数据库

6、第六层:Tool 层(工具层)

给 Agent 提供外部能力
  • 搜索工具
  • 计算器
  • API
  • 数据库
  • Redis
  • 文件系统
  • 你自己写的函数(Function Calling)

二、Langchain如何使用?

1. 终端下载安装(1 条命令)

打开你的 终端 / CMD / PowerShell,直接运行:

pip install langchain langchain-openai

如果你用国内模型(通义、文心、豆包等),也可以装:

pip install langchain-community

安装完成就是成功了。

2. 简单的调用示例

示例 1:调用 OpenAI(最标准)

新建一个文件 test.py

# 导入
from langchain_openai import ChatOpenAI
import os

# 设置 API Key(换成你自己的)
os.environ["OPENAI_API_KEY"] = "你的API密钥"

# 初始化模型
llm = ChatOpenAI(model="gpt-3.5-turbo")

# 调用
response = llm.invoke("请用一句话介绍 LangChain")

# 输出结果
print(response.content)

终端运行:

python test.py

示例 2:调用国内免费模型(比如 通义千问)
from langchain_community.llms import Tongyi
import os

os.environ["DASHSCOPE_API_KEY"] = "你的通义密钥"

llm = Tongyi(model="qwen-turbo")
print(llm.invoke("介绍一下 LangChain"))

3. LangChain 最核心的 3 个功能

① 提示词模板(PromptTemplate)

批量生成提示词:

from langchain.prompts import PromptTemplate

prompt = PromptTemplate.from_template("把{text}翻译成英文")
print(prompt.format(text="你好"))
② 链(Chain)

把「提示词 + 模型」绑在一起,一键调用:

chain = prompt | llm
print(chain.invoke({"text": "我爱编程"}))
③ 记忆(Memory)

让 AI 记住你们的对话历史:

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

memory = ConversationBufferMemory()
conv = ConversationChain(llm=llm, memory=memory)

print(conv.predict(input="你好,我叫小明"))
print(conv.predict(input="我叫什么?"))  # AI 会记得你叫小明

4. 终端直接运行 LangChain

你甚至不用写文件,终端直接进入 Python 环境跑:

python

然后逐行输入:

from langchain_openai import ChatOpenAI
llm = ChatOpenAI(api_key="你的key")
print(llm.invoke("你好"))

就能直接看到结果。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐