返回顶部
首页 > 资讯 > 后端开发 > Python >怎么使用Python对接OpenAi API实现智能QQ机器人
  • 122
分享到

怎么使用Python对接OpenAi API实现智能QQ机器人

2023-07-05 14:07:19 122人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍“怎么使用python对接Openai api实现智能QQ机器人”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Python对接OpenAi API实现智能

这篇文章主要介绍“怎么使用python对接Openai api实现智能QQ机器人”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Python对接OpenAi API实现智能QQ机器人”文章能帮助大家解决问题。

怎么使用Python对接OpenAi API实现智能QQ机器人

这些SDK不仅仅可以用于开发机器人,还可以自由的开发你所想要的效果,如你所想,他是一个工具包,帮你chuanchuan构建一个ChatGPT服务和会话。

最近OpenAi给他套上了一个CloudflareCDN服务,这个服务会去拦截非真机请求,现在已经可以破解了。

怎么使用Python对接OpenAi API实现智能QQ机器人

寻找合适的逆向SDK

怎么使用Python对接OpenAi API实现智能QQ机器人

原作者用的是这个。

怎么使用Python对接OpenAi API实现智能QQ机器人

整个包的文件并不是很多,喜欢Python的可以去看看,我这个Java看不太懂。

实践开始-实践篇第一

代码中使用到的revChatGPT依赖源码库:
https://GitHub.com/acheong08/ChatGPT

我们的Python版本,需要>=3.8,然后pip直接升级到最新版本。

下面代码的目的是与ChatGPT官方接口进行交互,注意安装一下里面用到的依赖
chat-gpt-qbot.py:

import flaskJSONfrom flask import requestfrom revChatGPT.revChatGPT import Chatbotconfig = {    "session_token": "换成你自己的token"}# 创建一个服务,把当前这个python文件当做一个服务server = flask.Flask(__name__)chatbot = Chatbot(config, conversation_id=None)def chat(msg):    message = chatbot.get_chat_response(msg)['message']    print(message)    return message@server.route('/chat', methods=['post'])def chatapi():    requestjson = request.get_data()    if requestJson is None or requestJson == "" or requestJson == {}:        resu = {'code': 1, 'msg': '请求内容不能为空'}        return json.dumps(resu, ensure_ascii=False)    data = json.loads(requestJson)    print(data)    try:        msg = chat(data['msg'])    except Exception as error:        print("接口报错")        resu = {'code': 1, 'msg': '请求异常: ' + str(error)}        return json.dumps(resu, ensure_ascii=False)    else:        resu = {'code': 0, 'data': msg}        return json.dumps(resu, ensure_ascii=False)if __name__ == '__main__':    server.run(port=7777, host='0.0.0.0')

怎么使用Python对接OpenAi API实现智能QQ机器人

我们导入我们的逆向包。

from revChatGPT.revChatGPT import Chatbot

怎么使用Python对接OpenAi API实现智能QQ机器人

这是逆向包里面的源码,用于初始化一个服务,我们刚刚的类中调用了这个包。

怎么使用Python对接OpenAi API实现智能QQ机器人

然后去创建抛出这个服务的接口,方便被调用。

我们只要运行上面的代码就可以在7777端口直接与ChatGPT进行交互了。
我们使用接口工具测试一下,结果如下图,可以看到,接口正常工作并从ChatGPT得到了对话结果。

怎么使用Python对接OpenAi API实现智能QQ机器人

其中消息体:

{"msg": "你会数学吗"}

消息体是我们自定义的内容,你可以自己增加字段对接口进行功能扩展
本例子中的msg就是我们的发言内容
而接口返回的:

{ "code": 0, "data": "是的,我会数学。我是一个大型语言模型,我可以回答各种问题,包括数学问题。你有什么数学问题需要我帮助你解决吗?"}

