DeepSeek模型接入LangChain流程(详细教程)
1. LangChain安装流程
如果使用LangChain
进行大模型应用开发,需要安装LangChain
的依赖包,安装命令如下:
pip install langchain
不同的依赖包版本在使用方式上可能存在一些差异,这里我们采用的是目前最新的LangChain 0.3
版本,可以通过如下命令进行查看:
pip show langchain
2. 创建DeepSeek的API_KEY
在进行LangChain
开发之前,首先需要准备一个可以进行调用的大模型,这里我们选择使用DeepSeek
的大模型,并使用DeepSeek
官方的API_KEK
进行调用。如果初次使用,需要现在DeepSeek
官网上进行注册并创建一个新的API_Key
,其官方地址为:DeepSeek
注册好DeepSeek
的API_KEY
后,首先在项目同级目录下创建一个.env
文件,用于存储DeepSeek
的API_KEY。
接下来通过python-dotenv
库读取.env
文件中的API_KEY
,使其加载到当前的运行环境中,代码如下:
pip install python-dotenv
import os
from dotenv import load_dotenv
load_dotenv(override=True)DeepSeek_API_KEY = os.getenv("DEEPSEEK_API_KEY")
print(DeepSeek_API_KEY) # 可以通过打印查看
我们在当前的运行环境下不使用LangChain
,直接使用DeepSeek
的API
进行网络连通性测试,测试代码如下:
pip install openai
from openai import OpenAI# 初始化DeepSeek的API客户端
client = OpenAI(api_key=DeepSeek_API_KEY, base_url="https://api.deepseek.com")# 调用DeepSeek的API,生成回答
response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "system", "content": "你是乐于助人的助手,请根据用户的问题给出回答"},{"role": "user", "content": "你好,请你介绍一下你自己。"},],
)# 打印模型最终的响应结果
print(response.choices[0].message.content)
你好!我是一个乐于助人的AI助手,随时准备为你提供帮助。我可以回答各种问题、提供建议、协助解决问题,或者陪你聊天。无论是学习、工作还是日常生活,我都会尽力为你提供有用的信息和支持。 我的知识涵盖了多个领域,包括但不限于科技、历史、文化、健康、编程等。如果你有任何疑问或需要帮助,随时告诉我! 😊 你想了解关于我的具体方面,还是需要其他帮助呢?
如果可以正常收到DeepSeek
模型的响应,则说明DeepSeek
的API
已经可以正常使用且网络连通性正常。
3. DeepSeek接入LangChain流程
接下来我们要考虑的是,对于这样一个DeepSeek
官方的API
,如何接入到LangChain
中呢?其实非常简单,我们只需要使用LangChain
中的一个DeepSeek
组件即可向像述代码一样,直接使用相同的DeepSeek_API_KEY
与大模型进行交互。因此,我们首先需要安装LangChain
的DeepSeek
组件,安装命令如下:
pip install langchain-deepseek
安装好LangChain
集成DeepSeek
模型的依赖包后,需要通过一个init_chat_model
函数来初始化大模型,代码如下:
from langchain.chat_models import init_chat_modelmodel = init_chat_model(model="deepseek-chat", model_provider="deepseek") question = "你好,请你介绍一下你自己。"result = model.invoke(question)
print(result.content)
你好!我是 **DeepSeek Chat**,由深度求索公司(DeepSeek)研发的一款智能AI助手。我可以帮助你解答各种问题,包括学习、工作、编程、写作、生活百科等多个领域。 ### **我的特点:** ✅ **免费使用**:目前无需付费,你可以随时向我提问! ✅ **知识丰富**:我的知识截止到 **2024年7月**,可以为你提供较新的信息。 ✅ **超长上下文支持**:可以处理 **128K** 长度的文本,适合分析长文档或复杂问题。 ✅ **文件阅读**:支持上传 **PDF、Word、Excel、PPT、TXT** 等文件,并从中提取信息进行分析。 ✅ **多语言能力**:可以用中文、英文等多种语言交流,帮助你翻译或学习外语。 ✅ **编程助手**:能写代码、调试、优化算法,支持Python、C++、Java等多种编程语言。 ### **我能帮你做什么?** 📖 **学习辅导**:解题思路、论文写作、知识点讲解 💼 **工作效率**:写邮件、做PPT、总结报告 💡 **创意灵感**:写故事、起名字、头脑风暴 📊 **数据分析**:处理表格、绘制图表、解读数据 🔧 **技术支持**:代码调试、算法优化、技术咨询 你可以随时向我提问,我会尽力提供最准确、有用的回答!😊 有什么我可以帮你的吗?
其中model
用来指定要使用的模型名称,而model_provider
用来指定模型提供者,当写入deepseek
时,会自动加载langchain-deepseek
的依赖包,并使用在model
中指定的模型名称用来进行交互。
这里可以看到,仅仅通过两行代码,我们便可以在LangChain
中顺利调用DeepSeek
模型,并得到模型的响应结果。相较于使用DeepSeek
的API
,使用LangChain
调用模型无疑是更加简单的。同时,不仅仅是DeepSeek
模型,LangChain
还支持其他很多大模型,如OpenAI
、Qwen
、Gemini
等,我们只需要在init_chat_model
函数中指定不同的模型名称,就可以调用不同的模型。其工作的原理是这样的:
理解了这个基本原理,如果大家想在用LangChain
进行开发时使用其他大模型如Qwen3
系列,则只需要先获取到Qwen3
模型的API_KEY
,然后安装Tongyi Qwen
的第三方依赖包,即可同样通过init_chat_model
函数来初始化模型,并调用invoke
方法来得到模型的响应结果。关于LangChain
都支持哪些大模型以及每个模型对应的是哪个第三方依赖包,大家可以在LangChain
的官方文档中找到,访问链接为:Chat models | 🦜️🔗 LangChain
4. LangChain接入OpenAI模型
pip install langchain-openai
from langchain.chat_models import init_chat_modelmodel = init_chat_model("gpt-4o-mini", model_provider="openai")question = "你好,请你介绍一下你自己。"result = model.invoke(question)
print(result.content)
你好!我是一个人工智能助手,旨在帮助用户解答问题、提供信息和支持。我可以处理各种主题的询问,比如科技、历史、文化、语言学习等。如果你有任何问题或需要帮助的地方,请随时问我!