【GPT-3.5】通过python调用ChatGPT API与ChatGPT对话交流

文章目录

    • 一、引言
    • 二、AIGC简介
    • 三、OpenAI介绍
    • 四、GPT-3.5介绍
    • 五、获得OpenAI API Key
    • 六、调用ChatGPT API实现与ChatGPT对话
    • 七、参考链接

一、引言

ChatGPT 的火爆,成功带火了AIGC,让它进入大众的视野。

ChatGPT 和Whisper API

开发者现在可以通过API将ChatGPT和Whisper模型集成到应用程序和产品之中。

image-20230303233542434

二、AIGC简介

​ AIGC即AI Generated Content,利用人工智能技术来生成内容,是继UGC、PGC之后的新型内容生产方式,AI写作、AI绘画、AI作曲、AI剪辑、AI动画、AI交互等都属于AIGC的分支。AIGC是一种利用机器智能创作内容的新技术,它不同于UGC,它有自己的技术特点,比如数据量化、创造力、跨模态融合和认知交互等。这些技术特点使得AIGC成为不可替代的新一代内容生成方式。

三、OpenAI介绍

OpenAI是一个非营利性研究公司,致力于推动人工智能的发展和应用,创造出对人类有益的技术和成果。OpenAI由多位顶尖人工智能专家创立,包括伊隆·马斯克(Elon Musk)、塞巴斯蒂安·索特(Sebastian Thrun)、萨姆·阿尔特曼(Sam Altman)等。

OpenAI的目标是研究和开发通用人工智能,以实现强人工智能的梦想。为了实现这个目标,OpenAI聚集了全球最优秀的研究人员,致力于推动人工智能的前沿研究,并将研究成果转化为对人类有益的应用。

OpenAI已经在多个领域取得了显著的成就,例如在自然语言处理、图像识别、机器学习、深度学习等方面。OpenAI还推出了一系列开源工具和技术,以促进人工智能的发展和应用,包括GPT系列模型、DALL·E、Gym等。

总的来说,OpenAI致力于打造人工智能的可持续发展生态,推动人工智能的进一步发展,为人类创造更美好的未来。

四、GPT-3.5介绍

GPT-3.5:一组改进 GPT-3 的模型,可以理解并生成自然语言或代码。GPT-3.5 模型可以理解和生成自然语言或代码。gpt-3.5-turbo功能最强大、最具成本效益的模型是针对聊天进行了优化,但也适用于传统的完成任务。

五、获得OpenAI API Key

1、登录https://openai.com/api

image-20230227132138516

2、选择“View API keys”

image-20230227132243934

三、创建API key,点击“Create new secret key”

image-20230227132317688

四、创建API key成功,复制保存。

sk-bUQeskc00tsTp************5i5Dop8BxAL1n7
image-20230227132333908 image-20230227132351387

六、调用ChatGPT API实现与ChatGPT对话

import openai   # 从这里开始,通向AI的大门,获取AI的能量源泉

输入代码

#  导入OpenAI的Python SDK
import openai# 设置OpenAI API的密钥,该密钥必须在OpenAI的网站上注册并获取
openai.api_key = "sk-bUQeskc00tsTp************5i5Dop8BxAL1n7"# 创建一个新的对话生成请求,并将响应存储在名为“response”的变量中
response = openai.ChatCompletion.create(# 创建一个新的对话生成请求,并将响应存储在名为“response”的变量中model="gpt-3.5-turbo",# 以列表形式提供对话中的每个消息messages=[# 第一条消息,表示系统向用户打招呼。{"role": "system", "content": "Hello!"},# 第一条消息,表示系统向用户打招呼或提问。{"role": "user","content": "请告诉我你的脑容量有多大?"},]
)# 打印对话生成API的响应,其中包括机器生成的回答。
print(response)

输出响应

{"choices": [{"finish_reason": "stop","index": 0,"message": {"content": "\u6211\u662f\u4e00\u4e2a\u4eba\u5de5\u667a\u80fd\u7a0b\u5e8f\uff0c\u6211\u7684\u201c\u8111\u5bb9\u91cf\u201d\u662f\u7531\u8ba1\u7b97\u673a\u786c\u4ef6\u548c\u7f16\u7a0b\u6280\u672f\u51b3\u5b9a\u7684\u3002\u6211\u7684\u786c\u4ef6\u548c\u7f16\u7a0b\u80fd\u529b\u5141\u8bb8\u6211\u5728\u8fd0\u884c\u65f6\u5904\u7406\u5927\u91cf\u7684\u6570\u636e\u548c\u4fe1\u606f\uff0c\u4f46\u6211\u6ca1\u6709\u5b9e\u9645\u7684\u201c\u8111\u5bb9\u91cf\u201d\u6765\u6bd4\u8f83\u3002","role": "assistant"}}],"created": 1677860439,"id": "chatcmpl-6q2R5waJenvUka2qC0VqMWx2ROMmP","model": "gpt-3.5-turbo-0301","object": "chat.completion","usage": {"completion_tokens": 84,"prompt_tokens": 30,"total_tokens": 114}
}