这也是我们自己定义的,当code=0时代表与ChatGPT交互成功,此时dataChatGPT反馈给我们的对话内容。而当code=1时说明出现了错误,此时没有data,但在msg中返回了错误信息。

到这里我们就拥有了一个可以和ChatGPT交互到接口,通过这个接口,我们就能与ChatGPT进行对话

既然进行对话,那就需要一个输入框和一个按钮,你可以做一个网页来调用这个接口,这很简单,我们不在这里赘述了。

我们真正要做的是一个QQ机器人,其原理就是让QQ机器人监听到消息,并通过我们的接口把消息转发给ChatGPT,然后再把ChatGPT返回的对话内容发送给QQ用户,这样一个可以对话的机器人就做好了,具体做法,下文继续讲解。

实践继续-实践篇第二

上文我们实现了一个接口,用代码成功获取到了ChatGPT的对话内容,下面我们将继续完善QQ机器人相关逻辑,注意看代码中的注释。

怎么使用Python对接OpenAi API实现智能QQ机器人

为了更方便的将优化后(接入QQ机器人)的代码,与之前的代码比较,我开启一个本地比较,并收起了没有变动的代码。

怎么使用Python对接OpenAi API实现智能QQ机器人

怎么使用Python对接OpenAi API实现智能QQ机器人

怎么使用Python对接OpenAi API实现智能QQ机器人

机器人的交互实现逻辑,这个你可能会看不懂,因为我们是使用了一个机器人框架,那其实我们不要局限自己的思想,我们可以尝试自己修改使用其他机器人框架,比如云仔机器人,逻辑去自己实现。

我们使用的是Go-cqHttp

go-cqhttp帮助中心

所以说,这一写更改,你得去了解这个go-cqhttp你才能看懂,不过我们要灵活学习,我们只需要了解思路便可,然后去官方文档找使用方法。

此时,这些代码已经拥有了处理好友请求、拉群请求、回复消息的功能。

可以看到,相对于上个文章,我们增加了很多代码,并且都加了注释

当然,这些代码看不懂没关系,可以照着我的文章改一下对应的地方,直接用。

大家来原创作者Q群玩儿,我也在里面:206867743

实践继续-实践篇第三

前两个文章我们已经解决了和ChatGPT通信的问题和QQ处理消息的问题,现在我们就需要处理如何监听QQ消息了。

在一次次的更新和遇到的问题中,原创作者和逆向包的很多作者都更新了很多内容,我们看看原创作者的更新记录:

2022-12-12 23:52 增加一个windows专用版本,只能在Windows电脑或服务器上使用,可以自动获取cloudflare Cookie 2022-12-12 12:38 更新内容 增加CloudFlare配置,更新依赖,暂不支持账号密码,暂不知道CloudFlare配置多久需要更换一次,现在好像必须要翻墙了 2022-12-10 17:42 更新内容 增加账号密码支持,可以不使用token,直接使用账号密码 2022-12-10 00:23 更新内容 将每个QQ私聊区分,每个人私聊机器人都是一个独立的会话将每个QQ群区分,每个QQ群是一个独立的会话增加回复字数限制,超过限制转换成图片回复(见配置文件)如果想要重置会话,对机器人发送:重置会话

简介

监听QQ消息并不需要我们写代码,因为市面上已经有很多开源QQ机器人框架,在这里我们使用go-cqhttp
官方文档: go-cqhttp
如果您感兴趣的话,可以阅读一下官方文档,如果不想看,直接看我的文章即可。

前提条件 您需要准备一个QQ号,不要使用自己大号您需要准备一个OpenAi的账号,用来获取Token一台服务器(可选,如果您想让机器人7x24小时在线的话,请准备一台,1核1G足以,外服最好)

注意:OpenAi(ChatGPT)的注册方式B站有一堆视频,随便参考一个就行。

不会注册也可以看看我博客的文章:一文教你快速注册OpenAi(ChatGPT)

(旧版本)机器人搭建教程我也是写过了:使用OpenGPT(ChatGPT)搭建 QQ 机器人

