ChatGPT API调用python和脚本实现

news2024/12/27 13:35:46

Chat GPT 由于其独特、近乎准确且类似人类的响应,如今在互联网上引起了过多的讨论。本文讨论如何通过 Python 代码连接到 Chat GPT API。
如果需要用website访问chatGPT, 请参考保姆级教程 火爆全球的网红OpenAI ChatGPT注册教程

在这里插入图片描述

文章目录

  • 第 1 步:获取 OpenAI API 的 API 密钥
  • 第 2 步:下载 OpenApi 库
  • 第 3 步:创建 Python 代码以连接 Chat GPT
  • 第 4 步. 创建terminal脚本
  • 参考

第 1 步:获取 OpenAI API 的 API 密钥

要获取 OpenAI API 的 API 密钥,您需要在 OpenAI 网站上注册一个 OpenAI 帐户。拥有帐户后,您可以按照以下步骤创建 API 密钥:

  • 在OpenAI 网站上登录您的 OpenAI 帐户。
  • 单击页面右上角的“查看 API 密钥”按钮(Upgrade > API Keys)。
  • 单击“创建 API 密钥”按钮以生成新的 API 密钥。
    在这里插入图片描述

在这里插入图片描述
生成 API 密钥后,您可以复制它并在您的代码中使用它来通过 OpenAI API 进行身份验证。

第 2 步:下载 OpenApi 库

要通过 Python 中的 OpenAI API 连接到 GPT-3,您需要通过运行以下命令来安装 openai 库:

pip install openai

第 3 步:创建 Python 代码以连接 Chat GPT

import openai
openai.api_key = "sk-your open ai api key"
def askChatGPT(question):
    prompt = question
    model_engine = "text-davinci-003"

    completions = openai.Completion.create(
        engine=model_engine,
        prompt=prompt,
        max_tokens=1024,
        n=1,
        stop=None,
        temperature=0.5,
    )

    message = completions.choices[0].text
    print(message)
askChatGPT("how to learn ai")

在这里插入图片描述

注意:本文目前使用的是 GPT-3 API。在撰写本文时,ChatGPT API 尚未公开。我们可以从“ OpenAI ChatGPT API Waitlist ”页面请求 Chat GPT API 。

第 4 步. 创建terminal脚本

您可以使用 openai 库连接到 Chat GPT 并生成文本。下面是一个示例,说明如何使用 openai 库通过 GPT-3 生成文本:

vim HeyChatGPT 
#!/usr/bin/env python3

#Import open AI OS and System Modules
import openai,os,sys

prompt = sys.argv[1]
openai.api_key = os.environ['api_key']

completions = openai.Completion.create(
    engine="text-davinci-003",
    prompt=prompt,
    max_tokens=1024,
    n=1,
    stop=None,
    temperature=0.5,
)

message = completions.choices[0].text
print(message)
chmod +x HeyChatGPT

通过代码与聊天GPT交互

导出 OpenAPI API 密钥

export api_key=xxxxxxxxxxx
./HeyChatGPT "真心祝福语2023年元宵节"

在这里插入图片描述

参考

https://devopsforu.com/how-to-connect-to-chat-gpt-api/

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

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

相关文章

随笔记——线程池

文章目录1 概览2 核心点2.1 使用线程池的好处2.2 如何创建线程池2.3 线程池的参数2.4 如何处理任务流程?2.5 如何关闭线程池2.6 拒绝策略2.7 线程池满了,会怎样?1 概览 2 核心点 2.1 使用线程池的好处 降低资源消耗:通过重复利用…

Servlet程序创建步骤

1. 创建项目 使用 IDEA 创建一个 Maven 项目. 1) 菜单 -> 文件 -> 新建项目 -> Maven 2. 引入依赖 Maven 项目创建完毕后, 会自动生成一个 pom.xml 文件. 我们需要在 pom.xml 中引入 Servlet API 依赖的 jar 包. 1) 在 中央仓库 中搜索 "servlet", 一般…

android 系统安全内容总结

部分android系统安全内容网上已经存在,这里的android系统安全内容还是以经验总结为主,夹带不少引用,并形成个人的理解。 android安全内容学习需要一定基础,没接触安全的开发可以认识一下,接触过安全的可以对比安全上的理解。组建android系统安全讨论群进行维护更新android…

基于ssm高校科研成果管理系统 java ideamysql

(1)教师功能需求 教师进入系统可以查看个人中心、科研成果初审管理、科研成果终审管理、科研发布管理、留言板管理等操作。 (2)管理员功能需求 管理员登陆后,主要功能模块包括个人中心、教师管理、学院管理员管理、科…

linux Redis 搭建

命令下载:wget https://download.redis.io/releases/redis-6.2.6.tar.gz安装gcc:yum -y install gcc automake autoconf libtool make;进入src下make编译:make;make MALLOClibc(报错时执行)make install新建文件夹相关…

【Meta EnCodec源码分析】BitPacker功能介绍

二进制流 首先介绍一下二进制流。 假如有下4个数值 [ 47, 19, 38, 53 ]首先每个数字对应的二进制分别如下 十进制数值二进制数值470x0010 1111190x0001 0011380x0010 0110530x0011 0101 我们需要将这些数字保存到一个二进制文件中。 注:这里不考虑BigEndian还…

