LangChain 接入 DeepSeek 最佳实践 (Python)

2026/01/07

LangChain 是构建 LLM 应用的事实标准框架。DeepSeek V3 完全兼容 OpenAI 接口,因此我们可以直接使用 langchain-openai 包来快速接入。

快速接入 (Python)

1. 安装依赖

pip install -U langchain-openai

2. 标准调用代码

我们使用 ChatOpenAI 类,将 base_url 指向 DeepSeek。

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model='deepseek-chat', 
    openai_api_key='sk-xxxx', 
    openai_api_base='https://api.deepseek.com',
    max_tokens=1024
)

response = llm.invoke("你好,DeepSeek!请写一个 Python 冒泡排序。")
print(response.content)

环境变量配置 (推荐)

在生产环境中,建议将敏感信息放入 .env 文件:

OPENAI_API_KEY=sk-xxxx  # 填写 DeepSeek Key
OPENAI_API_BASE=https://api.deepseek.com

然后代码可以简化为:

from dotenv import load_dotenv
from langchain_openai import ChatOpenAI

load_dotenv()

# LangChain 会自动读取环境变量
llm = ChatOpenAI(model='deepseek-chat')

高级用法:流式输出 (Streaming)

for chunk in llm.stream("讲一个关于程序员的冷笑话"):
    print(chunk.content, end="", flush=True)

常见问题

Q: 为什么报错 AuthenticationError? A: 请确保 openai_api_basehttps://api.deepseek.com (注意没有 /v1 后缀,ChatOpenAI 会根据版本自动处理,但有些旧版本可能需要)。如果报错,尝试改为 https://api.deepseek.com/v1

Q: 可以使用 Function Calling 吗? A: DeepSeek V3 模型支持工具调用 (Function Calling),在 LangChain 中使用 bind_tools 即可正常工作。

DeepSeekHubs

DeepSeekHubs