环境要求
- Python
- 最低版本:3.10
- pip
- 最低版本:220.
- 操作系统:macOS / Linux / Windows 均可
检查python版本:
python --version
安装 LangChain
LangChain 采用模块化设计,核心功能和第三方集成分开安装。
安装核心包:
pip install langchain
这个命令会安装 langchain 主包,它包含了 init_chat_model()、create_agent() 等核心 API,同时会自动安装 langchain-core 作为依赖。
安装模型提供商包
LangChain 本身不包含记忆体的模型实现,需要根据使用的模型安装对应的提供商包
#OpenAI:GPT-4、GPT-5 等 pip install langchain-openai #Anthropic:Claude 系列 pip install langchain-anthropic #DeepSeek:DeepSeek-V3、R1 等 pip install langchain-deepseek #Google:Gemini 系列 pip install langchain-google-genai #Ollama:Llama、Qwen 等本地模型 pip install langchain-ollama #xAI:Grok 系列 pip install langchain-xai
配置 API Key
获取 API Key
以 OpenAI 为例,你需要先注册账号并获取 API Key:
- 访问 https://platform.openai.com 注册或登录
- 进入 API Keys 页面,点击 “Create new secret key”
- 复制生成的 Key(格式为 sk-xxxxxxxx)
设置环境变量
推荐使用 .env 文件管理 API Key。在项目根目录创建 .env 文件:
# 文件路径:.env # 填入你的 API Key OPENAI_API_KEY=sk-your-api-key-here # 如果使用其他模型,也在这里配置 # ANTHROPIC_API_KEY=sk-ant-your-key # DEEPSEEK_API_KEY=sk-your-key
然后创建 .gitignore 文件,确保 .env 不会被提交:
# .gitignore .env __pycache__/ *.pyc
通常推荐使用 python-dotenv 来读取当前目录中的 .env 配置文件。
pip install python-dotenv
在代码中加载
# 文件路径:config.py
# 在程序开头加载 .env 文件
import os
from dotenv import load_dotenv
# 加载 .env 文件中的环境变量
load_dotenv()
# 验证 API Key 是否加载成功
api_key = os.getenv("OPENAI_API_KEY")
if api_key:
# 只显示前8位和后4位,避免泄露完整 Key
print(f"API Key 已加载: {api_key[:8]}...{api_key[-4:]}")
else:
print("警告:未找到 OPENAI_API_KEY,请检查 .env 文件")
验证安装
运行以下脚本验证安装是否成功:
# 文件路径:verify_install.py
# 验证 LangChain 安装和 API Key 配置
from dotenv import load_dotenv
load_dotenv()
# 测试 1:验证 langchain 导入
try:
import langchain
print(f"langchain 版本: {langchain.__version__}")
except ImportError:
print("错误:langchain 未安装,请运行 pip install langchain")
# 测试 2:验证 langchain-openai 导入
try:
import langchain_openai
print("langchain-openai 已安装")
except ImportError:
print("错误:langchain-openai 未安装,请运行 pip install langchain-openai")
# 测试 3:验证 API Key 配置
import os
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
print("错误:OPENAI_API_KEY 未配置,请在 .env 文件中设置")
else:
print(f"API Key 配置成功: {api_key[:8]}...{api_key[-4:]}")
# 测试 4:发送一条测试请求
from langchain.chat_models import init_chat_model
model = init_chat_model("openai:gpt-4o-mini")
response = model.invoke("用一句话介绍菜鸟教程(RUNOOB)")
print(f"\n模型回复: {response.content}")
运行结果:
langchain 版本: 1.3.0 langchain-openai 已安装 API Key 配置成功: sk-proj-z...xxxx 模型回复: 菜鸟教程(RUNOOB)是一个面向编程初学者的中文技术学习平台。
初始化模型
安装完成后,可以通过 ChatDeepSeek 初始化模型:
import os
from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek
# 加载 .env
load_dotenv()
# 获取 API KEY
api_key = os.getenv("DEEPSEEK_API_KEY")
# 创建模型
llm = ChatDeepSeek(
api_key=api_key, #设置你申请的 API key,例如 "sk-xxx"
model="deepseek-v4-flash", #指定模型名称,例如 deepseek-v4-flash
temperature=0, #控制随机性,越低结果越稳定
max_tokens=None, #限制生成最大 Token 数量
timeout=None, #请求超时时间
max_retries=2 #失败后的最大重试次数
)
# 调用模型
response = llm.invoke("你好,请介绍 LangChain")
print(response.content)
也可以用init_chat_model()函数来调用模型:
import os
from dotenv import load_dotenv
# 加载当前目录 .env 文件
load_dotenv()
from langchain.chat_models import init_chat_model
# 指定了 model,返回固定模型
model = init_chat_model("deepseek:deepseek-v4-flash", temperature=0.7)
response = model.invoke("介绍菜鸟教程 RUNOOB")
print(response.content)
LangChain完整测试实例(以DeepSeek 为例)
下面演示一个完整可运行的 LangChain + DeepSeek 示例:
from langchain_deepseek import ChatDeepSeek
from langchain_core.messages import HumanMessage, SystemMessage
# =========================
# 配置 DeepSeek API Key
# =========================
apiKey = "sk-xxx" # 设置你的 DeepSeek API Key
# =========================
# 创建 DeepSeek 模型
# =========================
llm = ChatDeepSeek(
api_key=apiKey,
model="deepseek-v4-flash",
temperature=0.7,
max_tokens=1024,
timeout=60,
max_retries=3
)
# =========================
# 构造聊天消息
# =========================
messages = [
SystemMessage(
content="你是一名专业 Python 教师。"
),
HumanMessage(
content="请解释什么是 LangChain,并给出简单示例。"
)
]
# =========================
# 调用模型
# =========================
response = llm.invoke(messages)
# =========================
# 输出结果
# =========================
print("AI 回复:")
print(response.content)
在终端执行:
python test.py
输出如下:

代码说明:
ChatDeepSeek:LangChain 的 DeepSeek 聊天模型类
SystemMessage:系统提示词,用于设定 AI 身份
HumanMessage:用户输入消息
llm.invoke():调用 DeepSeek 模型
response.content:获取 AI 返回内容