HoRain云--LangChain 集成 DeepSeek

📅 2026/7/10 21:50:07
HoRain云--LangChain 集成 DeepSeek
通过langchain-deepseek扩展包开发者可以快速接入 DeepSeek 提供的大语言模型服务。DeepSeek 模型既支持官方托管 API也支持通过 Ollama、Fireworks、Together 等平台进行本地或第三方推理部署。除了官方API接口外我们也可以通过Coding Plan/Token Plan套餐直接接入DeepSeek、Kimi、GLM、Doubao、MiniMax等主流大模型无需单独购买各家API。DeepSeek 介绍DeepSeek 是一个开源大语言模型系列支持聊天、推理、代码生成等能力。在 LangChain 中DeepSeek 主要通过ChatDeepSeek类进行调用。集成信息项目说明类名ChatDeepSeek安装包langchain-deepseek状态Beta测试版支持 JavaScript是支持 Python是模型能力支持功能是否支持工具调用Tool Calling✅ 支持结构化输出Structured Output✅ 支持图片输入❌ 不支持音频输入❌ 不支持视频输入❌ 不支持Token 流式输出✅ 支持原生异步调用✅ 支持Token 使用统计✅ 支持Logprobs❌ 不支持DeepSeek API 使用与 OpenAI/Anthropic 兼容的 API 格式通过修改配置您可以使用 OpenAI/Anthropic SDK 来访问 DeepSeek API或使用与 OpenAI/Anthropic API 兼容的软件。参数值base_url (OpenAI)https://api.deepseek.combase_url (Anthropic)https://api.deepseek.com/anthropicapi_key点击链接申请 API keymodel*deepseek-v4-flashdeepseek-v4-prodeepseek-chat(将于 2026/07/24 弃用)deepseek-reasoner(将于 2026/07/24 弃用)安装 langchain-deepseek在开始使用前需要先安装 DeepSeek 的 LangChain 集成包pip install -qU langchain-deepseek配置 DeepSeek API Key你需要先注册 DeepSeek 账号并创建 API Key如果还没有需要先去 DeepSeek 创建一个 API key。通常推荐使用python-dotenv来读取当前目录中的 .env 配置文件。pip install python-dotenv在当前项目目录创建.env文件.env 文件配置DEEPSEEK_API_KEYsk-xxxxxxxxxxxxxxxxOPENAI_API_KEYsk-xxxxxxxxxxxxxxxxPython 读取 .env 文件完整实例import osfrom dotenv import load_dotenv# 加载当前目录 .env 文件load_dotenv()# 获取 API Keyapi_key os.getenv(DEEPSEEK_API_KEY)print(api_key)指定 .env 文件路径:如果 .env 文件不在当前目录可以手动指定路径实例from dotenv import load_dotenvload_dotenv(dotenv_path./config/.env)配置 LangSmith可选如果需要开启 LangChain 调用链追踪与调试功能 可以配置 LangSmith API Key实例os.environ[LANGSMITH_TRACING] trueos.environ[LANGSMITH_API_KEY] getpass.getpass(Enter your LangSmith API key: )创建 ChatDeepSeek 模型安装完成后可以通过ChatDeepSeek初始化模型实例import osfrom dotenv import load_dotenvfrom langchain_deepseek import ChatDeepSeek# 加载 .envload_dotenv()# 获取 API KEYapi_key os.getenv(DEEPSEEK_API_KEY)# 创建模型llm ChatDeepSeek(api_keyapi_key,modeldeepseek-v4-flash,temperature0,max_tokensNone,timeoutNone,max_retries2)# 调用模型response llm.invoke(你好请介绍 LangChain)print(response.content)参数说明:参数说明api_key设置你申请的 API key例如 sk-xxxmodel指定模型名称例如 deepseek-v4-flashtemperature控制随机性越低结果越稳定max_tokens限制生成最大 Token 数量timeout请求超时时间max_retries失败后的最大重试次数也可以使用 init_chat_model() 函数来调用实例import osfrom dotenv import load_dotenv# 加载当前目录 .env 文件load_dotenv()from langchain.chat_models import init_chat_model# 指定了 model返回固定模型model init_chat_model(deepseek:deepseek-v4-flash, temperature0.7)response model.invoke(介绍菜鸟教程 RUNOOB)print(response.content)调用 DeepSeek 模型下面示例演示如何向 DeepSeek 模型发送聊天消息注意我这里测试把 API Key 写在了测试文件中llm ChatDeepSeek( api_keysk-xxx, # 设置你的 DeepSeek API Key modeldeepseek-v4-flash )实际的生产环境请设置在 .env 文件中。实例from langchain_deepseek import ChatDeepSeekllm ChatDeepSeek(api_keysk-xxx, # 设置你的 DeepSeek API Keymodeldeepseek-v4-flash,temperature0,max_tokensNone,timeoutNone,max_retries2)messages [(system,You are a helpful assistant that translates English to Chinese.),(human,I love programming.),]ai_msg llm.invoke(messages)print(ai_msg.content)以上代码将英文翻译成中文运行后模型会返回翻译后的结果我喜欢编程。支持的 DeepSeek 模型:模型用途特点deepseek-v4-flash通用聊天模型支持 Tool Calling 与结构化输出deepseek-v4-pro推理模型deepseek-v4-pro更强推理能力但不支持 Tool CallingLangChain DeepSeek 完整测试实例下面演示一个完整可运行的 LangChain DeepSeek 示例。创建测试文件创建 test.py 文件完整实例from langchain_deepseek import ChatDeepSeekfrom langchain_core.messages import HumanMessage, SystemMessage# # 配置 DeepSeek API Key# apiKey sk-xxx # 设置你的 DeepSeek API Key# # 创建 DeepSeek 模型# llm ChatDeepSeek(api_keyapiKey,modeldeepseek-v4-flash,temperature0.7,max_tokens1024,timeout60,max_retries3)# # 构造聊天消息# messages [SystemMessage(content你是一名专业 Python 教师。),HumanMessage(content请解释什么是 LangChain并给出简单示例。)]# # 调用模型# response llm.invoke(messages)# # 输出结果# print(AI 回复)print(response.content)在终端执行python test.py输出如下代码说明代码作用ChatDeepSeekLangChain 的 DeepSeek 聊天模型类SystemMessage系统提示词用于设定 AI 身份HumanMessage用户输入消息llm.invoke()调用 DeepSeek 模型response.content获取 AI 返回内容使用 deepseek-v4-pro 推理模型LangChain 支持 DeepSeek 流式输出需要使用 deepseek-v4-pro 推理模型实例from langchain_deepseek import ChatDeepSeekfrom langchain_core.messages import HumanMessage, SystemMessage# # 配置 DeepSeek API Key# apiKey sk-xxx # 设置你的 DeepSeek API Key# # 创建 DeepSeek 模型# llm ChatDeepSeek(api_keyapiKey,modeldeepseek-v4-pro,temperature0.7,max_tokens1024,timeout60,max_retries3)for chunk in llm.stream(请介绍 Python):print(chunk.content, end, flushTrue)使用 PromptTemplate结合 PromptTemplate 动态生成 Prompt实例from langchain_deepseek import ChatDeepSeekfrom langchain_core.prompts import ChatPromptTemplate# # 配置 DeepSeek API Key# apiKey sk-xxx # 设置你的 DeepSeek API Key# # 创建 DeepSeek 模型# llm ChatDeepSeek(api_keyapiKey,modeldeepseek-v4-pro,temperature0.7,max_tokens1024,timeout60,max_retries3)prompt ChatPromptTemplate.from_template(请详细解释{topic})chain prompt | llmresponse chain.invoke({topic: Transformer})print(response.content)常见错误错误原因解决方法401 UnauthorizedAPI Key 错误检查 DEEPSEEK_API_KEYModuleNotFoundError未安装依赖重新 pip installRate Limit请求频率过高降低请求频率Timeout Error请求超时增加 timeout 参数推荐项目结构项目结构project/│├── app.py├── requirements.txt├── .env├── prompts/├── data/└── vector_db/requirements.txt 示例实例langchainlangchain-deepseekpython-dotenv参考文档LangChain DeepSeek 文档 ChatDeepSeek integration - Docs by LangChainDeepSeek 官网 DeepSeek | 深度求索LangChain 官网 LangChain: Observe, Evaluate, and Deploy Reliable AI AgentsLangSmith LangSmith