GigaAgent: Универсальный AI-помощник с расширенными возможностями
Описание проекта
GigaAgent — это мощная мультиагентная система на базе LangGraph, превращенная в полноценного персонального AI-помощника. Проект представляет собой расширенную версию оригинального GigaAgent с глубокой доработкой функционала для повседневного использования.
Базовые возможности
GigaAgent предоставляет универсальную платформу для решения разнообразных задач:
- Работа с LLM: Поддержка различных языковых моделей (GigaChat, OpenAI, Anthropic и др.) через единый интерфейс
- REPL-среда: Выполнение Python-кода в изолированной Jupyter-среде для анализа данных, работы с файлами и сложных вычислений
- Интеграции с сервисами: Подключение к VK, GitHub, 2GIS, OpenWeatherMap и другим внешним API
- Генерация контента: Создание изображений, презентаций, лендингов, мемов и подкастов
- Анализ данных: Обработка больших файлов (CSV, Excel), кластеризация, анализ настроений
- Инструменты поиска: Интернет-поиск через Tavily, скрейпинг веб-страниц
Ключевые доработки: от агента к персональному помощнику
1. Интеграция с DeepSeek V3.2
Реализована полная поддержка облачного API DeepSeek с режимом размышлений (reasoning mode):
- Патчинг библиотеки: Создан специальный патч для
langchain-deepseek, обеспечивающий корректную работу с reasoning_content - Адаптер сообщений: Реализован конвертер сообщений для правильной сериализации reasoning-контента в формате DeepSeek API 3.2
- Усиленный промпт: Добавлены инструкции для использования режима глубокого размышления, что значительно улучшает качество ответов
- Гибкая конфигурация: Поддержка моделей
deepseek-reasonerиdeepseek-chatс автоматическим определением возможностей
Результат: Агент стал более рассудительным и точным в сложных задачах, требующих многошагового анализа.
2. Многопользовательская система
Превращение из однопользовательского агента в полноценную многопользовательскую платформу:
- Изоляция данных: Каждый пользователь имеет свой набор токенов, настроек и истории
- Индивидуальные токены: Хранение персональных API-ключей для Tinkoff Invest, GitHub, Google Calendar
- Безопасность: Аутентификация через JWT-токены, изоляция на уровне базы данных
- Масштабируемость: Поддержка неограниченного количества пользователей с персональными настройками
Результат: Система готова к использованию несколькими пользователями одновременно без конфликтов данных.
3. Управление чатами
Реализована полноценная система работы с историей переписки:
- Сохранение чатов: Автоматическое сохранение всех диалогов с возможностью возврата к ним
- Управление историей: Просмотр, переименование и удаление сохраненных чатов
- Персистентность: История хранится в PostgreSQL и автоматически загружается при возврате к чату
- Умное именование: Автоматическое создание названий чатов на основе первого сообщения
- Ограничение объема: Хранение последних N чатов с возможностью очистки старых
Результат: Пользователь может вести несколько параллельных диалогов и легко возвращаться к предыдущим обсуждениям.
4. Персональные настройки
Система гибких настроек для персонализации работы агента:
- Структурированные предпочтения: Хранение настроек в формате JSON с поддержкой вложенных структур
- Контекстные инструкции: Возможность задать агенту персональные инструкции и стиль общения
- Базовые предпочтения: Словарь ключ-значение для хранения интересов, предпочтений и другой информации о пользователе
- Интеграция с агентом: Настройки автоматически учитываются при генерации ответов
- API для управления: RESTful API для чтения и обновления настроек
Результат: Агент "помнит" предпочтения пользователя и адаптирует свои ответы под индивидуальные потребности.
5. Агент Кодер
Интеллектуальный генератор проектов с поддержкой различных технологий:
- Планирование проекта: Автоматическое создание структуры проекта на основе требований
- Мультиязычность: Поддержка Python, NodeJS, JavaScript, PHP, Java, GoLang и других языков
- Выбор технологий: Указание конкретных технологий (RAG, LLM, FAISS, ChromaDB, HTML, CSS и др.)
- Генерация кода: Создание всех файлов проекта с учетом архитектуры и зависимостей
- Пошаговый режим: Возможность генерации по одному файлу с подтверждением
- Архивация: Автоматическая упаковка проекта в ZIP для скачивания
- Продолжение работы: Возможность вернуться к незавершенному проекту по thread_id
Результат: Пользователь может описать идею проекта на естественном языке и получить готовый рабочий прототип.
6. Email Агент
Полноценный помощник для управления электронной почтой:
- Чтение писем: Получение списка писем из различных папок (Inbox, Spam и др.)
- Поиск и фильтрация: Поиск писем по ключевым словам, отправителю, дате
- Массовые операции: Удаление и перемещение нескольких писем одновременно (по номерам или постоянным ID)
- Отправка писем: Создание и отправка писем через SMTP с поддержкой HTML
- Управление ящиками: Поддержка нескольких почтовых аккаунтов с индивидуальными настройками
- Уникальные ID: Каждое письмо получает постоянный идентификатор для надежных массовых операций
- Безопасность: Хранение паролей и настроек через систему секретов
Результат: Агент может полностью управлять почтовым ящиком, помогая с сортировкой, поиском и отправкой писем.
7. Calendar Агент
Интеграция с Google Calendar для управления расписанием:
- Просмотр событий: Получение списка событий с фильтрацией по датам и ключевым словам
- Создание событий: Одиночные события, события на весь день, события с периодом времени
- Массовое создание: Автоматическое создание событий на каждый день в указанном периоде
- Импорт из таблиц: Массовое создание событий из JSON-данных
- Управление: Обновление и удаление существующих событий
- Поиск слотов: Определение свободных временных окон
- OAuth 2.0: Безопасная авторизация через Google OAuth
Результат: Пользователь может управлять календарем через естественный язык, создавать расписания и планировать встречи.
8. T-Инвестиции Агент
Профессиональный помощник для торговли на бирже:
- Портфель: Просмотр текущего портфеля, позиций и баланса по всем счетам
- Графики: Создание интерактивных графиков свечей с объемами для любых российских акций
- Поиск инструментов: Поиск акций, облигаций и других инструментов по тикеру или названию
- Размещение ордеров: Рыночные и лимитные ордера на покупку/продажу
- Управление ордерами: Просмотр активных ордеров и их отмена
- История операций: Анализ операций за различные периоды (день, неделя, месяц)
- Мультиаккаунт: Работа с несколькими брокерскими счетами одновременно
- Sandbox режим: Поддержка тестового режима для безопасного обучения
Результат: Полноценный торговый помощник, который может анализировать рынок, показывать графики и выполнять торговые операции.
Технические особенности
Архитектура
- Backend: Python 3.11+, FastAPI, LangGraph 0.6.3, SQLModel, PostgreSQL 16, Redis 6
- Frontend: React 19, TypeScript, Vite, TailwindCSS, Radix UI
- Инфраструктура: Docker, Docker Compose, Nginx
- REPL: Jupyter Kernel с поддержкой Pandas, NumPy, Matplotlib, Plotly
Безопасность
- JWT-аутентификация
- Изоляция данных пользователей на уровне БД
- Хранение секретов через систему секретов
- Изоляция выполнения кода в REPL-среде
- OAuth 2.0 для внешних сервисов
Масштабируемость
- Горизонтальное масштабирование компонентов
- Асинхронная обработка через FastAPI
- Кэширование через Redis
- Пул соединений к БД
Уникальные возможности
- Единая точка входа: Все функции доступны через один интерфейс чата
- Контекстная память: Агент помнит предпочтения пользователя и историю диалогов
- Автоматизация: Массовые операции, автоматическое создание событий, умная фильтрация
- Интеграции: Единая система для работы с почтой, календарем, инвестициями и кодом
- Персонализация: Каждый пользователь получает индивидуальный опыт работы
Результат
GigaAgent трансформирован из исследовательского проекта в полноценного персонального AI-помощника, способного:
- Управлять расписанием и календарем
- Обрабатывать электронную почту
- Помогать с инвестициями и торговлей
- Генерировать код и проекты
- Анализировать данные и создавать визуализации
- Помнить предпочтения пользователя и адаптироваться под его стиль работы
Проект демонстрирует глубокое понимание современных AI-технологий, архитектуры распределенных систем и пользовательского опыта, объединяя все это в единое цельное решение.
Информация о проекте
Языки программирования
Высокоуровневый язык программирования общего назначения с простым и понятным синтаксисом. Идеален для веб-разработки, анализа данных, машинного обучения и автоматизации.
Язык программирования для веб-разработки, поддерживает как фронтенд, так и бэкенд
Типизированная версия JavaScript, разработанная Microsoft
Используемые технологии
Фреймворк для разработки приложений с языковыми моделями. Упрощает создание цепочек обработки текста.
ИИ и ML
API для работы с языковыми моделями OpenAI, включая GPT-3, GPT-4 и другие модели.
ИИ и ML
API для работы с инвестиционными инструментами Тинькофф. Торговля акциями, облигациями и другими активами.
Финансы
ORM для Python, обеспечивающий высокоуровневый интерфейс для работы с базами данных.
База данных
Мощная объектно-реляционная система управления базами данных с открытым исходным кодом.
База данных
Платформа для разработки, доставки и запуска приложений в контейнерах.
DevOps
Библиотека для создания пользовательских интерфейсов
frontend_framework
In-memory структура данных для кэширования и очередей
database