公众号接入 OpenAI 智能机器人

这篇具有很好参考价值的文章主要介绍了公众号接入 OpenAI 智能机器人。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前置准备

  1. 一个域名
  2. 一台服务器
  3. 一个公众号

域名配置

在你的域名服务商新建二级域名并绑定服务器主机IP

服务器配置

上传下面的python文件到你的服务器,并修改代码段中相应位置代码(token、api-key、port)

import time
from flask import Flask,make_response,request
import openai
from flask import Flask, request
from flask_caching import Cache
import xml.etree.cElementTree as ET
import hashlib
import requests
import re
import os

cnt = 0
my_wx_token = "" # 自定义字母和数字组合即可,后续需要填入公众号后台
my_gpt_key = "" # 这里填写你在OpenAI后台创建的API-KEY
my_switch_chatgpt = True

app = Flask(__name__)
env_dist = os.environ
cache = Cache(app, config={'CACHE_TYPE': 'simple', "CACHE_DEFAULT_TIMEOUT": 30})

@app.route('/',methods=['GET','POST'])
def wechat():
    if request.method == 'GET':
        signature = request.args.get("signature", "")

        timestamp= request.args.get("timestamp", "")

        nonce= request.args.get("nonce", "")

        echostr= request.args.get("echostr", "")
        print(signature, timestamp, nonce, echostr)

        token=my_wx_token

        data =[token, timestamp, nonce]

        data.sort()

        temp = ''.join(data)

        sha1 = hashlib.sha1(temp.encode('utf-8'))

        hashcode=sha1.hexdigest()
        print(hashcode)

        if hashcode == signature:
            print("wechat commit check OK")
            return echostr
        else:
            print("GET error input msg")
            return "error-return\r\n"
    else:
        xmlData = ET.fromstring(request.stream.read())
        msg_type = xmlData.find('MsgType').text
        if msg_type == 'text':
            ToUserName = xmlData.find('ToUserName').text
            FromUserName = xmlData.find('FromUserName').text
            CreateTime = xmlData.find('CreateTime').text
            
            print(ToUserName)
            print(FromUserName)
            print(CreateTime)
            
            global cnt
            cnt += 1
            print('-------> ' + str(cnt))
            
            return generate_response_xml(FromUserName, ToUserName, xmlData.find('Content').text)
                           
def text_reply(FromUserName, ToUserName, output_content):
    reply = '''
    <xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[%s]]></Content>
    </xml>
    '''
    response = make_response(reply % (FromUserName, ToUserName, str(int(time.time())), output_content))
    response.content_type = 'application/xml'
    return response

def generate_response_xml(FromUserName, ToUserName, input_content):
    output_content = generate_response(input_content)
    return text_reply(FromUserName, ToUserName, output_content)

outofsevice_txt = "抱歉,<a href=\"https://mp.weixin.qq.com/s/0LN37YiERJgMyvIDpzRcAQ\">攻城狮杰森的ChatGPT服务助手</a>正在维护中,暂时无法预估维护持续时间,请明天再来尝试吧。"

@cache.memoize(timeout=60)
def generate_response(prompt):
    
    if not my_switch_chatgpt:
        return outofsevice_txt
        
    openai.api_key = my_gpt_key
    
    response = openai.Completion.create(
        model="text-davinci-003",
        prompt=prompt,
        temperature=0,
        max_tokens=1024,
        top_p=1,
        frequency_penalty=0.0,
        presence_penalty=0.0,
    )
    
    message = response.choices[0].text
    print(message)
    
    ans = message.strip()
    return ans
               
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=xxxx, debug=True)#开放xxxx端口

使用宝塔是比较快捷的配置方式,安装宝塔面板后,进入软件商店,安装下面两个插件

公众号接入 OpenAI 智能机器人

打开 python 项目管理器 ,简单配置下我们要启动的项目

公众号接入 OpenAI 智能机器人

启动后映射项目域名,顶级域和二级域都可以,比如我这里填入的是 chatgpt.coder-jason.cn

公众号接入 OpenAI 智能机器人

公众号配置

进入公众号后台,找到设置与开发,进入基本配置,由于我这里已经配置好了,这里仅演示下怎么添加启用

公众号接入 OpenAI 智能机器人

点击添加配置

公众号接入 OpenAI 智能机器人

token 值就是在上述代码段中填入的值,自定义字母和数字组合即可

点击提交后,如果服务器中的项目启动无误,则会提示 token校验成功

公众号接入 OpenAI 智能机器人

接下来就可以回到公众号和智能机器人愉快的交流啦~,欢迎到昵称同名公粽号进行体验

公众号接入 OpenAI 智能机器人

