Sahoo Bot is a Telegram bot that leverages LLMs to process, store, and retrieve user data, including text, images, documents, and voice messages. It uses an SQLite database for persistent storage and integrates with FastAPI to serve stored documents via HTTP links.
- Telegram Bot: Handles user messages, documents, images, and voice notes using aiogram.
- LLM Integration: Uses Gemini and DSPy for advanced query understanding, information extraction, and document generation.
- Document Storage & Retrieval: Stores user-uploaded documents and allows retrieval via message IDs.
- Reminders & Scheduling: Users can set reminders and schedules, which are managed and triggered by the bot.
- FastAPI Server: Serves stored documents from the SQLite database via HTTP endpoints.
- Chroma Embedding Store: Stores and retrieves message embeddings for semantic search.
git clone <repository-url> # Clone the directory
cd sahoo-bot
python -m venv venv # Setup virtual env
source venv/bin/activate
pip install -r requirements.txt # install dependenciesThe API Tokens and other parameters must be set in .env, .env_template contains the variables to be set.
python src/db.py # Initialize the databasepython src/main.py # Start the botInteract with the bot to:
- Process & Store Content: Send messages, images, documents, and voice notes for summarization or secure storage.
- Access Stored Data: Easily retrieve past uploads for clarification, report generation, or to access original files.
- Manage Reminders: Set and receive timely reminders for your important events and tasks.
MIT License