python使用API调用ChatGPT

python实现调用

使用python调用ChatGPT的API,依赖于python中的openai库,如果没有安装该库,可以使用下面的命令安装:

pip install openai

安装完必须的库后,我们就可以使用openai库中的函数正式开始调用了。

import openai

openai.api_key = 'your_api_key'

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",  
    messages=prompt_text,
    max_tokens=2000,
    n=1,
    stop=None,
    temperature=0.5,
)

response_content = response.choices[0].message.content

    openai.api_key = 'your_api_key': 在这里我们需要设定自己在OpenAI平台上获取的API密钥,这个密钥是用于身份验证,确保你有权利访问OpenAI的服务。
    response = openai.ChatCompletion.create(...): 从这里开始发起对ChatGPT API的请求。使用openai.ChatCompletion.create方法,我们向ChatGPT模型提交一个对话生成的请求。
        model="gpt-3.5-turbo": 指定要使用的模型。
        messages=prompt_text: 提供对话的信息,其中prompt_text是一个包含对话角色和内容的列表。系统提示、用户输入和助手ChatGPT的回复都在这个列表中,等一下我们再具体讲解一下这一部分。
        max_tokens=2000: 限制生成的文本长度。
        n=1: 请求的响应数,这里设置为1,表示我们只需要一个ChatGPT的回复。
        stop=None: 指定停止标志,如果想要在生成的文本中指定位置停止,可以在这里设置。
        temperature=0.5: 控制生成文本的多样性,较低的值会产生更加确定性的输出,而较高的值则会产生更加多样化的输出。
    response_content = response.choices[0].message.content: 从API的响应中提取ChatGPT生成的回复内容。API的响应是一个JSON格式的对象,其中response.choices包含了生成的文本,我们通过[0].message.content获取了其中的内容。

上面展示的版本是老版本的openai库的使用,新版本有了一些细节上的改变,如下:

response = openai.chat.completions.create(
	model="gpt-3.5-turbo",
    messages=prompt_text,
    max_tokens=2000,
    n=1,
    stop=None,
    temperature=0.5,
)

接下来我重点讲解一下messages的设定,messages是一个包含对话角色和内容的列表,openai允许设定三种角色:

    system系统消息:可以理解为对GPT角色的设定,你希望它在本次会话中扮演什么角色。
    user用户消息:对话(你和GPT交流的内容),相当于你在网页端的输入框中输入并发送的消息。
    assistant助理消息:你希望GPT回复的内容,通常用于限定它的回复格式。

prompt_text = [{"role": "system", "content": "You are an expert in Python."},
                {"role": "user", "content": "Please tell me the basics of Python."},
                {"role": "assistant", "content": "1. Installation:...2. Hello, World!:...3. ..."}
                 ]

 

完整的代码如下:

import openai

def get_chat_messages(prompt_text):
    openai.api_key = 'your_api_key'
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",  
        messages=prompt_text,
        max_tokens=2000,
        n=1,
        stop=None,
        temperature=0.5,
    )
    return response.choices[0].message.content

# 定义对话信息
prompt_text = [{"role": "system", "content": "You are an expert in Python."},
                {"role": "user", "content": "Please tell me the basics of Python."},
                {"role": "assistant", "content": "1. Installation:...2. Hello, World!:...3. ..."}
                 ]

# 调用ChatGPT API生成回复
response_content = get_chat_messages(prompt_text)

# 打印生成的回复
print("ChatGPT回复:", response_content)

 

ChatGPT 各种模型token一览表

gpt-3.5

 gpt-4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值