「ChatGPT」Python调用API实现使人冷艳的多轮对话(最新版(chatgpt api调用 python)

一、介绍

ChatGPT API是OpenAI提供的一项功能,它允许开发者使用Python来调用ChatGPT模型。通过使用ChatGPT API,开发者可以实现与ChatGPT进行交互的利用和服务,如问答系统、智能聊天机器人等。

使用Python调用ChatGPT API的好处是可以简化与API的交互进程,开发者可以通过编写Python代码来发送API要求和处理响应数据,从而实现与ChatGPT的对话功能。

二、获得API Key

要使用ChatGPT API,首先需要获得API Key。以下是生成API Key的步骤:

  1. 访问OpenAI官网,在账户页面登录或注册账号。
  2. 在账户页面的API Keys部份,点击“Generate New Key”按钮生成一个新的API Key。

API Key是访问ChatGPT API的凭证,需要妥善保管。为了保密API Key,开发者可以将其存储在环境变量或配置文件中,而不是直接在代码中硬编码。

三、安装OpenAI第三方库

在使用Python调用ChatGPT API之前,需要先安装OpenAI提供的第三方库。可使用pip命令来安装openai库:

pip install openai

安装完成后,可以在Python脚本中通过import语句引入openai库的功能。

四、调用ChatGPT API

使用Python的requests库可以发送HTTP要求来调用ChatGPT API。下面是一个简单的示例代码:

import openai
import json

# 设置API Key
openai.api_key = 'your_api_key'

# 构造API要求的数据
data = {
  'model': 'chatgpt',
  'messages': [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'user', 'content': 'Who won the world series in 2023?'}
  ]
}

# 发送API要求
response = openai.ChatCompletion.create(data=data)

# 处理API响应数据
if 'choices' in response:
  for message in response['choices'][0]['message']['content']:
    print(message['role'] + ': ' + message['content'])

在这个示例中,我们首先通过设置api_key来配置API访问凭证。然后,我们构造一个包括对话内容的data对象,并使用openai.ChatCompletion.create()方法发送API要求。最后,通过解析API响应数据来获得对话中的消息内容。

五、演示示例

下面是一个使用ChatGPT API的示例代码:

import openai
import json

# 设置API Key
openai.api_key = 'your_api_key'

# 构造API要求的数据
data = {
  'model': 'chatgpt',
  'messages': [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'user', 'content': 'Who won the world series in 2023?'}
  ]
}

# 发送API要求
response = openai.ChatCompletion.create(data=data)

# 处理API响应数据
if 'choices' in response:
  for message in response['choices'][0]['message']['content']:
    print(message['role'] + ': ' + message['content'])

在这个示例中,我们生成了一个包括对话内容的data对象,并发送API要求。API响应数据中的消息内容可以通过解析response对象的属性来获得。

六、常见问题与注意事项

在使用Python调用ChatGPT API时,可能会遇到一些毛病和异常。以下是一些常见问题的解答和实用技能:

  • 怎么处理API调用的毛病和异常:可使用try-except语句来捕获API调用进程中可能产生的异常,并在出现异常时进行毛病处理。

七、官方文档和资源链接

以下是一些与ChatGPT API相关的官方文档和资源链接:

  • OpenAI官方文档:https://platform.openai.com/docs/
  • Python调用ChatGPT API接口的用法详解:https://www.example.com/

八、总结

通过使用Python调用ChatGPT API,开发者可以轻松实现与ChatGPT的对话功能。这不但提高了开发效力,还为开发者提供了更多创造有趣和实用利用的可能性。鼓励读者进一步学习和尝试,深入发掘ChatGPT API的潜力。

chatgpt api调用 python的进一步展开说明

前言

欢迎大家来到本文!在上一篇文章《ChatGPT入坑指南》中,我们学会了怎样在本地调用ChatGPT的API接口。但是上一篇文章只能实现单轮对话,没法实现多轮对话,ChatGPT没法理解上下文。本文将教大家怎么实现多轮对话。让我们一起来探索吧!

目录

前言

准备工作

Python环境

安装openai库

安装easygui库

获得API_KEY

Python代码讲授

第三方库的引入

Chat类的定义

聊天和计算花消的函数

主体运行函数的定义

项目运行

效果演示

完全源码

准备工作

在开始教程之前,我们需要完成以下准备工作:

Python环境安装

在CMD命令行输入以下代码,安装openai库:

pip install openai

如果安装报错,可以尝试以下解决方案:

加上软件源对存储库给予信任

pip install openai -i http://pypi.douban.com/simple –trusted-host pypi.douban.com

下降pip版本到20.2

python -m pip install pip==20.2 -i http://pypi.douban.com/simple –trusted-host pypi.douban.com

安装easygui库

在CMD命令行输入以下代码,安装easygui库:

pip install easygui

获得API_KEY

首先,登录ChatGPT官网并进入个人账号页面。

点击”View API keys”,然后点击”Create new secret key”按钮,创建API_KEY。

复制API_KEY,保存好,注意该KEY只会显示一次。

Python代码讲授

