ChatGPT初体验:注册、API Key获取与ChatAPI调用详解

自从2022年10月,ChatGPT诞生以后,实际上已经改变了很多!其火爆程度简直超乎想象,一周的时间用户过百万,两个月的时间用户过亿。
目前ChatGPT4已经把2023年4月以前的人类的知识都学习到了,在软件工程里面,大模型已经有了非常好的应用。据统计,100多万开发者编码,已经有46%的代码是大模型生成的,预计5年以后会有80%的代码是由人工智能,大模型生成。因此,掌握如何在程序中使用ChatGPT就显得十分重要了!
这里以Python程序为例,讲解如何在Python程序中调用ChatGPT的API!

1.ChatGPT介绍

ChatGPT是OpenAI开发的一种基于大型语言模型GPT(Generative Pretrained Transformer)的聊天机器人。这种聊天机器人可以生成连贯、自然的文本回复,被广泛用于各种对话式应用。下面是关于ChatGPT的一些主要特点:

  1. 基于GPT-3或GPT-3.5模型:ChatGPT通常基于GPT-3或GPT-3.5模型,这些都是目前最先进的自然语言处理模型之一。它们能理解和生成非常自然的语言。

  2. 预训练和微调:GPT模型通过大量的数据预训练,学会了语言的基本结构和模式。然后通过特定的对话数据进行微调,以优化其在对话任务上的表现。

  3. 多领域知识:由于在广泛的文本数据上进行训练,ChatGPT能够处理各种主题和领域的对话,从日常闲聊到专业领域的咨询。

  4. 上下文理解能力:ChatGPT能够理解和记住对话的上下文,这意味着它可以在对话中保持连贯性和相关性。

  5. 生成性能力:除了回答问题,ChatGPT还能生成诸如诗歌、故事、代码或其他创造性文本的内容。

  6. 应用场景:ChatGPT可以被用于客户服务、教育辅助、娱乐、内容创作等多种场景。

  7. 持续更新:OpenAI持续对模型进行优化和更新,以提高其性能、安全性和可靠性。

ChatGPT是人工智能和自然语言处理领域的一个重要成果,展示了当前技术在理解和生成人类语言方面的能力。然而,它也有局限性,比如对错误信息的复制、对新信息的缺乏响应等。OpenAI不断在改进这些模型,以提供更准确和实用的对话体验。

2.注册OpenAI账号

要在 OpenAI 网站上注册一个账号,请按照以下步骤操作:

1.打开浏览器,在地址栏中输入 https://openai.com/ ,打开 OpenAI 网站。

2.点击网站顶部的“登录”按钮。

3.在弹出的登录页面中,点击“注册”按钮。

4.输入您的电子邮件地址和密码,然后再次输入密码以确认。

5.在“我同意 OpenAI 的服务条款和隐私政策”复选框旁边打勾。

6.点击“创建账号”按钮完成注册。

7.按照提示,检查您的电子邮件并点击邮件中的链接以验证您的电子邮件地址。

8.在验证页面输入姓名和生日。

9.最后需要绑定一个国外手机号。

这里推荐一个网站可以获取国外手机号的验证码以绑定国外手机号!获取国外手机号验证码
在这里插入图片描述

如果按照上述流程你还不能注册成功,这边建议可以参考视频openAI账号注册。

3.获得OpenAI API Key

首先点击右侧链接进入查看ChatGPT文档API网址链接,具体如下所示:然后点击网站左上角图标可以显示侧边栏菜单项!
在这里插入图片描述
之后选择点击Create new key来创建一个属于自己的私钥,点击后输入一个Test key用来创建密钥,最后,生产密钥之后一定要复制保存,因为密钥只能被查看一次,不能被反复查看!
在这里插入图片描述

4.测试程序

这段代码的作用是使用 OpenAI GPT-3.5-turbo 模型进行聊天对话。它使用 OpenAI 的 Python 客户端库进行与 OpenAI API 的交互。

