Skip to content

Latest commit

 

History

History
341 lines (245 loc) · 9.9 KB

README_ZH.md

File metadata and controls

341 lines (245 loc) · 9.9 KB

cover

License Python SPONSOR

OpenaiBot

ENGLISH

全平台,多模态(语音/图片)理解,自维护套件,实时信息支持

如果您没有所需的即时消息平台,或者您想开发一个新的应用程序,欢迎您为该仓库贡献。

您可以使用“Event.py”开发新的控制器。

我们使用自维护的 llm-kira 实现对话客户端

🥽 Feature

  • 异步
  • 支持聊天速率限制
  • 支持私聊、群聊
  • 支持黑名单和白名单系统
  • 支持使用管理、角色以及自定义行文风格 🤖
  • 内存池保证1000轮的上下文内存保存 💾
  • 跨平台,还支持本地语音助手 🗣️
  • 允许多个Api密钥轮询,便于管理和弹出窗口 📊
  • 主动搜索要回复的内容并支持贴纸回复 😊
  • 跨平台支持的通用接口,理论上允许访问任何聊天平台 🌐
  • 拥有可移除的内容安全组件,也支持官方Api过滤内容 🔒
  • 实时网页索引支持,万能爬虫 (支持 UrlQueryHtml url?q={}) 🕸️
  • 多模态交互支持,图像Blip理解支持,语音识别 👂 , 贴纸支持 😎

🪜 Deploy It

🔨 Check

请确保您的服务器有 1GB 的 RAM 和 10GB的 可用存储空间

对于 Arm 架构服务器: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

📦 Deploy/Renew

curl -LO https://raw.githubusercontent.com/LLMKira/Openaibot/main/setup.sh && sh setup.sh

给中国用户

curl -LO https://raw.kgithub.com/LLMKira/Openaibot/main/setup.sh && sh setup.sh

🍽 Configure

  • 初始化
cp Config/app_exp.toml Config/app.toml

nano Config/app.toml
  • 数据
apt-get install redis
systemctl start redis.service
  • 配置/app.toml
# Comment out which part you don't want to start

# QQ Bot
[Controller.QQ]
master = [114, 514] # master user id
account = 0
http_host = 'http://localhost:8080'   # Mirai http Server
ws_host = 'http://localhost:8080'   # Mirai Websocket Server
verify_key = ""
trigger = false # Proactive response when appropriate
INTRO = "POWER BY OPENAI"  # Suffixes for replies
ABOUT = "Created by github.com/LLMKira/Openaibot" # /about
WHITE = "Group NOT in WHITE list" # Whitelist/Blacklist tips

# Proxy set, but does not proxy openai api, only bot
proxy = { status = false, url = "http://127.0.0.1:7890" }

# Telegram Bot
[Controller.Telegram]
master = [114, 514] # master user id
botToken = '' # Bot Token @botfather
trigger = false
INTRO = "POWER BY OPENAI"
ABOUT = "Created by github.com/LLMKira/Openaibot"
WHITE = "Group NOT in WHITE list"

# 设置的代理,但是不代理 openai api, 只代理 bot
proxy = { status = false, url = "http://127.0.0.1:7890" }

# 基础对话事件服务器,Web支持或者音箱用
[Controller.BaseServer]
host = "127.0.0.1"
port = 9559
  • Config/service.json
{
  // ....other config

  // ******Models
  "backend": {
    "type": "openai",
    // TYPE!
    "openai": {
      "model": "text-davinci-003",
      "token_limit": 4000
    },
    "chatgpt": {
      "api": null,
      "agree": false
    }
  },
}

🪶 App Token

  • Telegram

Telegram BotToken Request

请确保 机器人是组管理员隐私模式已关闭.

  • QQ

Configuring the QQ bot

🌻 Run Bot

我们的机器人可以多线程运行

apt install npm
npm install pm2@latest -g
# or
yarn global add pm2

# test bot
python3 main.py

# run bot
pm2 start pm.json

查看机器人的运行状况

pm2 monit

停止运行机器人

pm2 stop pm2.json

🎤 Or Run Voice Assistant

除了机器人,我们还有语音助手.