如果你对本文感兴趣或配置过程中遇到任何问题,欢迎与我取得联系,v:jasoni996文章来源地址https://www.toymoban.com/news/detail-408898.html

到了这里,关于公众号接入 OpenAI 智能机器人的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【人工智能】谷歌的巴德聊天机器人向公众开放 | Google‘s Bard Chatbot Opens to the Public

      Google is trying to balance AI progress with caution. 谷歌正试图谨慎地平衡人工智能的进展。 目录 https://bard.google.com/

    2024年02月09日
    浏览(36)
  • 让你的网站变得更智能 - B2 Pro主题问答模块新增OpenAI ChatGPT机器人自动回答功能

    作为一个网站管理员,你一定会希望能够给你的用户提供更多、更好的服务。那么,你是否曾经想过为你的B2 Pro主题问答模块新增一个智能机器人自动回答功能呢?相信你一定想要这个功能,因为它能够大大提升你网站的用户体验。 现在,我们为你提供了一个好消息。我们已

    2024年02月09日
    浏览(37)
  • openai开放gpt3.5-turbo模型api,使用python即可写一个基于gpt的智能问答机器人

    使用 pip 安装openai库,注意 gpt3.5-turbo 模型需要 python=3.9 的版本支持,本文演示的python版本是 python==3.10.10 需要提前在 openai 官网上注册好账号,然后打开 https://platform.openai.com/account/api-keys 就可以创建接口 keys 每个账号注册完成会有18美元在里面,每次调用api,就会花费里面的

    2024年02月06日
    浏览(39)
  • 机器人编程教程4为机器人准备无头Raspberry Pi

    本章将介绍以下内容: 什么是无头系统,为什么它对机器人有用? 在Raspberry Pi上设置Wi-Fi并启用SSH 在网络上找到你的Raspberry Pi 连接Raspberry Pi 配置Raspberry Pi操作系统 要求:一台 Raspberry Pi,最好是 3A+(但 Pi3或4也可以) 无头系统是指在键盘、屏幕和鼠标访问设备不方便的时间

    2024年02月13日
    浏览(36)
  • 【轮式平衡机器人】——软硬件配置/准备

    本系列以轮式平衡移动机器人为例,将使用 基于模型设计(MBD)方法 进行介绍,涉及基础硬件、软件、控制算法等多方面内容,结合 MATLAB/Simulink 的强大仿真能力和代码生成能力辅助设计!在此过程中可以系统了解开发全流程,学习到各种知识! 很熟悉,不再赘述,也可见

    2024年01月20日
    浏览(35)
  • 10分钟!快速部署ChatGPT微信公众号机器人!

    在上面公众号后台就可以免费体验gpt机器人 马上五一啦,很多小伙伴都要出去玩了,出去玩没有GPT怎么行呢!有没有一个简单的,可以24小时玩的GPT的! 前面我们教过大家部署微信机器人做24小时的助理,还有chatgpt web版本! 今天我们来教大家第三招,把gpt部署到微信公众号

    2024年02月08日
    浏览(34)
  • 微信机器人接入Midjourney

    今天下午研究了一下Midjourney,发现画图确实厉害,于是懂了小心思,为了方便使用,直接把他搞到微信上来用用,话不多说,先上图:  为了方便使用,里面还接入了百度翻译的api,因为Midjourney对于中午不太友好,用中文描述去生成,属实离谱。 当然了,一个人就是不能太

    2024年02月11日
    浏览(28)
  • 真没想到啊!无需服务器,五分钟部署公众号机器人

    大家好,我是编程哥。一个寻求破圈,不断淬炼自己的人,关注我一起进步。 目前各大模型都比较火,作为一名程序员,对大模型的了解也是蠢蠢欲动,尤其是对于机器人自动问答这一项。所以在朋友的推荐下,了解了一个无需服务器,快速搭建公众号机器人的教程,现在分

    2024年02月03日
    浏览(27)
  • OpenAI Embedding:快速实现聊天机器人(一)

    本文正在参加「金石计划」 上文 OpenAI Embedding:基于人工智能的搜索新篇章 有讲到Embedding的基础概念以及OpenAI Embedding 的能力和应用场景,这篇文章讲讲如何手把手构建聊天机器人。 聊天机器人作为一项重要的企业级服务,可以帮助企业构建关乎自己特定业务的聊天机器人。

    2024年02月08日
    浏览(26)
  • KUKA机器人安全信号的接入方式

           KUKA机器人的安全信号与IO模块是相互独立的,即安全信号不是通过IO信号接入到机器人里。安全信号主要是指:急停、安全门等属于机器人安全控制类的信号。 一、KUKA机器人安全信号的接入方式有以下3种: 1、第一种方式:Profisafe,以软件包的形式安装机器人KSS系统里,

    2024年04月08日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包