代码的主要流程如下:

1. 导入所需的库,其中包括 `json` 和 `OpenAI`。2. 进入一个无限循环,直到用户输入 "end" 结束循环。3. 提示用户输入需要查询的信息或资源。4. 获取用户输入的消息。5. 创建一个 OpenAI 客户端实例,传入 API 密钥作为参数。6. 如果用户输入为 "end",则退出循环。7. 使用 OpenAI 客户端调用 `chat.completions.create` 方法,发送用户输入的消息作为对话的起始。8. 从 API 响应中提取结果,并将其解析为字典对象。9. 从结果字典中获取聊天对话的回复内容。10. 打印响应信息。

代码中的 result_dict['choices'][0]['message']['content'] 用于从 API 响应中提取聊天对话的回复内容。这段代码假设 API 响应的结构与 OpenAI GPT-3.5-turbo 模型生成的结果相匹配。

请注意,代码中的 API 密钥被隐藏了,您需要将其替换为您自己 OpenAI API 密钥。此外,确保已正确安装 OpenAI Python 客户端库,并导入了正确的模块。
具体代码如下所示:

import jsonfrom openai import OpenAI
while True:print('请你输入需要查询的信息或资源(输入end结束):')# 获取用户输入message = input()client = OpenAI(# defaults to os.environ.get("OPENAI_API_KEY")# 这里的密钥要换成自己网站中生成的 这里我的密钥隐藏了api_key="sk-**********************NP",)if message == 'end':breakchat_completion = client.chat.completions.create(messages=[{"role": "user","content": message,}],model="gpt-3.5-turbo",)response = chat_completion.json()# 获取响应结果result_dict = json.loads(response)content = result_dict['choices'][0]['message']['content']print('响应信息为:', content)

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

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

相关文章

Matplotlib不规则子图_Python数据分析与可视化