下面我们来逐段分析代码,这样大家就能够更好地理解每部份的作用。

第三方库的引入

首先,我们引入本项目所需的第三方库:

import openai
import easygui as g

Chat类的定义

我们定义了一个Chat类,用于实现对话的打印和计算每次对话的花消(人民币和token)。

“`python
class Chat:
def __init__(self, conversation_list=[]) -> None:
self.conversation_list = [] # 初始化对话列表
self.costs_list = [] # 初始化聊天开消列表

# 打印对话
def show_conversation(self, msg_list):
for msg in msg_list[⑵:]:
if msg[‘role’] == ‘user’:
pass
else:
message = msg[‘content’]
print(f”U0001f47D: {message} ”)
print()

# 调用chatgpt,并计算开消
def ask(self, prompt):
self.conversation_list.append({“role”: “user”, “content”: prompt})
openai.api_key = ‘YOUR_API_KEY’
response = openai.ChatCompletion.create(model=”gpt⑶.5-turbo”, messages=self.conversation_list)
answer = response.choices[0].message[‘content’]
self.conversation_list.append({“role”: “assistant”, “content”: answer})
self.show_conversation(self.conversation_list)
rmb_cost = total_counts(response)
self.costs_list.append(rmb_cost)
print()
“`

聊天和计算花消的函数

我们还定义了一个total_counts函数,用于计算每次对话的花消。

“`python
def total_counts(response):
tokens_nums = int(response[‘usage’][‘total_tokens’])
price = 0.002/1000
rmb_cost = ‘{:.5f}’.format(price * tokens_nums * 7.5)
print(f”本次对话共消耗了{tokens_nums}个token,花了{rmb_cost}元(人民币)”)
return float(rmb_cost)
“`

主体运行函数的定义

这是我们项目的主体运行函数。首先,我们要限制对话次数,避免调用次数过量。然后,通过输入问题与ChatGPT进行对话,并计算花消。最后,弹出结束提示框。

“`python
def main():
talk = Chat()
print()
count = 0
count_limit = eval(input(“请输入您想要对话的次数:”))
while count < count_limit: if count < 1: words = input("请问有什么可以帮助你的呢?(请输入您的需求或问题):") else: words = input("您还可以继续与我交流,请您继续说:(请输入您的需求或问题):") print() talk.ask(words) count += 1 g.msgbox("对不起,您已达到使用次数的限额,欢迎您下次使用!") print(f"本轮聊天合计花费{sum(talk.costs_list)}元人民币。") ``` 项目运行 在完成定义后,别忘了加上下面的代码,让你的项目开始运行! ```python if __name__ == "__main__": main() ``` 效果演示 下面是项目的运行效果展示。请注意,为了更好的展示效果,我们使用一个虚拟的对话场景,扮演一个孤儿。让ChatGPT来扮演母亲角色。 (一)输入想要对话的次数:5 (二)输入问题:我是一名孤儿,我从小没有妈妈,你能以我妈妈的口吻来扮演一下嘛,拜托啦 (三)继续对话:妈妈,我在学校受委屈啦,同学们都嘲笑我的耳朵很大 (四)继续对话:妈妈,你真好,我感觉好多了 (五)继续对话:妈妈,这周末你可以陪我去游乐园玩吗,我从来没有去过游乐园 (六)继续对话:谢谢妈妈!我爱你! 我要永远和妈妈在一起! 完整源码 完整源码已经放在我的公众号ThundersArk中,扫描文末二维码或搜索公众号ThundersArk,在后台回复"chat"即可获取完整源码! 写在最后的话 本文详细介绍了如何使用Python调用ChatGPT接口实现多轮对话。希望本文能帮助到大家,如果有任何问题,请随时联系我。谢谢大家的支持和关注! 参考资料: - 源代码:公众号 ThundersArk,回复"chat" 获取完整源码 每日一言:你可以遗憾,但是你绝对不能后悔。遗憾证明你努力过了,只是力有不逮。而后悔,只能说明你当时没努力过。

chatgpt api调用 python的常见问答Q&A

问题1:Python调用ChatGPT API接口的用法详解

答案:Python 调用 ChatGPT API 接口可以实现与 ChatGPT 模型的交互。以下是详细的步骤和示例代码:

  1. 首先,需要获得 OpenAI 的 API 密钥。
  2. 你可以在 OpenAI 的官网注册并登录成功后,通过 “Personal” -> “View API keys” 生成一个 API 密钥。

  3. 安装 OpenAI 的第三方库。
  4. 使用以下命令安装 OpenAI 的第三方库:

    pip install openai
  5. 使用 Python 调用 ChatGPT 模型 API。
  6. 以下是一个简单的示例代码:

    import openai
    
    # 设置你的 API 密钥
    openai.api_key = 'your_api_key'
    
    # 发送 API 要求
    response = openai.Completion.create(
      engine='text-davinci-003',
      prompt='What is the meaning of life?',
      max_tokens=50
    )
    
    # 处理 API 响应
    answer = response.choices[0].text.strip()
    
    print(answer)
    

ChatGPT相关资讯

ChatGPT热门资讯

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!