使用OpenAI兼容的写法

举例1:调用DeepSeek官网提供的大模型

from langchain_openai import ChatOpenAI  
from dotenv import load_dotenv  
import os  

#1.将env的文件读取到系统环境变量中  
load_dotenv(override=True)  
#从系统环境变量中读取  
DEEPSEEK_API_KEY=os.getenv("DEEPSEEK_API_KEY")  
DEEPSEEK_API_BASE=os.getenv("DEEPSEEK_API_BASE")  

#2.模型的初始化  
model= ChatOpenAI(  
    model="deepseek-v4-flash",  
    api_key=DEEPSEEK_API_KEY,  
    base_url=DEEPSEEK_API_BASE  
)  

#3.模型的调用  
print(model.invoke("1+1=?"))

和之前使用ChatDeepSeek一样,首先将env文件的内容读取到系统环境变量,然后模型的初始化,模型的调用,都是这三步,由于上一小节已经有了env如何填写和env放置的路径,这一小节就没有截图放置

ChatOpenAI的参数我们可以选中它,然后鼠标放上去,就会出现,如下图所示:
在这里插入图片描述
之前我们说过一个模型最重要的三个参数:模型名,API_KEY和URL地址,我们可以根据这个得知要填的这三个参数的变量名,然后赋值就可以了

举例1的结果为
在这里插入图片描述

举例2:调用智普官网提供的大模型

from langchain_openai import ChatOpenAI  
from dotenv import load_dotenv  
import os  

#1.将env的文件读取到系统环境变量中  
load_dotenv(override=True)  
#从系统环境变量中读取  
ZHIPUAI_API_KEY=os.getenv("ZHIPUAI_API_KEY")  
ZHIPUAI_API_BASE=os.getenv("ZHIPUAI_API_BASE")  

#2.模型的初始化  
model= ChatOpenAI(  
    model="glm-5.2",  
    api_key=ZHIPUAI_API_KEY,  
    base_url=ZHIPUAI_API_BASE  
)  

#3.模型的调用  
print(model.invoke("1+1=?"))

这个直接这样写按照之前的配置运行,会报一个这样的错
在这里插入图片描述
这是因为我们之前env配置文件里面的ZHIPUAI_API_BASE
在这里插入图片描述
env配置文件在根目录下

而且根据报错可以看到:说是找不到v4/chat/completions/chat/completions,是因为ChatOpenAI是标准的OpenAI客户端,默认的请求路径是:base_url+“/chat/completions”,所以我们在env里面的这个路径就不能加上/chat/completions,之前我们加上了,就报错了,所以我们要将ZHIPUAI_API_BASE=https://open.bigmodel.cn/api/paas/v4。这个可以在<快速开始 - 智谱AI开放文档>可以看到
在这里插入图片描述

这个是智谱开放平台通用的API端点。

往下滑,我们可以看到这个,这个就是我们如果使用ChatZhipuAI使用的URL。
在这里插入图片描述
重点我们需要记得我们使用ChatZhipuAI这个调用模型的时候ZHIPUAI_API_BASE=https://open.bigmodel.cn/api/paas/v4/chat/completions
如果不改的话就会报错,识别不出来

举例2的结果
在这里插入图片描述

举例3:调用阿里云百炼平台官网提供的大模型

from langchain_openai import ChatOpenAI  
from dotenv import load_dotenv  
import os  

#1.将env的文件读取到系统环境变量中  
load_dotenv(override=True)  
#从系统环境变量中读取  
DASHSCOPE_API_KEY=os.getenv("DASHSCOPE_API_KEY")  

#2.模型的初始化  
model= ChatOpenAI(  
    model="qwen3-max",  
    api_key=DASHSCOPE_API_KEY,  
    base_url="https://ws-034ma69f28ybqrwy.cn-beijing.maas.aliyuncs.com/compatible-mode/v1"  
)  

#3.模型的调用  
print(model.invoke("1+1=?"))

这个模型我们需要注意的是,我们在使用ChatTongyi()这个调用大模型的时候我们是没有传入URL这个参数的,但是调用ChatOpenAI这个的时候是必须调用url的,这个时候我们打开阿里云百炼平台<大模型服务平台百炼控制台>进入这里面,进入模型广场,选择全部模型找到qwen3-max,大家到时候可以根据自己调用的模型选择不同的,点进去,往下滑,我们就可以看到,我们就是用这个url,大家平时不理解或者不知道在哪找,都可以去看API文档
在这里插入图片描述

举例3的结果
在这里插入图片描述

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