图龙网络科技

问答社区

原创作者: 图龙网络科技 发布时间: 2023-09-23 229.8K 人阅读

Openaibot 开发部署本地对话AI智能机器人指南和教程

图龙网络科技 发布于 1个月前 分类:语言模型

部署指南

📦 检查系统

对于 Debian 服务器,请确认您的系统语言集为 UTF8,否则输入 dpkg-reconfigure locales 配置语言。

请确认您服务器的内存大于 1G

提示

我们有 fallback 方案,如果您不部署 Redis 和 MongoDB,我们会使用内存数据库。对于一般的使用,这是足够的。 不过如果您需要长时间存储数据,我们建议您部署 Redis 和 MongoDB。 但是 RabbitMQ 是必须的。

📦 快速开始

如果您使用全新服务器,您可以使用以下 Shell 自动安装本项目。

curl -sSL https://raw.githubusercontent.com/LLMKira/Openaibot/main/deploy.sh | bash

🥽 手动安装

# Install Voice dependencies
apt install ffmpeg
# Install RabbitMQ
docker pull rabbitmq:3.10-management
docker run -d -p 5672:5672 -p 15672:15672 \
  -e RABBITMQ_DEFAULT_USER=admin \
  -e RABBITMQ_DEFAULT_PASS=8a8a8a \
  --hostname myRabbit \
  --name rabbitmq \
  rabbitmq:3.10-management
docker ps -l
# Install Project
git clone https://github.com/LlmKira/Openaibot/
cd Openaibot
pip install pdm
pdm install -G bot
cp .env.exp .env && nano .env
# Test
pdm run python3 start_sender.py
pdm run python3 start_receiver.py
# Host
apt install npm
npm install pm2 -g
pm2 start pm2.json

🥽 Docker

提示

如果你使用 Docker 运行本项目,你会启动 Redis, MongoDB 和 RabbitMQ。如果你本地运行,可以只启动 RabbitMQ。

Build Hub: sudoskys/llmbot

  • 使用 pip uninstall llm-kira 卸载旧内核。(如果有)
  • 使用 pip uninstall llmkira 卸载插件开发工具。(否则会造成冲突)
  • 确认您的 Python 版本为 3.9 或以上。
  • 安装 Docker

TIP

安装 Docker 可以参考 官方文档

安装 Docker Compose 可以参考 官方文档

Windows 用户可以安装 Docker Desktop

请确保您的数据库在一个网桥/局域网内,否则会链接失败。

此时您可以尝试使用 Docker 运行机器人,如果您不想使用 Docker,您可以继续阅读。

🍜 数据库支持

🍫 安装 Redis

提供两种方式安装缓存数据库,您可以选择其中一种。

通过命令行安装

# 安装 Redis
apt-get install redis
systemctl enable redis.service --now

通过 Docker 安装

docker pull redis:latest
docker run -d -p 6379:6379 \
    --name redis \
    redis:latest

提示

推荐您添加密码防止数据库暴露在公网。

🥕 安装 MongoDB

通过命令行安装

请参考文章安装 MongoDB

https://www.runoob.com/mongodb/mongodb-linux-install.html

https://www.mongodb.com/try/download/community

https://www.prisma.io/dataguide/mongodb/setting-up-a-local-mongodb-database

提示

推荐您添加密码防止数据库暴露在公网。 项目默认配置为 mongodb://admin:8a8a8a@localhost:27017/ ,您可以在 .env 自行配置。

如果你通过 shell 安装 Mongodb ,请使用 mongosh 命令进入数据库创建用户和查询DSN。

通过 Docker 安装

docker pull mongo:latest
docker run -d -p 27017:27017 \
  --name mongo \
  -e MONGO_INITDB_ROOT_USERNAME="admin" \
  -e MONGO_INITDB_ROOT_PASSWORD="8a8a8a" \
  mongo:latest

🐰 安装消息队列

提供两种方式安装缓存数据库,您可以选择其中一种。

通过命令行安装

