展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > 怎么使用Python对接OpenAi API实现智能QQ机器人

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

这些SDK不仅仅可以用于开发机器人,还可以自由的开发你所想要的效果,如你所想,他是一个工具包,帮你chuanchuan构建一个ChatGPT服务和会话。最近OpenAi给他套上了一个Cloudflare的CDN服务,这个服务会去拦截非真机请求,现在已经可以破解了。寻找合适的逆向SDK原作者用的是这个。整个包的文件并不是很多,喜欢Python的可以去看看,我这个Java看不太懂。实践开始-实践篇第一代码中使用到的revChatGPT依赖源码库:https://github.com/acheong08/Cha

本文目录

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

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

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

    怎么使用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 flask, json
    from flask import request
    from revChatGPT.revChatGPT import Chatbot
    config = {
        "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交互成功,此时data为ChatGPT反馈给我们的对话内容。而当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套了一个CF的CDN,会拦截人机交互请求。

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

    那我们现在,除了需要获取OpenAi的session-token,还需要获取cf_clearance。

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

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

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

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

    目前原创作者打包了两个版本,一个Linux的,麻烦在于cf的CDN交互令牌会在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机器人

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python API OpenAI
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。