首页 > 编程语言 >小白学 Python: 如何在Python中使用ChatGPT API?

小白学 Python: 如何在Python中使用ChatGPT API?

时间:2023-10-22 11:03:22浏览次数:35  
标签:Python messages API openai 小白学 ChatGPT message

小白学 Python: 如何在Python中使用ChatGPT API?_人工智能

如何在Python中使用ChatGPT API?

ChatGPT及其必然的应用。日复一日,我们周围的一切似乎都在通过使用不同人工智能机器学习技术的多个人工智能模型以及使用 Python 的聊天机器人而变得自动化,聊天 GPT 的用途及其有用的应用程序之一我们今天将讨论。因此,在讨论其应用程序之前,让我们先了解一下 Chat GPT 是什么。

小白学 Python: 如何在Python中使用ChatGPT API?_人工智能_02

ChatGPTOpenAI开发。它是一个基于GPT-3.5架构的大型语言模型。它是一种人工智能聊天机器人,可以接受用户的输入并生成类似于人类的解决方案。ChatGPT 是训练有素的人工智能,在大型 数据集上进行训练,使用该训练它可以执行各种任务。它旨在模拟与人类的对话,使其成为客户服务、个人助理和其他需要自然语言处理的应用程序的宝贵工具。聊天 GPT有多种,例如内容 创建、客户服务、协助和自动化。

如何通过 Python 使用 ChatGPT API?

在这里,我们将看到在 Python 中使用 ChatGPT API 所需的所有步骤。使用 ChatGPT API,我们可以使用 Python 代码来使用 ChatGPT的功能,这意味着我们不需要去 ChatGPT 的网站提出任何问题。

步骤1:

OpenAI上创建帐户并登录。

步骤2:

登录后,单击右上角的“个人”,然后单击“查看 API 密钥”,如下图所示。

小白学 Python: 如何在Python中使用ChatGPT API?_API_03

查看 API 密钥

步骤 3:

执行步骤 2 后,将打开一个 API 密钥页面,我们可以看到“创建新密钥”按钮,单击该按钮将生成一个密钥,复制该密钥并将其保存在记事本或其他任何地方,因为它是必需的在接下来的步骤中。

小白学 Python: 如何在Python中使用ChatGPT API?_API_04

已生成 API 密钥 

第 4 步:

现在,打开任何代码编辑器或在线笔记本,例如Google ColabJupyter Notebook。在这里,我们使用Google Colab笔记本并使用以下命令在 Python 中安装Open Ai库。

pip install -q openai

如果您使用任何其他代码编辑器,您可以通过在终端或命令提示符中执行以下命令来安装 Python 中的openai库。

pip install openai

步骤 5:

导入openai库并将 密钥存储在我们在步骤 3 中生成的变量中,如下所示。

import openai 

openai.my_api_key = 'YOUR_API_KEYS'

步骤 6:

为 ChatGPT API 设置上下文,用于告诉 API 应该使用 JSON 文件执行什么操作。在这里,我们将角色定义为一个系统,因为我们正在为用户创建这个角色,而这个 ChatGPT 是一个系统,也定义了内容。

Python:

messages = [ {"role": "system", "content": "You are a intelligent assistant."} ]

第 7 步:

这是其余的代码 

  • 我们使用无限 while 循环,以便我们可以重复与 ChatGPT API 聊天,而无需一次又一次执行代码。 
  • 在第二行中,我们从用户那里获取输入并将其存储在变量“message”中。
  • 如果用户输入任何问题,那么我们只需输入 if 条件并制作 JSON 文件并将其附加到我们在步骤 6 中创建的 JSON 文件中,然后使用 openai.ChatCompletion.create() 生成聊天
  • 将答案存储在变量“reply”中,并使用print()函数打印该回复。
while True: 
	message = input("User : ") 
	if message: 
		messages.append( 
			{"role": "user", "content": message}, 
		) 
		chat = openai.ChatCompletion.create( 
			model="gpt-3.5-turbo", messages=messages 
		) 
	
	reply = chat.choices[0].message.content 
	print(f"ChatGPT: {reply}") 
	messages.append({"role": "assistant", "content": reply})

以下是完整的实现:

import openai 
openai.api_key = 'YOUR_API_KEYS'
messages = [ {"role": "system", "content": 
			"You are a intelligent assistant."} ] 
while True: 
	message = input("User : ") 
	if message: 
		messages.append( 
			{"role": "user", "content": message}, 
		) 
		chat = openai.ChatCompletion.create( 
			model="gpt-3.5-turbo", messages=messages 
		) 
	reply = chat.choices[0].message.content 
	print(f"ChatGPT: {reply}") 
	messages.append({"role": "assistant", "content": reply}) 

