Daily Assistant (Python + LLM)
Интеллектуальный ассистент с Telegram-интерфейсом, памятью (SQLite), векторной БЗ (FAISS), MCP-инструментами (Weather, Notion, Web Search) и ядром LLM через SambaNova Cloud API.
Быстрый старт (локально)
- Создайте и активируйте venv
- Скопируйте
env.exampleв.envи заполните переменные - Установите зависимости:
pip install -r requirements.txt- Запустите бота:
python main.pyДеплой (systemd)
- Скопируйте проект на сервер (Ubuntu/Debian), например
/opt/daily-assistant - Скопируйте
env.exampleв.envи заполните значения (TOKENы и т.п.) - Настройте сервис:
sudo cp agent.service /etc/systemd/system/agent.service
sudo systemctl daemon-reload
sudo systemctl enable --now agent- Проверка:
sudo systemctl status agent
journalctl -u agent -fDocker (опционально)
docker compose up --build -dИспользуемые MCP-инструменты
- Weather (Open‑Meteo): геокодинг и текущая/дневная погода. Маркер:
[[WEATHER:Город]]. - Notion: поиск заметок и создание страниц в базе. Маркеры:
[[NOTION_SEARCH:запрос]],[[NOTION_ADD:Заголовок|Текст]]. - Web Search (DuckDuckGo News): новости за 24 часа, приоритет крипто‑домены. Маркер:
[[WEB_SEARCH:запрос]]. - KB (FAISS): локальная база знаний — добавление и поиск фактов. Маркеры:
[[KB_ADD:факт]],[[KB_SEARCH:запрос]].
Краткий отчёт
- Назначение: ежедневный ассистент в Telegram с памятью, RAG и инструментами.
- Подключённые MCP: Weather, Notion, Web Search, локальная KB (FAISS).
- Память: SQLite (
memory/dialogue.db), хранит историю для контекста. - База знаний: FAISS + SentenceTransformers, асинхронная инициализация, RAG‑вставки.
- LLM: SambaNova Cloud
/chat/completions, модель задаётся в.env, встроенный троттлинг/429‑retry. - Оркестрация: система tool‑call маркеров, mini‑loop (1 инструмент → финальный ответ), статусы выполнения в чате.
Папки/файлы
telegram/— Telegram-ботllm/— клиент SambaNova LLaMAmemory/— SQLite-хранилищеvector_store/— FAISSmcp/— инструменты Weather/Notion/Web Searchutils/— промптыagent.service— unit для systemd (в корне)Dockerfile,docker-compose.yml— для контейнерного запускаreport.md— краткий отчёт
Переменные окружения
См. env.example.