命令行安装 RabbitMQ 请参考 官方文档 或 博客文章

通过 Docker 安装

# 安装 RabbitMQ
docker pull rabbitmq:3.10-management
docker run -d -p 5672:5672 -p 15672:15672 \
  -e RABBITMQ_DEFAULT_USER=admin \
  -e RABBITMQ_DEFAULT_PASS=8a8a8a \
  --hostname myRabbit \
  --name rabbitmq \
  rabbitmq:3.10-management
docker ps -l

提示

RABBITMQ_DEFAULT_USER 和 RABBITMQ_DEFAULT_PASS 为 RabbitMQ 的默认用户名和密码,您可以自行修改。 推荐您修改防止数据库暴露在公网。

🛠 克隆项目

git clone https://github.com/LlmKira/Openaibot.git
cd Openaibot
  • 配置 .env 文件
cp .env.exp .env
nano .env
  • ⚙️ 安装依赖
pip install pdm
pdm install -G bot

▶️ 运行

推荐使用 PM2 面板运行机器人主体。

PM2 托管

apt install npm
npm install pm2 -g
pm2 start pm2.json

其他命令

pm2 stop pm2.json # 停止
pm2 restart pm2.json # 重启
pm2 status pm2.json # 查看状态

Shell 运行

python3 start_sender.py
python3 start_receiver.py

提示

当您退出当前 Shell 时,机器人也会退出。您可以使用 nohup 命令来挂起机器人。不过我们不推荐这样做。

🫙 运行配置

配置相应的环境变量即可运行对应的机器人。

🥽 一些运行时环境变量

变量名 描述
STOP_REPLY 1 如果值为 1,则停止接收回复
DEBUG 调试 如果被配置为任何值,则将长调试日志打印到终端上。

🥛 Telegram

TELEGRAM_BOT_TOKEN = 1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
TELEGRAM_BOT_PROXY_ADDRESS = socks5://127.0.0.1:7890
变量名称 说明 获取
TELEGRAM_BOT_TOKEN TelegramBot Telegram Bot
TELEGRAM_BOT_PROXY_ADDRESS Aiohttp

🍖 Discord

DISCORD_BOT_TOKEN = Y0NzY0NzY0NzY0NzY0NzY0.DsYQDQ.0
DISCORD_BOT_PREFIX = !
DISCORD_BOT_PROXY_ADDRESS = socks5://

申请 Discord Bot 请移步 官方平台

点开 oauth2/url-generator,选中权限组 bot 您需要勾选的权限如下:

`Send Messages`
`Read Message History`
`Send Messages in Theads`
`Attach Files`
`Mentions Everyone`
`Use Slash Command`

生成,复制链接到浏览器打开,选择您要添加机器人的服务器,然后点击 授权

特权意象

打开 Bot 选项卡,打开 Message Content Intent

参加 100 个服务器以上的机器人需要批准,否则不需要。

my_intents = (
             Intents.GUILDS |
             Intents.GUILD_MESSAGES |
             Intents.DM_MESSAGES |
             Intents.MESSAGE_CONTENT
             )

提示

一旦您的机器人达到 100 台或更多服务器,就需要验证和批准。 Notice

🍗 Slack

Slack 平台需要您自行创建应用,然后添加到您的工作区。

SLACK_APP_TOKEN = xapp
SLACK_BOT_TOKEN = xoxb
SLACK_SIGNING_SECRET = xxxxxxx
SLACK_BOT_PROXY_ADDRESS = http

打开 Slack App Center,创建一个新的应用程序。

  • 配置密钥

在主页上找到 Signing Secret 选项卡,寻找 SLACK_SIGNING_SECRET

找到 App-Level Tokens 选项卡,寻找 SLACK_APP_TOKEN

打开 Oauth 选项卡,找到 Bot User OAuth Token,将其作为 SLACK_BOT_TOKEN

  • 启用套接字模式

开启 Socket Mode

  • 开启事件订阅

