调用线上的大模型

调用具体模型厂商的API

调用DeepSeek官网的DeepSeek模型

调用大模型涉及到三个特别重要的参数:base_url,api_key,model_name,分别表示模型的地址,模型的名称,API密钥

举例1:将参数信息存储在.env配置文件中

import os  

from dotenv import load_dotenv  
from langchain_deepseek import ChatDeepSeek  

#1. 读取.env配置文件中的信息,相关的环境变量以.env文件中的优先  
#读取项目根目录下的.env文件,并把里面定义的键值对加载到系统环境变量os.environ中  
#override=True:.env文件里的变量优先级更高,会强制覆盖系统已有的同名环境变量  
load_dotenv(override=True)  

#从系统的环境变量中,读取名为DEEPSEEK_API_KEY的值  
DEEPSEEK_API_KEY=os.getenv("DEEPSEEK_API_KEY")  
#从系统的环境变量中,读取名为DEEPSEEK_API_BASE的值  
DEEPSEEK_API_BASE=os.getenv("DEEPSEEK_API_BASE")  

#2.模型的初始化

llm_deepseek=ChatDeepSeek(  
    model="deepseek-v4-flash",#模型的名字  
    api_key=DEEPSEEK_API_KEY,#模型的api密钥  
    api_base=DEEPSEEK_API_BASE#模型的地址  
)  

#3. 模型的调用  
#.invoke()是调用大模型的核心方法,作用就是向模型发请求,等待回复  
#传入参数:传给模型的提问/对话文本  
#输出参数:模型的回答内容  
#reponse不是单纯字符串,是Langchain封装的对象,真正的回答文本在response.content  
response=llm_deepseek.invoke("你好,你是谁")  
print(response)

env文件应该在根目录下
在这里插入图片描述
里面的内容填写

在这里插入图片描述
模型调用的结果
在这里插入图片描述
举例2:是对举例1的优化

可以将api_base和api_key省略,但是前提是和chat_models.py这个里面自动从env读取环境变量的变量名一样。

chat_models.py是长按ctrl和用鼠标的左键点击ChatDeepSeek就进去了
在这里插入图片描述

import os  

from dotenv import load_dotenv  
from langchain_deepseek import ChatDeepSeek  

#1. 读取.env配置文件中的信息,相关的环境变量以.env文件中的优先  
#读取项目根目录下的.env文件,并把里面定义的键值对加载到系统环境变量os.environ中  
#override=True:.env文件里的变量优先级更高,会强制覆盖系统已有的同名环境变量  
load_dotenv(override=True)  


# 2. 模型的初始化
#ChatDeepSeek的api_key如果没有传参,会自动从环境变量中读取,api_base如果没有传参,会自动从环境变量中读取,因此可以省略  
llm_deepseek=ChatDeepSeek(  
    model="deepseek-v4-flash",#模型的名字  
)  

#3. 模型的调用  
#.invoke()是调用大模型的核心方法,作用就是向模型发请求,等待回复  
#传入参数:传给模型的提问/对话文本  
#输出参数:模型的回答内容  
#reponse不是单纯字符串,是Langchain封装的对象,真正的回答文本在response.content  
response=llm_deepseek.invoke("你好,你是谁")  
print(response)

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

因为这种的话别人都用的你的密钥,然后扣的钱也是你的,不推荐

 from langchain_deepseek import ChatDeepSeek  

# 模型的初始化
llm_deepseek=ChatDeepSeek(  
    model="deepseek-v4-flash",#模型的名字  
    api_key="(自己的API密钥)",#模型的api密钥  
    api_base="https://api.deepseek.com"#模型的地址  
)  

#3. 模型的调用  
#.invoke()是调用大模型的核心方法,作用就是向模型发请求,等待回复  
#传入参数:传给模型的提问/对话文本  
#输出参数:模型的回答内容  
#reponse不是单纯字符串,是Langchain封装的对象,真正的回答文本在response.content  
response=llm_deepseek.invoke("你好,你是谁")  
print(response)

更多推荐