调用DeepSeek官网的DeepSeek模型

模型初始化角度1:使用模型提供商库

在LangChain中初始化模型,主要可以通过直接使用特定的Model Class和使用统一的init_chat_model函数这两种方式来实现

这里先讲方式1,这种方式最直接,LangChain为一些大模型供应商提供了专门的Model类,导入对应的具体类(如ChatOpenAI,ChatAnthropic,ChatDeepSeek,ChatOllama,ChatHunyuan,ChatTongyi,ChatZhipuAI)并进行实例化。

通过专用API调用

注意:使用不同的模型可能传入的参数名称不同,可以参考对应源码

DeepSeek大模型

官网:https://www.deepseek.com

步骤一:安装必要的依赖

执行过前面的requirements.txt文件指令的情况下,这里就不需要安装了。

bash 复制代码
#切换python环境
conda activate langchain1.2
#安装ChatOpenAI依赖包
pip install langchain-openai
#安装ChatDeepSeek 依赖包
pip install langchain-deepseek
# 用于环境管理的包
pip install python-dotenv

说明:langchain-deepseek 是使用deepseek 大模型必要依赖。

注意: langchain-deepseek 依赖于 langchain-openai ,安装前者,pip会自动从pypi拉取元数据解析

依赖,后者也会被安装。所以我们把 langchain-openai 也放在此处。

bash 复制代码
# 调用线上的大模型

## 1. 调用具体模型厂商的API

### 1.1 调用DeepSeek官网的DeepSeek模型

调用大模型涉及到三个特别重要的参数
base_url、model_name、api_key

举例1:将参数信息存储在.env配置文件中
bash 复制代码
import os

from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek

# 读取.env配置文件中的信息,相关的环境变量以.env文件中的优先
load_dotenv(override=True)

DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL")


# 模型的初始化

llm_deepseek = ChatDeepSeek(
    model = "deepseek-flash",
    api_key = DEEPSEEK_API_KEY,
    api_base= DEEPSEEK_BASE_URL,
)

# 模型的调用
response = llm_deepseek.invoke("请用一句话介绍你自己")
print(response)

优化:

bash 复制代码
import os

from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek

# 读取.env配置文件中的信息,相关的环境变量以.env文件中的优先
load_dotenv(override=True)

# DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
# DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL")


# 模型的初始化

llm_deepseek = ChatDeepSeek(
    model = "deepseek-flash",
    # api_key = DEEPSEEK_API_KEY,
    # api_base= DEEPSEEK_BASE_URL,
)

# 模型的调用
response = llm_deepseek.invoke("请用一句话介绍你自己")
print(response)

举例3:演示参数声明在代码中(不推荐)

bash 复制代码
import os

from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek

# 模型的初始化

llm_deepseek = ChatDeepSeek(
    model = "deepseek-flash",
    api_key = "sk-99139adab305b432693787add5be1c3d61209",
    api_base= "https://api.deepseek.com",
)

# 模型的调用
response = llm_deepseek.invoke("帮我实现从0-100的python代码")
print(response)
相关推荐
草莓熊Lotso1 小时前
【Redis 初阶】C++ 客户端实战:从 RESP 协议到 redis-plus-plus 工程化用法
linux·开发语言·网络·数据库·c++·redis·缓存
TT哇1 小时前
我把两个 Java 项目和一个 Python AI 服务部署到 2C2G:一次低成本 Docker 容器化实践
java·人工智能·python
郝学胜-神的一滴1 小时前
C++11 工程级应用 10:减少拷贝,让容器跑得更快
服务器·开发语言·c++·游戏引擎·opengl
玖玥拾1 小时前
Lua 基础语法(八) Unity Huatuo (HybridCLR)
开发语言·unity·游戏引擎·lua
宸津-代码粉碎机1 小时前
Spring AI企业级工程化落地手册|从Demo改造为生产级商用项目
java·人工智能·python·spring
维克兜率天1 小时前
【维克】一个极端值,毁掉了整个因子
大数据·人工智能·python·算法·机器学习
前端世界1 小时前
Linux服务器实战:日志越来越大怎么办?用Logrotate+DNS解决日志管理与内网访问问题
linux·服务器·chrome
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之环境配置与多环境部署
java·开发语言·spring
小灰灰搞电子2 小时前
Rust suppaftp 库详解:基于 FTP 客户端实战指南
开发语言·后端·rust