llmbot

插件概念原型机 /// Agents System/自决策 |类 ChatGpt 插件系统| Gpt-3.5/Gpt-4 |Assistant | 📱 Cross-Platform | 🦾 Async | 🔌 Plugin System

https://github.com/llmkira/llmbot

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.7%) to scientific vocabulary

Keywords

chatbot chatgpt
Last synced: 6 months ago · JSON representation ·

Repository

插件概念原型机 /// Agents System/自决策 |类 ChatGpt 插件系统| Gpt-3.5/Gpt-4 |Assistant | 📱 Cross-Platform | 🦾 Async | 🔌 Plugin System

Basic Info
  • Host: GitHub
  • Owner: LlmKira
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 2.74 MB
Statistics
  • Stars: 18
  • Watchers: 2
  • Forks: 2
  • Open Issues: 4
  • Releases: 18
Topics
chatbot chatgpt
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation Security

README.md

LLMBot

This Project is a conceptual prototype and cannot be deployed.

GO https://github.com/LlmKira/Openaibot Check the Production.

Docker Image Size (tag) Docker Image Version (latest semver) docker workflow

English_Readme

LLMBot 是基于消息队列的机器人助手,可以装载插件完成许多功能。为 Gpt Func Call 和 广播机制的验证项目。

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

此项目的绝大多数功能都可以由插件完成。

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

📦 Feature

  • 📦 中间件/插件系统,可以自由扩展
  • 📝 消息系统,脱离平台和时间限制
  • 📎 订阅系统,可以订阅多个发送者
  • 📬 自定义 ApiKey 和 后端
  • 🍾 简洁交互设计,避免繁琐的权限验证
  • 🎵 细化的消费记录
  • 🍰 联网插件实现

🧀 部分插件预览

| Sticker Converter | Timer Func | |-------------------------------------|---------------------------------| | sticker | timer |

```python3 plugin_name = "setalarmreminder"

alarm = Function(name=plugin_name, description="Set a timed reminder") alarm.addproperty( propertyname="delay", propertydescription="The delay time, in minutes", propertytype="integer", required=True ) alarm.addproperty( propertyname="content", propertydescription="reminder content", propertytype="string", required=True ) ```

📝 部署指南

请确认您的系统为UTF8,dpkg-reconfigure locales

Docker

shell docker-compose -f docker-compose.yml -p llmbot up -d llmbot --compatibility

PM2

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

Shell

  • (可选) 解决冲突

pip uninstall llm-kira

  • 🛠 配置 .env 文件

```bash cp .env.example .env nano .env

```

  • ⚙️ 安装依赖

bash pip install -r requirements.txt

  • 🗄 配置数据库环境

```bash

安装 Redis

apt-get install redis systemctl enable redis.service --now ```

```bash

安装 RabbitMQ

docker pull rabbitmq:3.10-management docker run -d -p 5672:5672 -p 15672:15672 \ -e RABBITMQDEFAULTUSER=admin \ -e RABBITMQDEFAULTPASS=admin \ --hostname myRabbit \ --name rabbitmq \ rabbitmq:3.10-management docker ps -l ```

  • ▶️ 运行

```bash python3 startsender.py python3 startreceiver.py

```

基础命令

```shell help - 帮助 chat - 聊天 task - 任务 tool - 工具列表 bind - 绑定可选平台 unbind - 解绑可选平台 clear - 删除自己的记录 rsetendpoint - 自定义后端 rsetkey - 设置openai clear_rset - 抹除自定义设置

```

TODO

  • [x] 插件系统
  • [x] 定时系统
  • [x] 订阅系统
  • [x] 插件的文件支持
  • [x] 插件的Openai支持
  • [ ] 用户拉黑插件
  • [x] 消费系统完善
  • [ ] 图表示例插件
  • [ ] 插件管理器
  • [ ] 多 LLM 调度

架构一览

. ├── cache # 缓存 ├── docs # 开发手记 ├── middleware │ ├── __init__.py │ ├── llm_task.py # 任务模型 │ ├── router # 路由/订阅系统 │ └── user # 用户自定义设置 ├── plugins # 插件系统 ├── plugins_manager.py ├── README.md ├── receiver # 收端 ├── requirements.txt ├── run.log ├── schema.py ├── sdk # sdk │ ├── endpoint │ ├── error.py │ ├── func_call.py │ ├── __init__.py │ ├── memory │ ├── network.py │ ├── schema.py │ └── utils.py ├── sender # 发端 ├── setting │ ├── __init__.py │ ├── task.py │ └── telegram.py ├── start_receiver.py ├── start_sender.py ├── task # 任务系统 / 核心模组 ├──── __init__.py

💻 如何开发?

插件开发请参考 plugins 目录下的示例插件。

🤝 如何贡献?

欢迎提交 Pull Request,我们非常乐意接受您的贡献!请确保您的代码符合我们的代码规范,并附上详细的说明。感谢您的支持和贡献! 😊

Owner

  • Name: LLM Kira
  • Login: LlmKira
  • Kind: organization
  • Email: me@dianas.cyou
  • Location: Singapore

Cat Friendly Promotion Association Lab

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "sudoskys"
title: "LLMBot"
version: 2.0.4
url: "https://github.com/LlmKira/LLMBot"

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 112
  • Total Committers: 1
  • Avg Commits per committer: 112.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
sudoskys c****o@h****m 112

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 10
  • Total pull requests: 5
  • Average time to close issues: 22 days
  • Average time to close pull requests: 11 days
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.2
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sudoskys (10)
Pull Request Authors
  • sudoskys (5)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
enhancement (1)

Dependencies

requirements.txt pypi
  • apscheduler *
  • beautifulsoup4 >=4.11.1
  • elara *
  • httpx >=0.23.3
  • loguru >=0.5.3
  • nest-asyncio *
  • pathlib >=1.0.1
  • pika *
  • pillow *
  • pyTelegramBotAPI *
  • pydantic <2.0.0
  • python-dotenv *
  • redis >=4.5.4
  • shortuuid *
  • socksio *
  • tiktoken *