Centos使用lanproxy,搭建一个属于自己的内网穿透服务器(附转发失败解决方法),小白向

目录 前言 准备工作 搭建与使用 1. 安装git工具 2. 安装java环境 3. 安装maven工具 4. 搭建Lanproxy 5. 启动内网穿透服务 6. 设置开机自启 转发失败解决方法 前言 最近白嫖了7个月阿里云的服务器,顺带研究了一下,发现有挺多有趣又好玩的东西…

Acwing---1096. 地牢大师

地牢大师1.题目2.基本思想3.代码实现1.题目 你现在被困在一个三维地牢中,需要找到最快脱离的出路! 地牢由若干个单位立方体组成,其中部分不含岩石障碍可以直接通过,部分包含岩石障碍无法通过。 向北,向南&#xff0…

Redis基于docker跨服务器的一主两从三哨兵集群模式搭建

文章目录1 整体拓扑图2 redis与哨兵配置文件2.1 主节点配置文件2.1.1 主节点redis.conf配置文件2.1.2 主节点哨兵配置文件2.2 从节点配置文件2.1.1 从节点redis.conf配置文件2.1.2 从节点哨兵配置文件3 docke-compose编排文件4 启动并测试查看哨兵日志查看集群状态测试集群是否…

Spring源码分析 (Spring启动过程之容器对象的创建) (十五)

点进去 1.this() 2.注册配置类 3.refresh() Spring会将所有交由Spring管理的类,扫描其class文件,将其解析成BeanDefinition,在BeanDefinition中会描述类的信息,例如:这个类是否是单例的,Bean的类型,是否是懒…

导向滤波算法——OpenGL实现

导向滤波 一、介绍 导向滤波又称引导滤波,通过一张引导图片反映边缘、物体等信息,对输入图像进行滤波处理,使输出图像的内容由输入图像决定,但纹理与引导图片相似。 导向滤波的原理是局部线性模型,在保持双边滤波的优…

【学习笔记】多线程

1、线程基础 1.1 创建线程的几种方式 继承Thread 类,覆盖run方法实现Runable接口。实现run方法。然后 通过Thread类构造方法获取Thread对象。实现Callable接口。实现call方法。 call方法可以抛出异常。也可以有返回值。 run与start 调用run方法任然是主线程在执行。…

这个 Python 游戏库,打开就能玩一天

会 Python 的小伙伴,选择用 Python 让“大风车”吱呦呦地转!还有的小伙伴,选择用 Turtle 库绘制童年的卡通人物 我们其实还可以选择用 Python 开发小游戏,回忆童年的美好时光。 “凹凸版”吃豆子 这次并非用pygame制作的&#…

MyBatis超详细学习笔记(黑马)

目录 一、MyBatis快速入门 (一)打开MyBatis中文官网 (二)在工程中(pom.xml)导入MyBatis依赖 (三)编写MyBatis核心配置文件——替换连接信息,解决硬编码问题 &#x…

关于加强网络舆情监测的几点建议,TOOM强化舆情监控有方法

网络舆情监测是一项旨在通过监测网络上的舆情信息,了解社会舆论和网络话语状况,分析舆情动态,预测舆情走向,并进行舆情管控的工作。主要通过计算机技术和信息科学手段对网络信息进行收集、整理、分析和报告,以便于管理…

Golang - 操作Redis

Golang - 操作Redis go-redis是Golang语言连接、操作Redis服务的客户端,几乎包含了对Redis的所有操作,具体如下: 简单易用 兼容多种Redis部署架构,可用于Redis服务器、Redis群集、Redis Sentinel,甚至Redis服务器环go-redis 支持…

配置TF-A源码

配置TF-A源码 1.对tf-a源码进行解压 $> tar xfz tf-a-stm32mp-2.2.r2-r0.tar.gz 2.打补丁 进入/home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2目录 执行 for p in ls -1 ../*.patch; do patch -p1 < $p; done 3.配置工具链 1)进入/home/ubuntu/FS…

05 CSS-CSS语法【尚硅谷JavaWeb教程】

05 CSS-CSS语法【尚硅谷JavaWeb教程】 JAVAWEB的学习笔记 学习视频来自&#xff1a;https://www.bilibili.com/video/BV1AS4y177xJ/?vd_source75dce036dc8244310435eaf03de4e330 为什么需要CSS 传统的园区网络采用设备和链路冗余来保证高可靠性&#xff0c;但其链路利用率低、…

Task7:动态函数

目录注意一 Filter函数二 Subtotal函数注意 filter&#xff0c;目前只有office365支持 一 Filter函数 作用&#xff1a;需要根据指定的条件&#xff0c;将符合条件的所有记录从数据源表格式查找过来之前方法&#xff1a; 用高级筛选&#xff08;缺点&#xff1a;在查询下一个…

SAP ADM100-Unit4 数据库工作原理:中央数据库管理与DBA Cockpit

概览 本节介绍DBA Cockpit,介绍SAP环境下数据库管理和监控的要点。 使用DBA Cockpit计划日历去计划数据和日志信息的周期性备份。 课程目标 备份数据库内容 检查数据库备份是否成功被执行。 1、DBA Cockpit总览 为了最少的系统停机时间和更高的系统性能,必须计划定期的…