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

news2024/11/28 0:44:23

自从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 json

from 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':
        break
    chat_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.coloradmin.cn/o/1257003.html

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

相关文章

因子分析例题(多元统计分析期末复习)

例一 设某客观现象可用 X {X} X( X 1 {X_1} X1​, X 2 {X_2} X2​, X 3 {X_3} X3​)’ 来描述,在因子分析时,从约相关阵出发计算特征值为 λ 1 {λ_1} λ1​1.754, λ 2 {λ_2} λ2​1, λ 3 {λ_3} λ3​…

3.数据结构

3.1 数据结构分类 常见的数据结构包括数组、链表、栈、队列、哈希表、树、堆、图,它们可以从“逻辑结构”和“物理结构”两个维度进行分类。 3.1.1逻辑结构:线性与非线性 逻辑结构揭示了数据元素之间的逻辑关系。在数组和链表中,数据按照…

【docker系列】docker命令篇

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

C语言:有一篇文章,共三行文字,每行有80个字符。要求分别统计出单词个数、空格数。

分析&#xff1a; #include<stdio.h>&#xff1a;这是一个预处理指令&#xff0c;将stdio.h头文件包含到程序中&#xff0c;以便使用输入输出函数。 int main()&#xff1a;这是程序的主函数&#xff0c;是程序执行的入口点。 char a[3][80];&#xff1a;定义了一个二维…

springBoot的实现原理;SpringBoot是什么;使用SpringBoot的核心功能;springBoot核心注解以及核心配置文件

文章目录 springBootspringBoot的实现原理什么是 Spring Boot&#xff1f;SpringBoot是什么为什么要使用springBootSpring Boot的核心功能Spring Boot 主要有如下优点&#xff1a; SpringBoot启动过程-流程Spring Boot 的核心注解是哪个&#xff1f;什么是 JavaConfig&#xff…

7 通用数字量输入输出GPIO

文章目录 7.0 GPIO概念7.1 GPIO工作原理7.2 GPIO寄存器以及编程7.2.5 GPIO寄存器编程设置与应用 7.3 GPIO跑马灯7.3.1 LED 输出初始化7.3.2 跑马灯输出实验7.3.3 按键输入实验 7.0 GPIO概念 GPIO&#xff08;general purpose intput output&#xff09;是通用输入输出端口的简…

Elasticsearch:LangChain 是什么?

当你将应用程序称为 “AI&#xff08;人工智能&#xff09;” 时&#xff0c;这通常意味着它包含与学习模型&#xff08;例如大型语言模型&#xff0c;或 LLM&#xff09;的交互。 [不那么]有趣的事实是&#xff0c;LLM 的使用实际上并不是使应用程序变得智能的原因。 它的特殊…

vue项目npm install报错Failed at the fibersa4.0.3 install script

报错如下 解决&#xff1a;降低node版本 降到12.16.0 参考链接

基于51单片机的全自动洗衣机proteus仿真设计

标题目录 &#x1f4ab;51单片机全自动洗衣机proteus仿真设计&#x1f4ab;设计介绍&#x1f4ab;仿真图电动机驱动模块电路设计电源模块电路设计控制按键进水阀和排水阀控制继电器 &#x1f4ab;程序设计main函数 &#x1f4ab;设计报告&#x1f4ab;资料清单&&下载链…

【古诗生成AI实战】之三——任务加载器与预处理器

本章内容属于数据处理阶段&#xff0c;将分别介绍任务加载器task和预处理器processor。 [1] 数据集 在深入探讨数据处理的具体步骤之前&#xff0c;让我们先了解一下我们将要使用的数据集的形式。 本项目采用的是七绝数据集&#xff0c;总计83072条古诗&#xff0c;其形式如下&…

Linux系统编写C语言程序并执行(图文详解)

目录 前言 Linux如何编写C语言 1.打开编辑器&#xff0c;写代码 2.编译运行文件 相关拓展 前言 LINUX中包含了很多软件开发工具。它们中的很多是用于C和C应用程序开发的。 C是一种能在UNIX的早期就被广泛使用的通用编程语言。它最早是由Bell实验室的Dennis Ritchie为了UN…

中年人怎么发展?持续发展?

现在ai这么火&#xff0c;就像当年的xxx&#xff0c;如果没有抓住&#xff0c;会xxx吗&#xff1f; 为了ai&#xff0c;多学学python也是也是好的啊。 在学习之余&#xff0c;还是想做做自媒体的。不求马上赚到钱。我的想法是&#xff0c;现在每天下班回家都是刷刷抖音&#…

Jmeter工具学习三——CSV文件、关联、断言

Jmeter学习三——CSV文件和关联 jmeter做功能测试和做性能测试的区别CSV数据文件设置&#xff08;读取外部文件&#xff0c;进行分数据驱动&#xff09;文件设置字段介绍&#xff1a;文件名文件编码如果出现编码问题导致的乱码&#xff0c;如何解决&#xff1f; 变量名忽略首行…

基于深度学习的图像超分辨率应用

引言 在使用图片浏览软件显示图片时&#xff0c;为了凸显某个部位&#xff0c;你会放大图片&#xff0c;为了显示整体&#xff0c;你会缩小图片。 你的原始图片大小是固定的&#xff0c;但图像浏览软件既可以最大化到整个屏幕&#xff0c;也可以只占一个区域&#xff0c;这些…

【云平台】STM32微信小程序阿里云平台学习板

【云平台】STM32微信小程序阿里云平台学习板 文章目录 前言一、立创EDA&#xff08;硬件设计&#xff09;1.主控STM32F103C8T62.ESP8266模块3.温湿度模块4.光照强度模块5.OLED显示模块6.PCB正面7.PCB反面8.3D视角正面9.3D视角反面 二、【云平台】STM32微信小程序阿里云平台学习…

Linux7设置ssh秘钥登录并关闭密码登录

说明&#xff1a;场景为windows使用WinScp远程登录linux服务 winscp安装教程&#xff1a;winscp安装及关联putty使用_putty.exe没有找到_cherishSpring的博客-CSDN博客 1.在window上生成公钥和秘钥&#xff0c;操作方式参考以下文章第3点&#xff1a; git关联云效使用教程_云…

爬取极简壁纸

js反编译的代码需要解密之类的&#xff0c;直接给我干蒙圈了&#xff0c;借助selenium可以直接获取到调式工具中的源码&#xff0c;可以获取渲染后的链接&#xff0c;然后将链接交给下载函数&#xff08;使用异步提高效率&#xff09;即可。 后续学习完js反编译的话&#xff0…

项目实战——苍穹外卖(DAY10)

如果之前有改过端口号造成WebSocket无法连接的&#xff0c;可以看本篇文章“来单提醒”前的内容进行解决。 课程内容 Spring Task 订单状态定时处理 WebSocket 来单提醒 客户催单 功能实现&#xff1a;订单状态定时处理、来单提醒和客户催单 订单状态定时处理&#xff1a…

Spring Boot 项目配置文件出现乱码的解决方法

如下图&#xff0c;我们 Spring Boot 项目的配置文件 application.properties 可能会出现如下的乱码问题&#xff1a; 我们写注解的时候是正常的&#xff0c;但是下次启动项目就出现了乱码&#xff0c;这个是字符集设置的问题 解决方法 1.点击 File 选择 Settings 2.搜索 enco…

C#学习-8课时

P10 输入输出程序编写 相同类型的可以直接相加&#xff1b; cwtabtabconsole.Writeline(); using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace C_8_1 { class Program { s…