当前位置: 首页 > news >正文

【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

相关文章:

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

文章目录 一、引言二、AIGC简介三、OpenAI介绍四、GPT-3.5介绍五、获得OpenAI API Key六、调用ChatGPT API实现与ChatGPT对话七、参考链接 一、引言 ChatGPT 的火爆,成功带火了AIGC,让它进入大众的视野。 ChatGPT 和Whisper API 开发者现在可以通过API将…...

Vatee万腾的科技探险:vatee数字化力量的前瞻征途

在Vatee万腾的科技探险中,我们领略到了一场数字化力量的前瞻征途,这是一次引领未来的创新之旅。Vatee万腾以其独特的科技理念和数字化力量,开启了一次引领行业的前瞻性征途,为数字化未来描绘出了崭新的篇章。 Vatee万腾的数字化力…...

github使用token认证

向github提交代码时报错:Support for password authentication was removed on August 13, 2021. Please use a personal access token instead。大概意思就是,原先的密码凭证从2021年8月13日开始就不能用了,后续必须使用个人访问令牌&#x…...

基于C#实现线段树

一、线段树 线段树又称"区间树”,在每个节点上保存一个区间,当然区间的划分采用折半的思想,叶子节点只保存一个值,也叫单元节点,所以最终的构造就是一个平衡的二叉树,拥有 CURD 的 O(lgN)的时间。 从…...

AI智能客服搭建教程附带免费源码

*名称* *版本要求* 服务器 CPU 2核心 ↑运存 4G ↑宽带 5M ↑ 服务器操作系统 Linux Centos7 运行环境 Nginx 1.18 PHP 7.3 MYSQL 5.6 服务器配置及环境要求 PHP设置 一、安装PHP扩展插件:fileinfo、redis、 sg11 二、删除PHP对应版本中的 pcntl_signal 、pcntl_signal_dis…...

Shell脚本:Linux Shell脚本学习指南(第三部分Shell高级)四

十九、Linux Shell trap命令:捕获信号 到目前为止,我们在本教程所见的脚本中还没有需要信号处理功能的,因为它们的内容相对比较简单,执行时间很短,而且不会创建临时文件。而对于较大的或者更复杂的脚本来说&#xff0…...

牛气霸屏-快抖云推独立版V1.6.7

介绍 快抖云推全插件独立版是最近很火的牛气霸屏系统独立版,牛气霸屏系统就是商家通过系统在线创建抖音或快手霸屏活动,并生成该活动的爆客二维码,用户通过扫二维码即可参加活动(活动可以是领取卡劵,抽奖等&#xff0…...

ffmpeg下载与配置环境变量

FFmpeg 是一个强大的多媒体框架,可以让用户处理和操纵音频和视频文件。具有易于使用的界面,用户可以在 Windows、Mac 或 Linux Ubuntu 系统上下载 FFmpeg 并将其提取到文件夹中。然后,该软件可以加入 PATH 环境变量中就可以快捷的使用软件了.…...

那些年,关于CKACKS认证的那些事儿?

前言 遥想2020年的年初,疫情封城封村之际,工作之余在B站将尚硅谷的linux中的k8s视频完整系统的学习了一遍,自此像是打通了任督二脉一般,开启了对k8s的探索之旅,一路也是磕磕绊绊的在工作中使用k8s。 终于在23年的6月仲…...

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

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

电路 buck-boost相关知识

BUCK-BOOST 文章目录 BUCK-BOOST前言一、DC-DC工作模式电容电感特性伏秒积平衡原理 二、BUCK电路三、BOOST电路四、BUCK-BOOST电路总结 前言 最近需要用到buck-boost相关的电路知识,于是便写下这篇文章复习一下。 一、DC-DC 在学习buck-boost电路之前我们先来看一…...

音频——S/PDIF

文章目录 BMC 编码字帧(sub-frame)格式帧(frame)格式参考S/PDIF 是 SONY 和 Philips 公司共同规定的数字信号传输规范,其实就是在 AES/EBU 上进行改动的家用版本。IEC60958 的标准规范囊括了以上两个规范。spdif 采用了双相符号编码(BMC),是将时钟信号和数据信号混合在一起…...

100篇带你入门——嵌入式系统中的程序调试方法

好久不见,最近小猿有点忙,才有时间给大家写文章。今天给大家讲一下在我们单片机开发都用哪些调试工具和调试方法,内容不完善的话,欢迎大家一起交流。 当涉及到嵌入式系统的程序调试时,选择正确的工具和方法是确保系统功…...

【Spring】Spring事务失效问题

📫作者简介:小明java问道之路,2022年度博客之星全国TOP3,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化,文章内容兼具广度、深度、大厂技术方案,对待技术喜欢推理加验证,就职于…...

WiFi 发射链路 MCS 自适应机制介绍

链路适配是指发射机选择最优的MCS向特定的接收机发送数据的过程。链路自适应算法的实现有其特殊性,但通常基于测量的数据包错误率(PER)。大多数算法监视PER并调整MCS以跟踪一个最佳的长期平均值,以平衡由于使用更高MCS发送更短数据包而减少的开销和由于更…...

【Linux常用命令】-文件写入相关

一、rm命令,文件删除 1.相关参数 -f(–force):强制删除文件或目录,无需确认。 -r(–recursive):递归地删除目录及其内容。 -i(–interactive):交…...

枚举的第一行

2023年11月26日 问题: 好奇enum的所声明的枚举类的第一行是什么 从java技术卷1中第五章5.6中,了解是枚举类的实例 验证 错误信息: 解释: 此时只有有参构造 在这个枚举类里不能使用空,大概意思是说不能使用空参创建实例 校验 在原有的基础上创建一个无参构造 结果:不再报错,第…...

LeetCode.707设计链表(链表相关操作一篇就够了)

LeetCode.707设计链表 1.问题描述2.解题思路3.代码 1.问题描述 你可以选择使用单链表或者双链表,设计并实现自己的链表。 单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。 如果是双…...

图论——二部图及其算法

什么是二部图 二部图的判定 例子1 任选一个节点染成红色 红色的邻居染成蓝色 蓝色邻居染成红色 例子2 这个不是二部图 无权二部图的最大匹配...

实现简单的操作服务器和客户端(下)

一、说明 描述:本教程介绍如何使用 simple_action_client 库创建斐波那契操作客户端。此示例程序创建一个操作客户端并将目标发送到操作服务器。 内容 代码代码解释编译运行操作客户端连接服务器和客户端...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

SpringCloudGateway 自定义局部过滤器

场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...