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 

 注册好DeepSeekAPI_KEY后,首先在项目同级目录下创建一个.env文件,用于存储DeepSeekAPI_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,直接使用DeepSeekAPI进行网络连通性测试,测试代码如下:

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模型的响应,则说明DeepSeekAPI已经可以正常使用且网络连通性正常。 

3. DeepSeek接入LangChain流程

接下来我们要考虑的是,对于这样一个DeepSeek官方的API,如何接入到LangChain中呢?其实非常简单,我们只需要使用LangChain中的一个DeepSeek组件即可向像述代码一样,直接使用相同的DeepSeek_API_KEY与大模型进行交互。因此,我们首先需要安装LangChainDeepSeek组件,安装命令如下:

pip install langchain-deepseek

安装好LangChain集成DeepSeek模型的依赖包后,需要通过一个init_chat_model函数来初始化大模型,代码如下:

from langchain.chat_models import init_chat_model

model = 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模型,并得到模型的响应结果。相较于使用DeepSeekAPI,使用LangChain调用模型无疑是更加简单的。同时,不仅仅是DeepSeek模型,LangChain还支持其他很多大模型,如OpenAIQwenGemini等,我们只需要在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_model

model = init_chat_model("gpt-4o-mini", model_provider="openai")

question = "你好,请你介绍一下你自己。"

result = model.invoke(question)
print(result.content)

 

你好!我是一个人工智能助手,旨在帮助用户解答问题、提供信息和支持。我可以处理各种主题的询问,比如科技、历史、文化、语言学习等。如果你有任何问题或需要帮助的地方,请随时问我! 
### 集成DeepSeekLangChain 为了实现DeepSeekLangChain的集成,可以遵循特定的方法来确保两个框架之间的兼容性和高效协作。首先,理解两者的核心功能至关重要。 LangChain是一个用于构建对话应用的强大工具链,而DeepSeek则提供先进的语义理解和检索能力[^1]。通过利用LangChain的数据处理能力和DeepSeek的深度学习模型,能够创建更加智能化的应用程序。 具体来说,在LangChain中引入DeepSeek主要涉及以下几个方面: - **环境配置**:确保安装了必要的依赖库,包括`langchain`和`deepseek`包。可以通过Python的pip命令完成这一步骤。 ```bash pip install langchain deepseek ``` - **初始化组件**:在应用程序启动时设置好各个模块实例化参数,比如加载预训练好的DeepSeek模型并将其作为服务端点暴露出来供后续调用。 - **数据流设计**:定义输入输出格式以及中间状态表示方法,使得来自用户的查询请求经过适当转换后传递给DeepSeek进行分析处理;再把返回的结果按照预期结构重组反馈至前端界面显示给用户查看。 下面是一段简单的代码片段展示如何在一个基于Flask Web服务器上快速搭建起这样的架构: ```python from flask import Flask, request, jsonify import langchain as lc import deepseek as ds app = Flask(__name__) # 假设已经准备好了一个名为model_path路径下的DeepSeek模型文件夹 ds_model = ds.load_from_directory('path/to/deepseek/model') @app.route('/query', methods=['POST']) def query(): user_input = request.json.get('text') # 使用LangChain解析用户输入 parsed_query = lc.parse(user_input) # 将解析后的查询发送到DeepSeek获取响应 response_data = ds_model.search(parsed_query) return jsonify({"response": response_data}) if __name__ == '__main__': app.run(debug=True) ``` 上述例子展示了基本的工作流程,实际项目可能还需要考虑更多细节问题,如错误处理机制、性能优化措施等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值