前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一日一技:Python如何同时调用多个GPT的API?

一日一技:Python如何同时调用多个GPT的API?

作者头像
青南
发布2023-09-11 16:26:05
3920
发布2023-09-11 16:26:05
举报
文章被收录于专栏:未闻Code

相信很多同学或多或少都在Python中使用过GPT API,通过Python安装openai库,来调用GPT模型。

OpenAI官方文档中给出了一个示例,如下图所示:

如果你只有一个API账号,那么你可能不觉得这样写有什么问题。但如果你想同时使用两个账号怎么办?

有些同学可能知道,微软的Azure也提供GPT接口,在Python中也需要通过openai库来调用,它的调用示例为:

当你全局设置了openai.api_type = 'azure'以后,你怎么同时使用OpenAI的GPT接口?

这两个文档中给出的示例写法,都是全局写法,一但设定以后,在整个运行时中,所有调用GPT接口的地方,都会使用这里设置的参数:

代码语言:javascript
复制
import openai

openai.xx = yy

有些同学不知道怎么在Python SDK中同时使用多个账号,于是他们只有使用GPT的Rest HTTP接口,自己封装一个函数来发起请求从而切换不同的账号。放弃了Python SDK提供的各种便利。

但实际上,根本没有那么麻烦。在openai模块里面,天然就可以切换多个账号。虽然文档里面没有写,但是我们可以通过函数签名来找到这种方法。

如下图所示,在PyCharm中,随便写一段调用openai模块的代码,然后Windows按下键盘的Ctrl,MacOS按下键盘的Command,并鼠标左键点击create函数:

跳转到的函数里面,还有一个create函数,继续按上面的方法跳入,如下图所示:

接下来,你就会看到这个create函数能够接受的参数里面,包含了几个很熟悉的名字:

也就是说,当你想同时调用多个账号时,不需要在一开始给openai设置对应的参数,你只需要在调用.create函数的时候,把对应的API参数传入就可以了。示例代码如下:

代码语言:javascript
复制
import openai

# 使用OpenAI账号1
response1 = openai.ChatCompletion.create(  
            engine="chatgpt",  
            messages=messages,  
            temperature=0.9,  
            max_tokens=800,  
            top_p=0.95,  
            frequency_penalty=0,  
            presence_penalty=0,  
            api_key='xxxxxxxx',  # 在这里传入API Key
            stop=["<|im_end|>"])


# 使用OpenAI账号2
response2 = openai.ChatCompletion.create(  
            engine="chatgpt16k",  
            messages=messages,  
            temperature=0.9,  
            max_tokens=800,  
            top_p=0.95,  
            frequency_penalty=0,  
            presence_penalty=0,  
            api_key='yyyyyyyyy',   # 在这里传入API Key
            stop=["<|im_end|>"])


# 使用Azure OpenAI 账号
response3 = openai.ChatCompletion.create(  
            engine="gpt4",  
            messages=messages,  
            temperature=0.9,  
            max_tokens=800,  
            top_p=0.95,  
            frequency_penalty=0,  
            presence_penalty=0,  
            api_key='zzzzzzz',   # 在这里传入API Key
            api_base='https://xxx.openai.azure.com/',  
            api_type="azure",  
            api_version='2023-05-15',  
            stop=["<|im_end|>"])

使用这种方法,我们就可以在一个程序里面同时使用多个GPT账号了。

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未闻Code 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档