除了网格子图,matplotlib还支持不规则的多行多列子图网格。 plt.GridSpec()对象本事不能直接创建一个图形,他只是 plt.subplot()命令可以识别的简易接口。 这里创建了一个带行列间距的23网格: grid plt.GridSpec(2, 3, wspace0.4, hspace0…

mac VScode 添加PHP debug

在VScode里面添加PHP Debug 插件,根据debug描述内容操作 1: 随意在index里面写个方法,然后用浏览器访问你的hello 方法,正常会进入下边的内容 class IndexController {public function index(){return 您好!这是一个[api]示例应用;}public function hello() {phpin…

group by

引入 日常开发中,我们经常会使用到group by。你是否知道group by的工作原理呢?group by和having有什么区别呢?group by的优化思路是怎样的呢?使用group by有哪些需要注意的问题呢? 使用group by的简单例子group by 工…

java学习part12多态

99-面向对象(进阶)-面向对象的特征三:多态性_哔哩哔哩_bilibili 1.多态(仅限方法) 父类引用指向子类对象。 调用重写的方法,就会执行子类重写的方法。 编译看引用表面类型,执行看实际变量类型。 2.父子同名属性是否…

数组与链表

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 除了HashMap&#xff0…

计算机服务器中了mallox勒索病毒如何处理,mallox勒索病毒解密文件恢复

科技技术的发展推动了企业的生产运营,网络技术的不断应用,极大地方便了企业日常生产生活,但网络毕竟是一把双刃剑,网络安全威胁一直存在,近期,云天数据恢复中心接到很多企业的求助,企业的计算机…

耶鲁博弈论笔记

编辑记录: 1126:开个新坑,耶鲁大学的博弈论课程, 和专业相关不大,纯兴趣,尽量写好一点吧 1. 首先指出博弈论是一种研究策略形式的方法,对于经济学中,完全竞争市场只能被动接受均衡…

Elasticsearch 的使用

一、简介 1.Shard(分片) 数据分散集群的架构模式,Elasticsearch 将一个 Index(索引)中的数据切为多个 Shard(分片),分布在不同服务器节点上。 默认每个索引会分配5个主分片和1个副本…

C#的函数

可以发现首字母一般为动词 可以看出void是返回空值 这个就不是放回空值了 例如 函数修饰符 1、如上面的实例一样——无修饰符:如果一个参数没有用参数修饰符标记,则认为它将按值进行传递,这将以为着被调用的方法收到原始数据的一份副本。&am…

谈谈Redis的几种经典集群模式

目录 前言 主从复制 哨兵模式 分片集群 前言 Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。在Redis中提供集群方案总共有三种:主从复制、…

PyQt6把QTDesigner生成的UI文件转成python源码,并运行

锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计18条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…

CSDN动态发了但是主页面看不见已发的动态

问题描述: 今天在写csdn动态的时候,发了五个动态,但是主页面的“最近”看不到我发的动态,我还以为是csdn动态每天的发送量有数量限制。去这个地方点我的发现 右上角全是“审核中”的字样 按理说是不可能审核这么久的&#xff08…

Linux常用命令——bc命令

在线Linux命令查询工具 bc 算术操作精密运算工具 补充说明 bc命令是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下。 语法 …

IO和NIO的区别 BIO,NIO,AIO 有什么区别? Files的常用方法都有哪些?

文章目录 IO和NIO的区别BIO,NIO,AIO 有什么区别?Files的常用方法都有哪些? 今天来对java中的io, nio, bio, aio进行了解,有何区别。 IO和NIO的区别 NIO与IO区别 IO是面向流的,NIO是面向缓冲区的Java IO面向流意味着每次从流中读一个或多个字…

酷开科技 | 酷开系统,让你与家人共度美好时光!

在日渐繁忙的生活中,我们常常会忽略和家人朋友的相处时光,有时候,我们亟需一种休闲方式,让家庭成员能够围坐在一起,享受无忧无虑的温馨和欢笑。酷开科技,致力于为消费者提供舒适的产品和服务内容&#xff0…

岂曰无衣 汉家衣裳再现锦绣美景

——福州第五届1122汉服节出行盛大开幕11月25日下午,闽江之心海丝广场,一场盛大的汉服文化节——福州第五届1122汉服节出行活动在这里隆重开幕。这个被誉为“穿在身上的历史”的传统文化,在这片古老而神秘的土地上焕发出新的生机与活力。据了…

Win10电脑用U盘重装系统的步骤

在Win10电脑中,用户遇到了无法解决的系统问题,用户这时候就可以考虑重装Win10系统,这样即可轻松解决问题,从而满足自己的操作需求。接下来小编给大家详细介绍关于Win10电脑中用U盘重装系统的教程步骤。 准备工作 1. 一台正常联网可…

【古诗生成AI实战】之二——项目架构设计

[1] 项目架构 在我们深入古诗生成AI项目的具体实践之前,让我们首先理解整个项目的架构。本项目的代码流程主要分为三个关键阶段: 1、数据处理阶段;   2、模型训练阶段;   3、文本生成阶段。 第一步:在数据处理阶段…

免费分享一套基于springboot的餐饮美食分享平台系统,挺漂亮的

大家好,我是java1234_小锋老师,看到一个不错的基于springboot的餐饮美食分享平台系统,分享下哈。 项目视频演示 【免费】基于springboot的餐饮美食分享平台 Java毕业设计_哔哩哔哩_bilibili【免费】基于springboot的餐饮美食分享平台 Java毕…

【SQL Server2019SSMS】安装与卸载手册

目录 📋前言 ⛳️【SQL Serverssms】安装 1. SQL Server自定义安装 2. SSMS安装 ⛳️【SQL Server】卸载 📋前言 🌈个人主页:Sarapines Programmer 🔥 系列专栏:本期文章收录在《宝藏工具使用手册》&am…