rvachev.orgEN / RU / 🤖
← К эссе
· Эссе · 2 мин

Личный AI ассистент: первые шаги

Я давно вынашиваю идею личного AI ассистента и вот решил сделать шаги в эту сторону.

Ок, я давно вынашиваю идею личного AI ассистента и вот решил наконец сделать немного шагов в эту сторону.
Буду писать небольший записки о том что происходит.

В моменте проект опенсорсный и будет доступен по адресу https://github.com/rvnikita/rv_ai_assistant

Основные претензии к текущему Voice GPT
1) иногда он глючит на длинных аудио, я могу надиктовывать ему 2-3-5 минут мыслей и потом он говорит “ой, что-то пошло не так” и все пропадает. Технически если голосовое в телеграмме, такого не должно случаться
2) он не умеет вызывать функции - например я хочу чтобы он послушал и дернул какое-нибудь API для поиска или чтобы узнать погоду. Или например отправить сообщение
3) GPT плохо работает в метро, он требует постоянного коннекта, в отличи от телеграмма который может работать и обрабатывать сообщение пока в метро нет интернета.

Итак верхнеуровнево текщая архитектура:

- High-Level Architecture
- Dispatcher Agent:
- The main agent that handles incoming messages and decides which module/agent to use based on the request.
- Uses GPT-4o for decision making.
- Interacts with a RAG (Retrieval-Augmented Generation) system to leverage past interactions and module usage data.
- Modules/Agents:
- Individual modules that handle specific tasks, such as downloading Twitter videos or future functionalities.
- Each module has a standardized interface for inputs, outputs, and descriptions.
- Database:
- PostgreSQL for storing messages, configuration, user interactions, and feedback.
- Alembic for database migrations.
- Transcription Service:
- Uses OpenAI's Whisper model for transcribing voice messages.
- Environment Management:
- Uses .env files to manage environment variables and API keys.

Пока все работает на локальном компьютере, но совсем скоро постараюсь выкинуть его на сервер, чтобы с ним можно было играть.

В текущей нулевой версии он просто копирует текст который ему прислали текстом, а так же распознает голос и возвращает текст на голосовое сообщение.

Из первого модуля, который хочется реализовать, это скачивание видео c x.com так как это частая задачи и постоянно приходится пользоваться для этого левыми сайтами