调优代码(使输出结果以自然语言方式呈现出来)

# 导入OpenAI的Python SDK。
import openai# 设置OpenAI API的密钥,该密钥必须在OpenAI的网站上注册并获取。
openai.api_key = "sk-bUQeskc00tsTp************5i5Dop8BxAL1n7"# 指定使用的语言模型。此处选择GPT-3.5 Turbo模型。
response = openai.ChatCompletion.create(# 指定使用的语言模型。此处选择GPT-3.5 Turbo模型。model="gpt-3.5-turbo",# 以列表形式提供对话中的每个消息。messages=[# 第一条消息,表示系统向用户打招呼。{"role": "system", "content": "Hello!"},# 第二条消息,表示用户提出了一个问题。{"role": "user","content": "请告诉我你的脑容量有多大?"},]
)# 创建一个名为“result”的空字符串变量,用于存储机器生成的回答。
result = ''
# 循环遍历GPT-3 API返回的response中的所有回答选项。
for choice in response.choices:# 将每个回答选项的文本内容加入到“result”字符串变量中。result += choice.message.content
# 打印机器生成的回答。
print(result)

输出结果

作为一个AI程序,我的“脑容量”没有实际的物理大小,但我可以通过云计算利用大量服务器的处理能力来提高我的计算能力。总之,我的“脑容量”可以说是无限的。

于是接着问它

{"role": "user","content": "你知道太阳系有多大吗?"},

它给的反馈结果是

太阳系的大小是巨大的,它包括了太阳和所有行星、矮行星、小行星、彗星和星云等。根据目前的科学估算,太阳系的宽度约为287.46亿千米,也就是2874.6万亿米。

接着追问道

{"role": "assistant","content": "可以详细说一说是怎么计算出来的?"},

也给出了详细的回答和解释

太阳系的大小是指太阳的引力范围,通常认为是它对八大行星和众多天体施加引力影响的范围。太阳系直径约为100亿千米。这个数字很难想象,因此我们可以用其他的方式来描绘太阳系的大小。我们可以将太阳系与地球比较,地球直径约为12,742千米。这意味着太阳系直径大约是地球直径的780,000倍。如果将太阳系放大到网球大小,那么地球将只有1毫米左右大。我们还可以将太阳系和距离我们最近的星际物体比较。距离太阳系最近的星际物体是比邻星,它位于离地球4.24光年远的地方。如果将太阳系和比邻星放在一起比较,那么太阳系将比比邻星小得多。总之,太阳系虽然在宇宙中并不算特别大,但对于我们这个小小的星球来说,它仍具有惊人的规模和复杂性。

七、参考链接

✅【ChatGPT and Whisper APIs】文章链接:https://openai.com/blog/introducing-chatgpt-and-whisper-apis

✅【chat模型】说明演示文档:https://platform.openai.com/docs/api-reference/chat

✅【GPT-3.5介绍】:https://platform.openai.com/docs/models/gpt-3-5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/172060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线性模型加上正则化

使用弹性网络回归(Elastic Net Regression)算法来预测波士顿房屋价格。弹性网络回归是一种结合了L1和L2正则化惩罚的线性回归模型,能够处理高维数据和具有多重共线性的特征。弹性网络回归的目标函数包括数据拟合损失和正则化项: m…

torch.nn.batchnorm1d,torch.nn.batchnorm2d,torch.nn.LayerNorm解释:

批量归一化是一种加速神经网络训练和提升模型泛化能力的技术。它对每个特征维度进行标准化处理,即调整每个特征的均值和标准差,使得它们的分布更加稳定。 Batch Norm主要是为了让输入在激活函数的敏感区。所以BatchNorm层要加在激活函数前面。 1.torch.…

如何用低代码的思路设计文字描边渐变组件

前言 文字特效设计一直是困扰 Web 前端 Css 世界多年的问题, 比如如何用纯 Css 实现文字描边, 渐变, 阴影等, 由于受限于浏览器兼容性的问题, 我们不得不使用其他替代方案来实现. 平时工作中我们使用 PS 等设计工具能很容易的实现文字渐变等特效, 但是随着可视化技术的成熟, 我…

Swagger在php和java项目中的应用

Swagger在php和java项目中的应用 Swagger简介Swagger在java项目中的应用步骤常用注解 Swagger在php项目中的应用 Swagger简介 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 总体目标是使客户端和文件系统作为服务器以…

MyBatis的功能架构,MyBatis的框架架构设计,Mybatis都有哪些Executor执行器,Mybatis中如何指定使用哪一种Executor执行器

文章目录 MyBatis的功能架构是怎样的把Mybatis的功能架构分为三层: **MyBatis的框架架构设计**是怎么样的架构图如下Mybatis都有哪些Executor执行器?它们之间的区别是什么?Mybatis中如何指定使用哪一种Executor执行器? MyBatis的功…

SASS的导入文件详细教程

