Skip to main content

A chain message bot based on OpenAI

Project description

cover


docker docker workflow
telegram discord
license docker build

🍩 部署文档 & 🧀 开发文档 & 📝 English Readme

LLMBot 是基于消息队列,围绕智能机器人助理概念开发的 IM Bot,可以装载插件完成许多功能。 由 Openai 的新 Feature gpt-function-call 支持实现。

Demo
sticker

与之前的项目不同的是,此项目尝试基于消息平台复刻 ChatGpt 的插件系统,实现部分或更进一步的功能。

因为 func call 为 feature,所以只支持 Openai 类型的 api, 不打算支持没有 func call 的 LLM

📦 Feature

  • 🍪 通过自然语言调用若干预先定义好的功能函数
  • 📝 消息系统,定义发送接收端和数据即可递送至链中
  • 📎 订阅系统,可以订阅除了结对发送者外的多个发送者,兼具推送功能
  • 📦 非问答绑定,不限时间不限发送端触发回复
  • 📬 自定义 ApiKey 和 后端,追溯发送者的鉴权信息
  • 🍾 交互体验细则
  • 🎵 细化的消费数据存储,统计插件的额度消耗情况,全场景追溯消费记录产生
  • 🍰 插件的多种注册点
  • 📦 文件交互支持
  • 🍖 对函数插件的连续会话设计,黑名单设计
  • 🍟 支持插件人在回路认证,支持插件原子单人配置,支持开发前置消息文本验证Hook,支持开发文本<->媒体转换器,支持错误禁用 Hook

🧀 部分插件预览

Sticker Converter Timer Func Translate Func
sticker timer translate

🧀 认证系统介绍

我们采用的认证系统称为 Service Provider,即服务提供商,它的作用是为每个发送者分配 Endpoint/Key/Model ,用于鉴权。 拥有一个 token 作为绑定的 OpenKey。程序会调用设定的 Service Provider 读取私有 Key/配置 Token 来获取鉴权信息。

  • 私有认证:自行配置 Endpoint/Key/Model。例如个人使用。
  • 公共认证:全局配置 Endpoint/Key/Model,通过自行发行 Token 授权使用者使用。例如公司内网。
  • 代理认证:自行搭建认证服务,自行定义规则。例如转发代理服务器控制。
  • 默认认证:公开机器人,即使什么都不配置,也可以使用默认的 Endpoint/Key/Model。例如公开机器人。

认证组件和后端均需要自行实现。

🎬 平台支持

平台 支持情况 文件系统 备注
Telegram
Discord
Kook 不支持 被回复启动
Slack 不支持 被回复启动
QQ
Wechat
Twitter
Matrix
IRC
... 创建Issue/PR

📦 快速开始

阅读 🧀 部署文档 获得更多信息。

我经常忘记打包依赖,按照文档运行失败,请直接提交 Issue

🥞 自动安装

请提前用 python3 start_sender.py python3 start_receiver.py 测试是否能正常运行。

如果你在使用一台崭新的服务器,你可以使用下面的Shell来尝试自动安装本项目。

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

🥣 Docker

Build Hub: sudoskys/llmbot

git clone https://github.com/LlmKira/Openaibot.git
cd Openaibot
docker-compose -f docker-compose.yml -p llmbot up -d llmbot

注意,如果您使用 Docker 运行机器人,您可能会遇到依赖缺失问题,有时候我们会忘记打包新的依赖库。

💻 如何开发插件?

插件开发文档请参考 plugins 目录下的示例插件和 🧀 插件开发文档

🤝 We need your help!

We can't do it on our own at the moment:

  • We need help with the documentation
  • Web UI

Feel free to submit a Pull Request or discuss, we'd love to receive your contribution!

📜 告知

此项目与 Openai 官方无关,全称为 OpenAiBot,表示开放人工智能机器人,并不表示为 Openai 所属机器人。

如果您所在辖区禁止使用 Openai 服务,请勿使用此项目。

FOSSA Status

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llmkira-0.26.1.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

llmkira-0.26.1-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file llmkira-0.26.1.tar.gz.

File metadata

  • Download URL: llmkira-0.26.1.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.0 Linux/6.2.0-1015-azure

File hashes

Hashes for llmkira-0.26.1.tar.gz
Algorithm Hash digest
SHA256 491fb22e7965c82001c4326bc5aaadf0558e3734ba2710aebdc6e53b0a473439
MD5 44dee2f00aa03357dd1dd16108c19d71
BLAKE2b-256 e63355bcd9582f8d9d942855737e43956bf27c8058bab12596ba9d16bf77e742

See more details on using hashes here.

File details

Details for the file llmkira-0.26.1-py3-none-any.whl.

File metadata

  • Download URL: llmkira-0.26.1-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.0 Linux/6.2.0-1015-azure

File hashes

Hashes for llmkira-0.26.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2415dbaf1df9e07c7422adc825e5a0a20551fcf11edc58c0272a656bc21de23c
MD5 306ff37f2f58f09346734158614395e0
BLAKE2b-256 656b5f27d0cb2dcd0b95d8d8093bb42d4c5bcb5caaac7626e173a7545cd4092c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page