LangChain 入门:从第一行代码到环境配置
LangChain 入门:从第一行代码到环境配置
想用 Python 调大模型,LangChain 是绕不开的框架。这篇文章带你从零开始,跑通第一个 LangChain 程序,顺便把环境配置搞定。
最简单的调用
LangChain 封装了各大模型厂商的 API,核心对象是 ChatOpenAI。几行代码就能跟大模型对话:
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4o-mini",
base_url="https://api.openai.com/v1",
api_key="your-api-key")
response = model.invoke("Who are you?")
print(response.content)
invoke 是同步调用,返回完整结果。如果你想做打字机效果,用 stream:
for chunk in model.stream("生成一段唐诗。"):
print(chunk.content, end="", flush=True)
每个 chunk 是模型吐出的一小段文本,拼起来就是完整回复。
LangChain 1.0 的新写法
LangChain 1.0 引入了 init_chat_model,用一个统一接口初始化不同厂商的模型:
from langchain.chat_models import init_chat_model
model = init_chat_model(
model="openai:gpt-4o-mini",
base_url="https://api.openai.com/v1",
api_key="your-api-key",
)
模型名前面加厂商前缀(比如 openai:),框架自动选对应的实现。切换模型只改一行字符串就行。
用 .env 管理密钥
把 API Key 硬编码在代码里是个坏习惯。正确做法是用 .env 文件:
OPENAI_API_KEY=sk-xxx
OPENAI_API_BASE=https://api.openai.com/v1
然后代码里用 dotenv 加载:
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
load_dotenv()
model = ChatOpenAI(model="gpt-4o-mini", max_retries=5)
response = model.invoke("Who are you?")
print(response.content)
load_dotenv() 会把 .env 文件里的变量加载到环境变量。ChatOpenAI 自动读取 OPENAI_API_KEY 和 OPENAI_API_BASE,代码里完全不用写密钥。
max_retries=5 是个实用配置。API 偶尔会超时或限流,自动重试能省不少麻烦。
安装依赖
跑起来之前需要装几个包:
pip install langchain langchain-openai python-dotenv
建议用虚拟环境隔离项目依赖,venv 或 conda 都行。
小结
两个脚本,核心就三件事:初始化模型、调用 invoke/stream、用 .env 管理配置。LangChain 把大模型 API 的调用门槛压得很低,但它真正的价值在后面——Agent、RAG、记忆管理这些高级功能。先把基础跑通,后面的内容会更有意思。