文章目录 前言导入SASS文件使用SASS部分文件默认变量值嵌套导入原生的CSS导入后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Sass和Less 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努…

人工智能入门教学——AI代理(AI Agent)

目录 一、简介 二、特征 三、结构 四、工作流程 五、类型 六、应用 一、简介 AI代理 (Artificial Intelligence Agent)是指使用人工智能技术和算法来执行特定任务、解决问题或实现目标的程序或系统。这些代理可以是简单的程序,也可以是复杂的系统&#xff0c…

面向对象编程:Rust的面向对象特性

欢迎关注我的公众号lincyang新自媒体,回复关键字【程序员经典书单】,领取程序员的100本经典书单 大家好!我是lincyang。 今天我们将深入探讨Rust语言中的面向对象编程(OOP)特性,并将其与其他流行编程语言进…

基于U-Net的视网膜血管分割(Pytorch完整版)

基于 U-Net 的视网膜血管分割是一种应用深度学习的方法,特别是 U-Net 结构,用于从眼底图像中分割出视网膜血管。U-Net 是一种全卷积神经网络(FCN),通常用于图像分割任务。以下是基于 U-Net 的视网膜血管分割的内容&…

mysql高级知识点

一、mysql架构 连接层:负责接收客户端的连接请求,可以进行授权、认证(验证账号密码)。服务层:负责调用sql接口,对sql语法进行解析,对查询进行优化,缓存。引擎层:是真正进行执行sql的地方&#x…

Linux面试题(二)

目录 17、怎么使一个命令在后台运行? 18、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息? 19、哪个命令专门用来查看后台任务? 20、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令? 21、终止进程用什么命令…

Vue框架学习笔记——事件修饰符

文章目录 前文提要事件修饰符prevent(常用)stop(不常用)事件冒泡stop使用方法三层嵌套下的stop三层嵌套看出的stop: once(常用)capture(不常用)self(不常用&a…

Vue轻松入门,附带学习笔记和相关案例

目录 一Vue基础 什么是Vue? 补充:mvvm框架 mvvm的组成 详解 Vue的使用方法 1.直接下载并引入 2.通过 CDN 使用 Vue 3.通过npm安装 4.使用Vue CLI创建项目 二插值表达式 什么是插值表达式? 插值表达式的缺点 解决方法 相关代…

【数据结构】树与二叉树(廿五):树搜索指定数据域的结点(算法FindTarget)

文章目录 5.3.1 树的存储结构5. 左儿子右兄弟链接结构 5.3.2 获取结点的算法1. 获取大儿子、大兄弟结点2. 搜索给定结点的父亲3. 搜索指定数据域的结点a. 算法FindTargetb. 算法解析c. 代码实现a. 使用指向指针的指针b. 直接返回找到的节点 4. 代码整合 5.3.1 树的存储结构 5.…

VUE限制文件上传大小和上传格式

<el-form-item label"图片&#xff1a;" prop"tempImagePath"><el-uploadclass"upload"accept"image/jpeg":show-file-list"false"list-type"picture-card":headers"{ token: token}":action&…

linux的netstat命令和ss命令

1. 网络状态 State状态LISTENING监听中&#xff0c;服务端需要打开一个socket进行监听&#xff0c;侦听来自远方TCP端口的连接请求ESTABLISHED已连接&#xff0c;代表一个打开的连接&#xff0c;双方可以进行或已经在数据交互了SYN_SENT客户端通过应用程序调用connect发送一个…

人力资源管理后台 === 基础环境+登陆

目录 1.人力资源项目介绍 1.1 项目架构和解决方案 1.2 课程安排 1.3 课程具备能力 1.4 课程地址 2. 拉取项目基础代码 3.项目目录和入口文件介绍 4.App.vue根组件解析 5.基础设置settings.js和导航守卫permission.js 6.Vuex的结构 7.使用模板中的Icon图标 8.扩展…

最新世界银行WDI面板数据(1960-2022年)

The World Development Indicators 是由世界银行编制和发布的全面数据集&#xff0c;旨在提供全球发展的详尽统计信息。这份数据集收录了1960-2022年间&#xff0c;世界266个国家共计1477个指标&#xff0c;涵盖经济、社会、环境、教育、公共卫生等20个领域 一、数据介绍 数据…

chromium通信系统-mojo系统(一)-ipcz系统代码实现-同Node通信

在chromium通信系统-mojo系统(一)-ipcz系统基本概念一文中我们介绍了ipcz的基本概念。 本章我们来通过代码分析它的实现。 handle系统 为了不对上层api暴露太多细节&#xff0c;实现解耦&#xff0c;也方便于传输&#xff0c;ipcz系统使用handle表示一个对象&#xff0c;hand…

MySQL基本SQL语句(下)

MySQL基本SQL语句&#xff08;下&#xff09; 一、扩展常见的数据类型 1、回顾数据表的创建语法 基本语法&#xff1a; mysql> create table 数据表名称(字段名称1 字段类型 字段约束,字段名称2 字段类型 字段约束,...primary key(主键字段 > 不能为空、必须唯一) ) …