当ChatGPT遇见Python

news/2024/7/19 11:18:37 标签: python, chatgpt, Open Api, 爬虫, 大数据

在如火如荼的 ChatGPT 大潮当中,已经衍生出了各种各样的周边产品。

Python 作为著名的万金油工具,怎么能没有它的身影呢。今天我们就介绍两种通过 Python 调用 ChatGPT 的方法,一起来看看吧~

chatgpt-wrapper

这是一个开源在 GitHub 上的项目,通过自动化工具 Playwright 来驱动调用 CHatGPT

我们配置好这个工具之后,就可以在命令行以及 Python 代码中使用 ChatGPT了

安装配置

首先当然是安装克隆该项目了

pip install git+https://github.com/mmabrouk/chatgpt-wrapper

然后我们安装 Playwright

pip install playwright

接下来我们在 Playwright 当中安装浏览器,比如 firefox

playwright install firefox

以上都完成后,我们在终端执行如下命令

chatgpt install

接下来会弹出一个 ChatGPT 的登录页面,输入账号密码,点击登陆即可!

登陆完成之后我们就可以重启终端,在里面输入 chatgpt,此时就可以开始和 CHatGPT 愉快的玩耍了

接入 Python

当然我们必须可以把这一切都植入 Python 代码

python">python">from chatgpt_wrapper import ChatGPT

bot = ChatGPT()
response = bot.ask("Hello, world!")
print(response)  # prints the response from chatGPT

区区三行代码,我们仿佛拥有了整个世界!

OpenAI

第二种方法是通过 OpenAI 开放的接口

我们先安装 OpenAI 库

pip install openai

然后需要获取 api key,需要访问如下网站 https://platform.openai.com/account/api-key,添加对应的 key 即可,保存该 key。

接下来我们就可以编写代码了,也非常简单

python">python">import openai

# 设置 API Key
openai.api_key = "上面保存的api key"

# 设置请求参数
model_engine = "text-davinci-002"
prompt = "Hello World"

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

# 获取 ChatGPT 的回复
message = completions.choices[0].text
print(message)

在上面的代码中,我们注意到,可以通过更改代码中的请求参数,如提示、模型、温度等,来调整 ChatGPT 的响应。

不过当前需要注意,OpenAI 的 API 有请求限制,所以我们不能毫无节制的调用该接口哈~

好了,这就是今天分享的全部内容,喜欢就点个吧!


http://www.niftyadmin.cn/n/110776.html

相关文章

QT打开外部程序并嵌入Qt子窗口的缺点

首先可以参考如下文章: QT打开外部程序并嵌入Qt界面_qt界面嵌入外部应用程序_初学小白Lu的博客-CSDN博客 Qt嵌入外部程序界面初探_qt嵌入其他程序窗口_liming4675的博客-CSDN博客 QT 如何把外部程序嵌入到QT界面_qt嵌入其他程序窗口_hellokandy的博客-CSDN博客 Qt界…

DeepFaceLab 中Ubuntu(docker gpu) 部署

DeepFaceLab 在windows图形界面部署比较多,下面用ubuntu 部署在服务器上。部署过程中python版本,或者protobuf版本可能有问题,所以建议用docker 代码下载 cd /trainssdgit clone --depth 1 https://github.com/nagadit/DeepFaceLab_Linux.g…

Java——异常

目录 什么是异常 异常处理主要的5个关键字 异常的体系结构 异常语法 异常的分类 异常的处理流程 异常的处理 防御式编程 异常的抛出 throw的注意事项 异常的捕获 异常声明throws try-catch捕获处理 finally 自定义异常类 throw和throws区别 什么是异常 程序在运行时出现错…

沸点 | 实时图数据库技术将赋能银行数字化转型——访同心尚科技总裁王昊

实时图数据库技术将赋能银行数字化转型 ——访同心尚科技总裁王昊 本报记者 赵萌 全国两会召开在即,近日,在多家媒体或研究机构的两会热点话题预测中,“科技创新”“数字经济”位列其中。如何更好发挥信息科技对支持实体经济发展的放大、叠加…

【Java】String类

1. String内部声明 jdk8以前: private final char value[]; final:指明数组一旦初始化,其地址就不能改变 jdk9以后: private final byte[] value;,为节省内存空间而优化 final:指明数组一旦初始化&…

ZOJ-搜索专题

1002 题意 思路 深搜&#xff0c;每个格子都搜一遍。技巧dfs(cnt,ans)dfs(第几个格子&#xff0c;答案)&#xff1b; 代码 #include <iostream>using namespace std;int n,i,j,ans; char s[5][5];int c_put(int n,int m) {for (i n-1;i > 0;i --) {if (s[i][m] …

4.3 where关键字过滤查询数据

文章目录1.使用WHERE子句2.WHERE子句操作符2.1 使用单个值2.2 不匹配检查2.3 范围值查询2.4 空值检查3.组合WHERE子句3.1 AND操作符3.2 OR操作符3.3 计算次序4.IN操作符5.NOt关键字&#xff15;.注意事项&#xff15;.1 NULL与不匹配&#xff15;.2 SQL过滤与应用过滤&#xff…

你知道如何获取全国省市街道区域信息吗?

随着互联网和快递行业的飞速发展&#xff0c;在中国广袤的大地上&#xff0c;全国行政区域规划星罗棋布&#xff0c;要查询一个行政单元如果不运用科技的手段查询可是非常的不易&#xff0c;现在&#xff0c;全国行政区划查询API的作用越来越大&#xff0c;它可以帮助我们对地址…