前往 event-subscriptions ,在页面上启用 Event Subscriptions ,订阅以下事件:message.channelsmessage.immessage.groups

  • 开启读写权限

前往 oauth ,找到 Bot Token Scopes ,并选择以下权限:chat:writechannels:readcommandsfiles:readfiles:writeim:readim:historygroup:historyim:writechannel:writechannel:history (可能会有额外的一些权限)。

  • 注册所有 Slash 命令

前往 Slash Commands ,注册所有 Slash 命令。命令表见 命令指南

重新安装 APP,并将您的机器人邀请到频道中,使用 @BOT 调用您的机器人.

🍔 Kook

KOOK_BOT_TOKEN = 1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890

转到 Kook 开发者中心,左上角新建应用。

获取,填入您的 Kook 机器人 Token 即可。

🍤 配置Openai端点

登陆采用两个方案。

  • Login via url: Use /login <a token>$<something like https://provider.com/login> to Login. The program posts the token to the interface to retrieve configuration information, how to develop this.
  • Login: Use /login https://<api endpoint>/v1$<api key>$<the model>$<tool model such as gpt-3.5-turbo> to login

当然,你可以在 .env 文件中配置全局模型,给没有登陆的用户使用。

GLOBAL_OAI_KEY=sk-xxx
GLOBAL_OAI_MODEL=gpt-3.5-turbo
GLOBAL_OAI_TOOL_MODEL=gpt-3.5-turbo
GLOBAL_OAI_ENDPOINT=https://api.openai.com/v1/

提示

GLOBAL_OAI_TOOL_MODEL 是全局工具模型,只是用于逻辑判断,调用频率会比较高。

🍟 使用非 Openai 模型

你可以使用 gateway 或 one-api 作为转换器。或者使用在线服务商,如 OhMyGpt。

如果你在使用 Azure ,请确认你使用的版本支持 functions。

1个回复

  • 图龙网络科技

    OpenAI Bot 通常指的是由 OpenAI 开发的人工智能聊天机器人或助手。OpenAI 是一家领先的人工智能研究机构,以其先进的自然语言处理技术而闻名。以下是一些与 OpenAI Bot 相关的关键点:
    1. GPT系列模型:
    - OpenAI 最著名的产品之一是 GPT(Generative Pre-trained Transformer)系列模型,尤其是 GPT-3 和 GPT-4。这些模型是基于 Transformer 架构的大型语言模型,能够生成自然语言文本,回答问题,进行对话等。
    2. ChatGPT:
    - ChatGPT 是基于 GPT 系列模型开发的聊天机器人,专门设计用于与用户进行自然语言对话。它可以回答问题、提供信息、执行任务等。
    3. 应用场景:
    - OpenAI Bot 可以应用于多种场景,包括客户服务、教育辅导、内容创作、编程辅助等。它们能够理解和生成自然语言,使得与机器的交互更加自然和高效。
    4. 技术特点:
    - 自然语言理解:能够理解复杂的自然语言输入。
    - 生成能力:能够生成连贯、有逻辑的文本输出。
    - 上下文感知:能够记住对话的上下文,进行持续的对话。
    5. 发展趋势:
    - OpenAI 不断在改进其模型,提升其性能和安全性。例如,GPT-4 在理解能力和生成质量上都有显著提升,同时也在努力减少生成有害或不准确信息的风险。
    6. 开源与商业化:
    - OpenAI 的模型既有开源版本,也有商业化版本。开源版本如 GPT-2 允许研究人员和开发者自由使用和改进,而商业化版本如 GPT-3 和 GPT-4 则通过 API 提供给企业和开发者使用。
    7. 伦理与安全:
    - OpenAI 非常重视模型的伦理和安全问题,努力确保其模型不会生成有害或误导性的内容。这包括对模型的训练数据进行筛选,以及在模型发布前进行严格的测试和审查。
    总的来说,OpenAI Bot 代表了当前人工智能在自然语言处理领域的最高水平,具有广泛的应用前景和深远的影响。

提供中小企业建站高端正版精品系统

正品模板 购买协议