LangChain快速入门
1. 环境准备
在开始之前,需要安装 Python 3.9+,推荐使用虚拟环境管理依赖。
安装 LangChain 和 OpenAI 相关包:
配置 API Key:
在项目根目录创建 .env 文件:
如果使用国内代理或其他模型服务商,还需要设置 OPENAI_BASE_URL:
2. 第一个 LangChain 程序
新建 main.py,写下你的第一段 LangChain 代码:
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
load_dotenv() # 加载 .env 文件中的环境变量
llm = ChatOpenAI(model="gpt-4o-mini")
response = llm.invoke("你好,请用一句话介绍一下你自己。")
print(response.content)
运行后你会看到模型返回的文字,这就是最基础的调用方式。
3. 理解消息类型
LangChain 中与模型的交互通过消息(Message)来组织,主要有三种:
| 消息类型 | 类 | 说明 |
|---|---|---|
| 系统消息 | SystemMessage |
设置模型的角色和行为规则 |
| 人类消息 | HumanMessage |
用户发送的内容 |
| AI 消息 | AIMessage |
模型返回的内容 |
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage, HumanMessage
load_dotenv()
llm = ChatOpenAI(model="gpt-4o-mini")
messages = [
SystemMessage(content="你是一位专业的 Python 编程老师,回答要简洁易懂。"),
HumanMessage(content="什么是列表推导式?"),
]
response = llm.invoke(messages)
print(response.content)
SystemMessage 起到"设定角色"的作用,模型会在整个对话中遵守这个角色设定。
4. 流式输出
如果你希望像 ChatGPT 一样逐字输出,可以使用 stream 方法:
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
load_dotenv()
llm = ChatOpenAI(model="gpt-4o-mini")
for chunk in llm.stream("写一首关于春天的短诗"):
print(chunk.content, end="", flush=True)
print() # 换行
5. 项目结构建议
一个典型的 LangChain 项目结构如下:
my_project/
├── .env # API Key 等敏感配置(不提交到 Git)
├── .gitignore # 将 .env 加入忽略
├── main.py # 入口文件
├── requirements.txt # 依赖列表
└── src/
├── chains.py # 链的定义
├── prompts.py # 提示词模板
└── tools.py # 自定义工具
总结
- 使用
pip install langchain langchain-openai安装依赖 - 通过
.env文件管理 API Key,使用python-dotenv加载 ChatOpenAI是最常用的模型接口,用invoke()发送请求- 消息分为
SystemMessage、HumanMessage、AIMessage三种 stream()方法可以实现流式输出