Merge pull request #117 from bucolucas/update-readme
Update README.md with current project state and bot implementations
This commit is contained in:
@@ -1,15 +1,28 @@
|
|||||||
# Telegram Inference Bot with Daemon and Apprentice System
|
# Telegram Inference Bot with Daemon and Apprentice System
|
||||||
|
|
||||||
This project implements a Telegram bot system with two instances: a daemon bot and an apprentice bot. The daemon bot handles the main workload, while the apprentice bot can be updated and take over when needed.
|
This project implements a Telegram bot system with two instances: a daemon bot and an apprentice bot. The daemon bot handles the main workload, while the apprentice bot can be updated and take over when needed. The system supports both OpenAI (ChatGPT) and Anthropic (Claude) AI models.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Daemon bot for handling main workload
|
- Daemon bot for handling main workload
|
||||||
- Apprentice bot for updates and handovers
|
- Apprentice bot for updates and handovers
|
||||||
- Automatic updates for the apprentice bot when new pull requests are merged
|
- Support for both OpenAI (ChatGPT) and Anthropic (Claude) AI models
|
||||||
- Inter-bot communication
|
- Dynamic tool integration for extended functionality
|
||||||
- Support for both OpenAI and Anthropic AI models
|
- Conversation history management
|
||||||
- Tool integration for extended functionality
|
- Model switching capability (for ChatGPT implementation)
|
||||||
|
- Error handling and logging
|
||||||
|
|
||||||
|
## Bot Implementations
|
||||||
|
|
||||||
|
### ChatGPT Bot (OpenAI)
|
||||||
|
- Uses OpenAI's GPT models (gpt-4o-mini and gpt-4o)
|
||||||
|
- Supports model switching between gpt-4o-mini (16,384 tokens) and gpt-4o (4,096 tokens)
|
||||||
|
- Implements tool calls using OpenAI's function calling feature
|
||||||
|
|
||||||
|
### Claude Bot (Anthropic)
|
||||||
|
- Uses Anthropic's Claude model (claude-3-5-sonnet-20240620)
|
||||||
|
- Implements tool calls using Anthropic's tool use feature
|
||||||
|
- Uses a maximum of 8,192 tokens per response
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
@@ -49,23 +62,24 @@ Make sure to set the following environment variables in your `.env` file:
|
|||||||
- `GITHUB_ACCESS_TOKEN`: Your GitHub personal access token
|
- `GITHUB_ACCESS_TOKEN`: Your GitHub personal access token
|
||||||
- `DAEMON_CHAT_ID`: Chat ID for the daemon bot
|
- `DAEMON_CHAT_ID`: Chat ID for the daemon bot
|
||||||
- `APPRENTICE_CHAT_ID`: Chat ID for the apprentice bot
|
- `APPRENTICE_CHAT_ID`: Chat ID for the apprentice bot
|
||||||
|
- `SYSTEM_PROMPT_PATH`: Path to the system prompt file
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
- Start the bot by running `python telegram_inference_bot.py`
|
- Start the bot by running `python telegram_inference_bot.py`
|
||||||
- Use `/start` to begin interacting with either bot
|
- Use `/start` to begin interacting with either bot
|
||||||
- Use `/handover` in the daemon bot to initiate a handover to the apprentice bot
|
- Use `/handover` in the daemon bot to initiate a handover to the apprentice bot
|
||||||
- The apprentice bot will automatically check for updates every 15 minutes
|
- The apprentice bot will automatically check for updates every 15 minutes (feature to be implemented)
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
- `/start`: Start interacting with the bot
|
- `/start`: Start interacting with the bot
|
||||||
- `/clear`: Clear conversation history
|
- `/clear`: Clear conversation history
|
||||||
- `/switch`: Switch between GPT models (GPT-4 and GPT-4 Mini)
|
- `/switch`: (ChatGPT bot only) Switch between GPT models (gpt-4o-mini and gpt-4o)
|
||||||
- `/toggle`: Toggle between OpenAI and Anthropic providers
|
|
||||||
- `/status`: Check the current model and provider
|
- `/status`: Check the current model and provider
|
||||||
- `/handover`: (Daemon bot only) Initiate handover to apprentice bot
|
- `/handover`: (Daemon bot only) Initiate handover to apprentice bot (to be implemented)
|
||||||
- `/update`: (Apprentice bot only) Manually trigger an update
|
- `/update`: (Apprentice bot only) Manually trigger an update (to be implemented)
|
||||||
|
- `/abort`: Abort current processing (to be implemented)
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
@@ -74,3 +88,12 @@ Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduc
|
|||||||
## License
|
## License
|
||||||
|
|
||||||
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
|
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.
|
||||||
|
|
||||||
|
## Future Improvements
|
||||||
|
|
||||||
|
- Implement handover functionality between daemon and apprentice bots
|
||||||
|
- Add automatic update checking for the apprentice bot
|
||||||
|
- Unify features across both bot implementations
|
||||||
|
- Enhance error handling and logging
|
||||||
|
- Move hardcoded values to configuration files
|
||||||
|
- Implement comprehensive unit testing
|
||||||
Reference in New Issue
Block a user