【微信机器人】ChatGPT 的国内替代方案TigerBot

  • 注册账号
  • 创建 key
  • 验证
    • 请求示例
    • 响应示例
  • 接入 WeChatRobot
    • 创建新功能
    • 添加配置信息
    • 修改机器人代码

好多群友说,WeChatRobot 的 ChatGPT 用不了。原因林林总总,当然不是代码的问题:

  • 没有互联网
  • 没法注册账号
  • 没法充钱
  • ……

今天介绍一个替代品:TigerBot(请给我打广告费,谢谢!)

注册账号

访问 TigerBot[1],点击 申请内测,然后需要验证手机号,然后等待审核。我申请的时候,不到 5 分钟,就审核通过了。

【微信机器人】ChatGPT 的国内替代方案TigerBot

创建 key

访问 API_KEY[2] 创建 API_KEY。

验证

请求示例

import requests
url = "https://api.tigerbot.com/bot-service/ai_service/gpt"

headers = {
  "Authorization": "Bearer " + API_KEY
}
payload = {
  "text""中国的首都",
  "modelVersion""tigerbot-7b-sft"
}
response = requests.post(url, headers=headers, json=payload)
print(response.text)

响应示例

{
  "code"200,
  "msg""操作成功",
  "data": {
    "result": ["北京"]
  }
}

接入 WeChatRobot

后面会集成进去,这里简单说一下怎么集成。

创建新功能

新建 func_tigerbot.py

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import logging
import requests
from random import randint
class TigerBot():
    def __init__(self, tbconf=None) -> None:
        self.loger = logging.getLogger(__file__)
        self.tburl = "https://api.tigerbot.com/bot-service/ai_service/gpt"
        self.tbheaders = {"Authorization""Bearer " + tbconf["key"]}
        self.tbmodel = tbconf["model"]
        self.fallback = "滚!"  # 请求失败时候的默认回复
   def answer(self, msg: str, sender: str = None) -> str:
        if self.tburl is None:
            return "请配置 Tiger Bot 参数"
        payload = {
            "text": msg,
            "modelVersion": self.tbmodel
        }
        try:
            rsp = requests.post(self.tburl, headers=self.tbheaders, json=payload).json()["data"]["result"][0]
        except Exception as e:
            idx = randint(0, len(self.fallback))
            rsp = self.fallback[idx]
        return rsp
if __name__ == "__main__":
    from configuration import Config
    c = Config()
    tbot = TigerBot(c.TIGERBOT)
    rsp = tbot.answer("你还活着?")
    print(rsp)

添加配置信息

  • config.yaml 中添加配置信息:
tigerbot:
  key: 刚才创建的 key
  model: tigerbot-7b-sft
  • configuration.py 中添加 TigerBot 配置
    def reload(self) -> None:
        yconfig = self._load_config()
        logging.config.dictConfig(yconfig["logging"])
        self.GROUPS = yconfig["groups"]["enable"]
        self.CHATGPT = yconfig.get("chatgpt")
        self.HTTP = yconfig.get("http")
        self.NEWS = yconfig["news"]["receivers"]
        self.TIGERBOT = yconfig.get("tigerbot")  # 添加这个

修改机器人代码

robot.py 中,将

class Robot(Job):
    """个性化自己的机器人
    """
    def __init__(self, config: Config, wcf: Wcf) -> None:
        self.wcf = wcf
        self.config = config
        self.LOG = logging.getLogger("Robot")
        self.wxid = self.wcf.get_self_wxid()
        self.allContacts = self.getAllContacts()
        self.chat = None
        chatgpt = self.config.CHATGPT
        if chatgpt:
            self.chat = ChatGPT(chatgpt.get("key"), chatgpt.get("api"), chatgpt.get("proxy"), chatgpt.get("prompt"))

改成

好了,搞定!

免责说明

本站资源部分来自网友投稿,如有侵犯你的权益请联系管理员或给邮箱发送邮件PubwinSoft@foxmail.com 我们会第一时间进行审核删除。
站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到评论下载的文章,评论后刷新页面点击对应的蓝字按钮即可跳转到下载页面
本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

给TA打赏
共{{data.count}}人
人已打赏
ChatGPT人工智能

强大的AI制作PPT神器:Gamma,用完再也回不去了!

2023-6-28 12:15:37

人工智能

带你了解Character.Al究竟是什么?

2023-6-29 16:07:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索