- 注册账号
- 创建 key
- 验证
- 请求示例
- 响应示例
- 接入 WeChatRobot
- 创建新功能
- 添加配置信息
- 修改机器人代码
好多群友说,WeChatRobot 的 ChatGPT 用不了。原因林林总总,当然不是代码的问题:
-
没有互联网 -
没法注册账号 -
没法充钱 -
……
今天介绍一个替代品:TigerBot
(请给我打广告费,谢谢!)
注册账号
访问 TigerBot[1],点击 申请内测
,然后需要验证手机号,然后等待审核。我申请的时候,不到 5 分钟,就审核通过了。
创建 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。
温馨提示:本站部分付费下载资源收取的费用为资源收集整理费用,并非资源费用,不对下载的资源提供任何技术支持及售后服务。