关于我们

强劲算力,源源动力

手把手教你使用 Python 调用 ChatGPT-3.5-API
发布时间:2023-03-07 15:39:35    来源:醉月

手把手教你使用 Python 调用 ChatGPT-3.5-API前天 OpenAI 开放了两个新模型的 api 接口,专门为聊天而生的 gpt-3.5-turbo 和 gpt-3.5-turbo-0301。



ChatGPT is powered by gpt-3.5-turbo, OpenAI’s most advanced language model.


从上面这句话,我们可以知道现在 chat.openai.com 官网就是由 gpt-3.5-turbo 模型提供的服务,现在官方公开了这一模型的调用接口,这使得我们这些普通开发者也能直接在自己的应用/服务中使用这个狂揽亿万用户的模型。


接下来将和大家介绍如何利用 Python 快速玩转 gpt-3.5-turbo。


本文所有代码已开源,持续更新中:https://github.com/XksA-me/ChatGPT-3.5-API

先跑起来,再理解

首先你需要有一个 openai 账号,如何注册我就不多说了,网上教程很多,而且很详细,如果有问题可以加我微信:pythonbrief,添加通过后请直接描述你的问题+问题截图


访问下面页面,登录 openai 账号后,创建一个 api keys。


# api keys 创建页面https://platform.openai.com/account/api-keys
复制代码


接下来很简单了,安装 openai 官方的 Python SDK,这里需要注意的是得安装最新版本 openai,官方推荐的是 0.27.0 版本。


pip install openai==0.27.0
复制代码


直接上请求代码:


import openaiimport json
# 目前需要设置代理才可以访问 apios.environ["HTTP_PROXY"] = "自己的代理地址"os.environ["HTTPS_PROXY"] = "自己的代理地址"

def get_api_key(): # 可以自己根据自己实际情况实现 # 以我为例子,我是存在一个 openai_key 文件里,json 格式 ''' {"api": "你的 api keys"} ''' openai_key_file = '../envs/openai_key' with open(openai_key_file, 'r', encoding='utf-8') as f: openai_key = json.loads(f.read()) return openai_key['api']
openai.api_key = get_api_key()
q = "用python实现:提示手动输入3个不同的3位数区间,输入结束后计算这3个区间的交集,并输出结果区间"rsp = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "一个有10年Python开发经验的资深算法工程师"}, {"role": "user", "content": q} ])
复制代码


代码解析:


  • get_api_key() 函数是我自己写的一个从文件读取 api keys 的方法,我是存在一个 openai_key 文件里,json 格式,你可以改成你自己的获取方法,甚至可以直接写到代码里(虽然不推荐,但确实最简单)。

  • q 是请求的问题

  • rsp 是发送请求后返回结果

  • openai.ChatCompletion.create 中参数

  • model 是使用的模型名称,是一个字符串,用最新模型直接设置成gpt-3.5-turbo 即可

  • messages 是请求的文本内容,是一个列表,列表里每个元素类型是字典,具体含义如下表:

  • 程序运行返回内容,从响应回复内容我们可以看到,回复内容是一个 json 字符串,

    我们可以通过以下方法直接获取相关信息:



  • 返回消息内容


rsp.get("choices")[0]["message"]["content"]
复制代码