LangChain快速入门
·
第00章:LangChain快速入门
📚 本章学习目标
- 了解LangChain是什么
- 理解LangChain的核心价值
- 完成第一个LangChain示例
- 掌握基本的模型调用方法
🎯 什么是LangChain?
LangChain是一个用于构建大语言模型(LLM)应用的框架。它提供了统一的接口和工具链,让开发者能够轻松地:
- 连接各种LLM(OpenAI、Anthropic、本地模型等)
- 构建复杂的应用流程(链、智能体等)
- 集成外部工具和数据源
- 管理对话历史和上下文
LangChain的核心价值
🏗️ LangChain架构概览
LangChain V1.2采用模块化设计,主要包含以下核心组件:
组件说明
| 组件 | 作用 | 类比 |
|---|---|---|
| Models | 各种LLM的抽象接口 | 大脑 |
| Prompts | 提示词模板和消息格式 | 指令 |
| Chains | 将多个步骤组合成流程 | 流水线 |
| Agents | 能够使用工具的智能体 | 助手 |
| Tools | 外部功能(API、数据库等) | 工具集 |
| Memory | 对话历史和状态管理 | 记忆 |
| Retrieval | 从文档中检索信息 | 知识库 |
🚀 第一个示例:简单调用
让我们从最简单的例子开始:
from langchain_openai import ChatOpenAI
# 创建模型实例
llm = ChatOpenAI(
model="qwen-plus",
api_key="your_api_key",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
# 调用模型
response = llm.invoke("你好,请介绍一下你自己")
print(response.content)
执行流程
💬 消息格式
LangChain使用标准化的消息类型:
消息类型说明
- HumanMessage: 用户输入的消息
- AIMessage: AI的回复消息
- SystemMessage: 系统提示,定义AI的角色和行为
🔄 多轮对话
LangChain支持多轮对话,通过维护消息历史来实现:
关键点
- 消息历史管理: 每次对话都需要包含之前的消息
- 上下文理解: AI通过历史消息理解对话上下文
- 状态保持: 在多轮对话中保持对话状态
📝 代码示例解析
示例1:简单调用
response = llm.invoke("你好,请用一句话介绍一下你自己")
invoke(): 同步调用方法- 直接传入字符串,LangChain会自动转换为消息格式
示例2:使用消息格式
from langchain_core.messages import HumanMessage
messages = [HumanMessage(content="请告诉我Python有哪些特点?")]
response = llm.invoke(messages)
- 显式使用
HumanMessage,更清晰 - 可以添加更多消息类型(如SystemMessage)
示例3:多轮对话
# 第一轮
messages = [HumanMessage(content="我的名字是张三")]
response1 = llm.invoke(messages)
# 第二轮(包含历史)
messages.append(AIMessage(content=response1.content))
messages.append(HumanMessage(content="你还记得我的名字吗?"))
response2 = llm.invoke(messages)
- 使用列表维护消息历史
- 每次调用都包含完整的对话历史
🎓 学习要点总结
- LangChain是LLM应用的框架,提供统一的接口
- 模型调用是最基础的操作,使用
invoke()方法 - 消息格式标准化了与LLM的交互方式
- 多轮对话通过维护消息历史实现
🔗 下一步
完成本章后,你应该能够:
- ✅ 理解LangChain的基本概念
- ✅ 成功调用LLM模型
- ✅ 使用消息格式进行交互
- ✅ 实现简单的多轮对话
下一章我们将深入学习**模型(Models)**的详细配置和使用方法。
📚 参考资源
更多推荐



所有评论(0)