跳转至

LangChain快速入门

1. 环境准备

在开始之前,需要安装 Python 3.9+,推荐使用虚拟环境管理依赖。

安装 LangChain 和 OpenAI 相关包:

pip install langchain langchain-openai langchain-core python-dotenv

配置 API Key:

在项目根目录创建 .env 文件:

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx

如果使用国内代理或其他模型服务商,还需要设置 OPENAI_BASE_URL

OPENAI_API_KEY=your-api-key
OPENAI_BASE_URL=https://your-proxy-url/v1

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() 发送请求
  • 消息分为 SystemMessageHumanMessageAIMessage 三种
  • stream() 方法可以实现流式输出

评论