输出:

运行上述代码后,我们必须输入任何查询,如下所示,输出查询是“What is geeks for geeks”、“Which is best DSA course on gfg”,我们从 ChatGPT 获取输出并作为 while 循环是无限的,它再次要求用户输入。

小白学 Python: 如何在Python中使用ChatGPT API?_Python_05

ChatGPT 输出:

我们还可以检查 OpenAI (Chatgpt) 的输出,它与我们的 Python 代码输出相同。

小白学 Python: 如何在Python中使用ChatGPT API?_人工智能_06

聊天 GPT 输出


标签:Python,messages,API,openai,小白学,ChatGPT,message
From: https://blog.51cto.com/demo007x/7974487

相关文章

  • python包引用方式总结
    本文为博主原创,转载请注明出处:在Python中,有多种引用包的方式。以下是常见的方式:1.import语句import语句是最常见和推荐的引用包的方式。它允许你引入整个包或包中的特定模块/子模块。importpackage_nameimportpackage_name.module_namefrompackage_nameimportmod......
  • 2023 版 Java和python开发线性代数探索
    目录前景提示需求分析1、初始化不需要指定矩阵的尺寸,并且可以直接传入数据。2、可以计算2x2矩阵的逆3、可以做2x2的矩阵乘法Java版本开发一、开发详情1、开发一个子类,如图所示。2、根据问题修改子类,父类,以便真实可用解决1、初始化不需要指定矩阵的尺寸,并且可以直接传入数据。解决......
  • bytewax python 流处理框架
    bytewaxpython流处理框架,支持批以及流处理,内部使用了timely-dataflowrust库bytewax支持的模式主要是多worker以及多process核心还是单机场景,暂时不支持多主机的集群模式,同时对于状态的存储以及recovery使用了sqlite说明以前我也介绍过一个基于rust的流处理引擎arroyo,......
  • 快速搭建API随心搭,让你的web开发更加高效
    随着互联网的发展,越来越多的应用和服务需要通过API接口来实现。API(ApplicationProgrammingInterface,应用程序编程接口)可以理解为两个软件之间的桥梁,通过API接口,两个软件可以相互交流并进行数据交换。如今,API已经成为许多公司和应用程序的核心,因此快速搭建并管理API接口已成为开......
  • Python入门系列20-日志logging模块
    一、概念日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以在他们的代码中调用日志记录相关的方法来表明发生了某些事件,通过一个描述性的消息来描述这个事件,该消息能够可选的包含可变数据。而事件有重要性的概念,重要性被称为严重性级别。二、日志的作用通过记录......
  • Python入门指南
    Python入门指南Python中的“文本”代码用计算机程序设计语言写成的,可以被计算机执行的文本称为代码。输入从外界将数据传递给程序称为输入,即通过输入设备(例如:鼠标、键盘、和摄像头等)向计算机输入数据和信息。输出程序将数据传递给外界称为输出,即把计算机处理结果(例如:屏幕显......
  • Python-Json异常:Object of type Decimal is not JSON serializable
    源起:使用python分离出一串文本,因为是看起来像整数,结果json转换时发生异常:TypeError:ObjectoftypeDecimalisnotJSONserializablemsgInfo={"uid":3232324232}json.dumps(msgInfo,ensure_ascii=False)原因:decimal格式不能被json.dumps正确处理。json.dumps函数发现字......
  • C#WebApi 对数据进行缓存加快前请求数据的速度
    usingClassLibrary1;usingClassLibrary2;usingMicrosoft.AspNetCore.Mvc;usingMicrosoft.Extensions.Caching.Memory;usingMicrosoft.Extensions.Logging;usingWebApplication1.IServices;usingWebApplication1.Utility.SwaggerExt;namespaceWebApplication1.......
  • ​在二叉搜索树中查找第n个最小节点的Python实现
    二叉搜索树(BinarySearchTree,BST)是一种非常常用的数据结构,它具有许多优秀的性质,例如插入、删除和查找的效率都非常高。今天我们要探讨的问题是:如何在二叉搜索树中查找第n个最小的节点。 首先,我们需要明白二叉搜索树的一个重要性质:对于任何一个节点,其左子树中的所有节点的值都小于......
  • 【Python】将Python中的多维列表进行展开
    1.引言在本教程中,我们将探索在Python中展平列表的不同方法。列表展开是指将多维列表转换为一维列表的过程,我们将介绍如何使用Python语法和NumPy库来分别展平二维、三维和四维度的列表。闲话少说,我们直接开始吧!2.展开二维列表让我们首先创建一个名为flatten_2d的函数,该函数......