Voice Assistant 是一个依赖于 Web 的语音助手,你可以通过 Azure 或 Openai 的识别服务在小型设备上轻松地运行它

  • 运行 BaseEvent 服务器
# 基础对话事件服务器,Web支持或者音箱用
[Controller.BaseServer]
port = 9559
  • 运行 Vits 服务器

https://github.com/LlmKira/MoeGoe

  • 运行助手
cd Assistant
cat install.md
pip3 install -r requirements.txt
python3 clinet.py

🥕 Add Api Key

使用 /add_api_key 命令将 OpenaiKey 添加到 Config/api_keys.json.

🫧 About ID

您可能对我们的多平台 ID 系统感到好奇。这我们将您的 ID 存储在我们的 json/数据库中的方式: real_id + suffix.

  • toml

app.toml 中使用您的真实 ID, 即为没有后缀的白名单.

  • json/command

当您使用 用户/组 授权命令时,需要在真实ID后面加上对应的后缀ID.

Controller suffix_id desc
QQ 101
Telegram 100
Api 103

🥪 About Models

models token limit cost
code-davinci-002 8000 在最初的有限测试期间,Codex 使用是免费的。
code-cushman-001 2048 在最初的有限测试期间,Codex 使用是免费的。
text-davinci-003 4000 $0.0200 /1K tokens
text-curie-001 2048 $0.0020 /1K tokens
text-babbage-001 2048 $0.0005 /1K tokens
text-ada-001 2048 $0.0004 /1K tokens

🌽 /Config File

我们的 llm-kira 依赖库在没有 Redis 支持的时候,存储在当前包目录下。

程序本身除了 api_keys.json service.json assistants.json 全部存储在 Redis 中以获得稳健性。

如果你有放 config.json,程序会自动初始化此文件。且使用 /config 命令可以更新配置到此文件。

🎸 Command

因为缺乏维护者的原因,部分命令仅在部分平台起效。

chat - 交谈
write - 续写
forgetme - 重置记忆
remind - 场景设定 取消用短文本覆盖
voice - 启用语音支持
style - 设定偏好词
help - 帮助

trigger - 管理员启动主动回复
trace - 管理员启动关联频道贴文自动追踪
cross - 管理员启动是否交叉回复
silent - 管理员启动报错沉默

auto_adjust - 自动优化器
set_user_cold - 设置用户冷却时间
set_group_cold - 设置群组冷却时间
set_token_limit - 设置输出限制长度
set_input_limit - 设置输入限制长度
see_api_key - 现在几个 Api key
del_api_key - 删除 Api key
add_api_key - 增加 Api key
config - 获取/备份热配置文件
set_per_user_limit - 设置普通用户额度
set_per_hour_limit - 设置用户小时额度
promote_user_limit - 提升用户额度
reset_user_usage - 重置用户额度
add_block_group - 禁止群组
del_block_group - 解禁群组
add_block_user - 禁止用户
del_block_user - 解禁用户
add_white_group - 加入白名单群组
add_white_user - 加入白名单用户
del_white_group - 除名白名单群
del_white_user - 除名白名单人
update_detect - 更新敏感词
open_user_white_mode - 开用户白名单
open_group_white_mode - 开群组白名单
close_user_white_mode - 关用户白名单
close_group_white_mode - 关群组白名单
open - 开启机器人
close - 关闭机器人
change_head - 设定人设开关
change_style - 设定风格开关

🧀 More Docs

部署文档的详细信息

Network Plugins/Proxy Settings/自定义模型名称/语音服务/图片理解/Censor配置请参见 服务器配置指南

详细接口/服务配置/自定义 请查看文档 部署指南

插件设置/代理设置/自定义模型名称/语音服务/图片理解/审查配置 请查看 服务配置

🤗 Join Our Community

❤ Thanks

🍞 Other similar projects

  • ChatGPT Mirai Bot是一款基于 ChatGPT Web 端 Api 的 QQ 机器人

https://github.com/lss233/chatgpt-mirai-qq-bot

📃 License


This project open source and available under
the [AGPL License](https://github.com/LLMKira/Openaibot/blob/main/LICENSE).

CLAUSE 说明了如何授权,声明,附加条款等内容。

Fossa

FOSSA Status

你不会相信,但是 Ai 也写了这个 Readme 的一部分