但是!注意,先前说过,现在的ChatGPT套了一个CFCDN,会拦截人机交互请求。

怎么使用Python对接OpenAi API实现智能QQ机器人

那我们现在,除了需要获取OpenAisession-token,还需要获取cf_clearance

同时,我们还需要获取user-agent

怎么使用Python对接OpenAi API实现智能QQ机器人

前往控制台的网络标签里面查看,如果是空白,你发一句消息就可以。

复制之后写到配置文件中,也就是py/config.js文件。

目前原创作者打包了两个版本,一个linux的,麻烦在于cfCDN交互令牌会在2H内失效,我们需要手动获取并更新,麻烦。

另一个是window版本,已经实现自动获取CloudflareCookie

配置指南

怎么使用Python对接OpenAi API实现智能QQ机器人

这个版本只能在Windows上使用,Windows电脑或服务器都行。

依然只支持token。

系统会自动打开谷歌浏览器获取Cloufflare相关Cookie,第一次运行时可能需要手动验证,请注意点一下。

注意,脚本它只能打开Google浏览器,没配置其他浏览器。

其他描述

那在作者最新版本的代码里面,也是新增了一部分功能。

怎么使用Python对接OpenAi API实现智能QQ机器人

自行研究。

然后很多逆向包作者也在想一个完美解决的办法,我们慢慢等待吧!

怎么使用Python对接OpenAi API实现智能QQ机器人

然后,请看看这句话:

怎么使用Python对接OpenAi API实现智能QQ机器人

关于“怎么使用Python对接OpenAi API实现智能QQ机器人”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网Python频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 怎么使用Python对接OpenAi API实现智能QQ机器人

