好的,我帮你整理一份 LangChain 学习与应用的超详细指南,从概念到实战,再到工程级落地,全方位覆盖。内容既适合新手快速上手,也适合有一定 AI/大数据基础的开发者深入理解。
LangChain 学习及应用(超详细)
一、LangChain 是什么?
1. 定义
LangChain 是一个开源框架,用于构建 以大语言模型(LLM)为核心的应用程序,尤其是需要处理复杂工作流、外部数据和多工具调用的场景。
它的核心理念是:
不是直接调用模型,而是把模型能力和外部工具、知识源、逻辑流程结合起来,形成“智能应用链条”。
2. 为什么用 LangChain?
- 简化 LLM 的工程化开发
- 支持多种模型:OpenAI GPT 系列、Claude、Qwen 等
- 可以调用外部数据源(SQL、Hadoop/Hive、Google Sheets、Web API)
- 支持多步骤推理(Chain、Agent)
- 容易做 RAG(Retrieval-Augmented Generation,检索增强生成)
3. LangChain 的核心概念
| 概念 | 功能 | 举例 |
|---|---|---|
| LLM | 模型调用 | GPT-4、Claude |
| Prompt Template | 模板化提示语 | “请将以下文本翻译成中文:{text}” |
| Chain | 多步骤逻辑组合 | 文本处理 → 数据分析 → 生成报告 |
| Agent | AI 自主决策调用工具 | 自动查表、发请求、执行 SQL |
| Tool | 可调用的外部能力 | 搜索引擎、数据库、文件系统 |
| Memory | 上下文管理 | 保存历史对话或状态 |
| VectorStore | 向量数据库 | FAISS、Chroma、Milvus |
| Retriever | 检索接口 | 从知识库中找相关文档 |
二、LangChain 的安装与配置
1. 环境要求
- Python ≥ 3.10
- pip
- 可选:虚拟环境
2. 安装基础包
pip install langchain
pip install openai # 如果使用 OpenAI 模型
pip install faiss-cpu # 向量检索
pip install chromadb # 可选向量数据库
3. 配置 API Key
以 OpenAI 为例:
export OPENAI_API_KEY="你的API_KEY"
或者 Python 内部:
from langchain import OpenAI
llm = OpenAI(api_key="你的API_KEY", temperature=0)
三、核心模块讲解与示例
1. LLM 调用
from langchain import OpenAI
llm = OpenAI(temperature=0)
prompt = "写一段关于LangChain的简短介绍"
response = llm(prompt)
print(response)
2. Prompt Template(模板化提示语)
from langchain.prompts import PromptTemplate
template = "将以下文本翻译成中文:{text}"
prompt = PromptTemplate(input_variables=["text"], template=template)
print(prompt.format(text="Hello World"))
3. Chain(链式调用)
简单链
from langchain.chains import LLMChain
chain = LLMChain(llm=llm, prompt=prompt)
result = chain.run("LangChain是一个强大的框架")
print(result)
多步骤链(Sequential Chain)
from langchain.chains import SequentialChain
chain1 = LLMChain(llm=llm, prompt=PromptTemplate(input_variables=["text"], template="翻译成中文:{text}"))
chain2 = LLMChain(llm=llm, prompt=PromptTemplate(input_variables=["text"], template="生成摘要:{text}"))
seq_chain = SequentialChain(chains=[chain1, chain2], input_variables=["text"], output_variables=["summary"])
print(seq_chain.run("LangChain是一个强大的开源框架"))
4. Memory(记忆机制)
保存对话上下文,实现多轮对话:
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain
memory = ConversationBufferMemory()
conversation = ConversationChain(llm=llm, memory=memory)
conversation.run("你好")
conversation.run("帮我写一个Python函数")
5. Agent(AI 自动决策调用工具)
工具定义
from langchain.agents import Tool
def search_wiki(query: str):
return f"搜索结果: {query} 的维基百科摘要"
tools = [
Tool(name="WikiSearch", func=search_wiki, description="搜索维基百科内容")
]
初始化 Agent
from langchain.agents import initialize_agent, AgentType
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
response = agent.run("帮我找LangChain的定义")
print(response)
Agent 可以根据自然语言自动选择工具,并生成执行步骤,类似小型 AI 工程师。
6. RAG(检索增强生成)
1)向量化存储
from langchain.vectorstores import FAISS
from langchain.embeddings import OpenAIEmbeddings
texts = ["LangChain 是 AI 应用开发框架", "LangChain 支持 RAG"]
embeddings = OpenAIEmbeddings()
db = FAISS.from_texts(texts, embeddings)
2)检索 + LLM 生成
query = "LangChain的作用是什么?"
docs = db.similarity_search(query)
context = "\n".join([d.page_content for d in docs])
response = llm(f"根据以下内容回答问题:{context}\n问题:{query}")
print(response)
四、工程实践场景
1. 智能客服系统
- 用户问题 → Agent → 数据库查询 + FAQ 检索 → LLM 生成回答
2. 企业知识问答
- 文档向量化 → FAISS/Chroma 检索 → LLM 生成报告
3. 自动化工作流
- Agent 调用 GitHub API、Jira、Shell 命令 → 自动生成 PR 或任务报告
4. AI 文档助手
- PDF、Word 文档向量化 → 提问 → AI 摘要 / 问答
五、实战建议与技巧
- Chain vs Agent
- Chain:适合固定步骤流程
- Agent:适合动态决策,需要选择工具场景
- Prompt Engineering
- 结构化提示更可靠
- 可使用模板 + few-shot 示例提升准确率
- Memory 管理
- 对话应用注意上下文长度
- 可结合向量数据库存储长期记忆
- 向量数据库选择
- FAISS:本地轻量
- Chroma:多平台
- Milvus/Weaviate:企业级大规模
- 模型选择
- GPT-4、Claude、Qwen 等大模型
- 结合本地 LLM 做离线/隐私场景
六、常用资源与文档
总结
LangChain 本质是 让大语言模型工程化、可组合、可工具化 的框架:
- 新手 → 快速构建 LLM 应用
- 开发者 → 构建 Agent、RAG 系统
- 企业 → 做知识库问答、自动化工作流、智能客服
它不仅是工具,更是一套 AI 工程实践哲学,让 AI 不再只是“回答问题”,而是能够“主动完成任务”。