本文链接: https://lsjlt.com/news/352530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用Python对接OpenAi API实现智能QQ机器人
    这篇文章主要介绍“怎么使用Python对接OpenAi API实现智能QQ机器人”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Python对接OpenAi API实现智能...
    99+
    2023-07-05
  • 使用Python对接OpenAi API实现智能QQ机器人的方法
    目录实践开始-实践篇第一实践继续-实践篇第二实践继续-实践篇第三简介尾述最近火热全文的ChatGPT,被很多人玩出了花,我们在Github上可以看到几个常见的逆向SDK包,这一篇我将...
    99+
    2023-03-21
    OpenAI ChatGPT 智能机器人
  • AI人工智能 Python实现人机对话
    在人工智能进展的如火如荼的今天,我们如果不尝试去接触新鲜事物,马上就要被世界淘汰啦~ 本文拟使用Python开发语言实现类似于WIndows平台的“小娜”,或者是IOS下的“Siri”。最终达到人机对话的效...
    99+
    2022-06-04
    人工智能 人机 AI
  • Python人工智能实战之对话机器人的实现
    目录背景用到的技术主要流程代码模块Joke对象爬虫抓取笑话代码实现保存到sqlite数据库抓取笑话并保存到数据库背景 当我慢慢的开在高速公路上,宽敞的马路非常的拥挤!这时候我喜欢让...
    99+
    2024-04-02
  • Python使用 TCP协议实现智能聊天机器人功能
    编写聊天程序的服务端代码和客户端代码。完成后,先启动服务端代码,然 后启动客户端程序输人问题,服务端可以返回相应的答案。要求服务端代码具 有一定的智能,能够根据不完整的问题识别客户端...
    99+
    2024-04-02
  • Python 实现简单智能聊天机器人
    简要说明: 最近两天需要做一个python的小程序, 就是实现人与智能机器人(智能对话接口)的对话功能,目前刚刚测试了一下可以实现, 就是能够实现个人与机器的智能对话(语音交流)。 ...
    99+
    2024-04-02
  • 怎么用python实现人工智能算法
    要使用Python实现人工智能算法,你可以按照以下步骤进行操作:1. 确定算法类型:首先,你需要确定你想要实现的人工智能算法类型,比...
    99+
    2023-10-11
    python 人工智能
  • 如何在GO语言中使用自然语言处理API实现智能对话机器人?
    随着人工智能技术的不断发展,智能对话机器人越来越受到人们的青睐。智能对话机器人可以在不需要人工干预的情况下,与用户进行自然而流畅的对话,并根据用户的需求提供相应的服务。 GO语言作为一种开源的高性能编程语言,已经被广泛应用于Web应用程序...
    99+
    2023-09-22
    自然语言处理 api http
  • 怎么用Python开发QQ机器人
    这篇文章主要讲解了“怎么用Python开发QQ机器人”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python开发QQ机器人”吧! 前言 虽然该文最终是达到以pyt...
    99+
    2023-06-15
  • 怎么使用Python人工智能构建简单聊天机器人
    今天小编给大家分享一下怎么使用Python人工智能构建简单聊天机器人的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是聊天...
    99+
    2023-07-05
  • Python人工智能框架怎么使用
    Python有许多流行的人工智能框架,如TensorFlow, PyTorch, Keras等。下面是一个使用TensorFlow和...
    99+
    2023-10-21
    Python 人工智能
  • Python怎么实现AI智能人脸识别
    本篇文章为大家展示了Python怎么实现AI智能人脸识别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言现在人脸识别这东西层出不穷,基本上很多东西都用到,比如现在火车站都是用人脸识别来过关卡,确实...
    99+
    2023-06-02
  • python人工智能算法之随机森林怎么实现
    这篇文章主要介绍了python人工智能算法之随机森林怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python人工智能算法之随机森林怎么实现文章都会有所收获,下面我们一起来看看吧。随机森林(Random...
    99+
    2023-07-06
  • 使用python实现机器人聊天功能
    利用python实现一个机器人聊天功能,具体方法如下:import aimlimport sysimport osdef get_module_dir(name):print("module", sys.modules[name])path...
    99+
    2024-04-02
  • Python人工智能语音合成功能怎么实现
    今天小编给大家分享一下Python人工智能语音合成功能怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、 注册百度A...
    99+
    2023-07-05
  • ChatGPT Python API使用指南:实现语音聊天机器人
    ChatGPT Python API使用指南:实现语音聊天机器人引言:随着人工智能技术的不断发展和普及,语音聊天机器人在各类应用场景中的需求越来越大。OpenAI开源的ChatGPT提供了一个强大的自然语言处理模型,通过使用ChatGPT ...
    99+
    2023-10-28
    ChatGPT Python API 语音聊天机器人
  • Python调用腾讯API实现人脸身份证比对功能
    目录1.作者介绍2.调用腾讯人脸身份证比对的知识介绍2.1 应用场景3.调用腾讯云API步骤3.1微信扫码登录3.2鼠标选择云产品,并找到人脸核身3.3进入人脸核身界面3.4编辑参数...
    99+
    2024-04-02
  • Python人工智能实战之以图搜图怎么实现
    本篇内容介绍了“Python人工智能实战之以图搜图怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、实验要求给出一张图像后,在整个数...
    99+
    2023-06-30
  • 教你使用python搭建一个QQ机器人实现叫起床服务
    目录前言具体实现1、定时发送信息2、让机器人陪女朋友聊天3、调用一些有趣的接口前言 上一篇文章介绍了怎么配置机器人框架,并且实现了一些简单的功能。 (发送私聊或者群聊信息、接收上报的...
    99+
    2024-04-02
  • 怎么用Python实现智能合约
    智能合约1. 是什么智能合约是一种由计算机程序编写的自动化合约,它可以在没有第三方干预的情况下执行交易和契约条款。智能合约使用区块链技术实现,可以实现不同的功能,例如交易、投票、代币发放和数据存储等。智能合约的执行是基于其代码的逻辑,并且在...
    99+
    2023-05-14
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作