Skip to main content

Modular Agent Framework

Project description

Универсальный AI-агент

Shows a black and red Giga Agent Logo in light color mode and a white and red in dark color mode

[ Русский | 中文 | English | Español ]

GigaAgent может решать самые разные задачи, используя более 30 встроенных инструментов и субагентов.

Deploy to DO

Например, он позволит вам работать с большими файлами через код (Excel-файл с десятками тысяч строк), придумать мем, описать бизнес-модель стартапа или создать лендинг. Для этого GigaAgent использует субагентов, REPL-среду для исполнения кода и сторонние сервисы.

GigaAgent разработан в рамках проекта GigaChain – открытого набора инструментов для разработки LLM-приложений и мультиагентных систем.

GigaAgent умеет:

  • работать с разными моделями, доступными в LangChain: GigaChat, ChatGPT, Anthropic и другими
  • исполнять код в чате с помощью в REPL-среды, подобной блокнотам Jupyter
  • обмениваться данными со сторонними сервисами: VK, GitHub, 2GIS и другими
  • использовать инструменты для анализа данных, генерации изображений, создания презентаций и лендингов
  • генерировать изображения с помощью разных провайдеров: GigaChat, FusionBrain, OpenAI;
  • работать локально или в облаке, с помощью Docker
  • использовать ваши MCP-тулы
  • применять знания из ваших документов с помощью RAG

Демо

Примеры работы с GigaAgent в формате PDF:

Примеры работы субагентов, а также подробная информация о них — в разделе Субагенты. Описание доступных инструментов и процесса создания новых инструментов можно найти в разделе Инструменты в GigaAgent

Содержание

Быстрый старт

  1. Установите пакет:
 uv add giga_agent

Для локального sandbox через Jupyter установите optional extra:

 pip install -U "giga-agent[jupyter]"
  1. Запустите dev-сервер:
 uv run giga_agent dev
  1. Откройте в браузере:
 http://localhost:9090

Логин по умолчанию при первой инициализации (когда в БД нет пользователей):

  • admin@example.com
  • giga_agent_admin

Для начала работы с агентом настройте следующие интеграции в настройках пользователя:

  • Коннекторы (используются в LLM / Embeddings)
  • LLM
  • Embeddings
  • Sandbox

Функциональные возможности

💬 Chat & Agent System

  • Streaming Chat — диалог с AI-агентом
  • Thread Management — история диалогов
  • Message Branching — ветвление диалогов для экспериментов
  • File Attachments — поддержка изображений, документов, аудио, видео
  • Tool Visualization — визуализация выполнения инструментов в UI
  • Auto-approve Mode — автоматическое подтверждение использования инструментов

🔧 Встроенные модули

GigaAgent включает 13 готовых модулей для разных задач:

Модуль ID Описание
Auth auth Аутентификация, управление пользователями и группами
REPL repl Выполнение Python и shell команд в sandbox
Image image Генерация изображений (GigaChat, FusionBrain, OpenAI)
Analyze Images analyze_images Анализ изображений через multimodal LLM
Search search Веб-поиск через
Scraper scraper Извлечение контента с веб-страниц (Jina AI Reader)
RAG rag Retrieval Augmented Generation с векторным поиском
GitHub github Интеграция с GitHub API
VK vk Интеграция с VK API
Weather weather Получение прогноза погоды
Mem0 mem_zero_memory Долговременная память агента
Subagents subagents_legacy Специализированные субагенты (landing, presentation, meme, podcast, lean_canvas)
MCP frontend_mcp Вызов MCP-тулов на стороне фронтенда пользователя

🐳 Sandbox Providers

Изолированные окружения для безопасного выполнения кода:

Local Docker

  • Описание: Контейнеры на локальной машине или VPS
  • Использование: Локальная разработка и self-hosted deployment
  • Настройка:
    • Образ: mikelarg/code-interpreter:0.0.5
    • Resource limits (CPU, memory, PIDs)
    • Доступ: только superuser
  • Преимущества: Полный контроль, без внешних зависимостей
  • Недостатки: Требует Docker daemon на хосте

E2B Cloud

  • Описание: Облачные sandboxes от e2b.dev
  • Использование: Production-ready решение без инфраструктуры
  • Настройка: Требуется API ключ E2B
  • Преимущества: Автомасштабирование, управляемая инфраструктура
  • Недостатки: Зависимость от внешнего сервиса

Local Jupyter

  • Описание: Singleton Jupyter server на машине хоста с выполнением кода через локальный Python
  • Установка: pip install -U "giga-agent[jupyter]"
  • Создание provider: только superuser
  • Использование provider: может быть доступно другим пользователям по ACL/шарингу
  • Критичное предупреждение: пользователи, которым доступен такой provider, получают доступ к хостовой машине. Это включает выполнение кода и чтение файлов хоста через local_jupyter.
  • Рекомендация: используйте только в доверенной среде и не шарьте local_jupyter provider недоверенным пользователям

🤖 Субагенты (Legacy)

Специализированные агенты для прикладных задач:

Субагент Описание Graph ID
Landing Генерация лендинговых страниц landing
Presentation Создание презентаций presentation
Meme Генерация мемов с изображениями meme
Podcast Создание подкастов из текста podcast
Lean Canvas Описание бизнес-модели стартапа lean_canvas

См. SUBAGENTS.md для подробностей.

📚 RAG (Retrieval Augmented Generation)

  • Document Collections — организация знаний по коллекциям
  • Multiple Formats — поддержка PDF, DOCX, TXT, Markdown, HTML
  • Vector Search — семантический поиск через Qdrant
  • Permissions — настройка доступа к коллекциям

🔐 Управление доступом

  • User Management — создание и управление пользователями
  • Groups — объединение пользователей в группы
  • Resource Permissions (ACL) — детальный контроль доступа к ресурсам:
    • Read access — просмотр
    • Owner — полный контроль
  • JWT Tokens — безопасная аутентификация через cookie или Bearer header
  • Superuser Role — административные привилегии (создание local sandbox providers, admin panel)

🔌 Интеграции

LLM Providers:

  • OpenAI (GPT-4, GPT-3.5)
  • GigaChat
  • Anthropic (Claude)
  • Любые модели через LangChain

Embedding Models:

  • OpenAI Embeddings
  • GigaChat Embeddings

External Services:

  • Tavily — веб-поиск
  • Jina AI — web scraping
  • GitHub API — работа с репозиториями
  • VK API — социальная сеть

Vector Store:

  • Qdrant — для RAG и Mem0

🧪 REPL Environment

Выполнение кода прямо в чате:

  • Python REPL — полноценный Python interpreter
  • Shell Commands — выполнение bash команд
  • File Operations — работа с файлами внутри sandbox
  • Nested Tool Calls — LLM tools доступны из Python кода
  • Persistent Context — сохранение переменных между вызовами

🎨 Генерация изображений

Поддержка множественных провайдеров:

  • GigaChat (Kandinsky)
  • FusionBrain (Kandinsky)
  • OpenAI (DALL-E)

Конфигурация

Минимум для старта

Для локального giga_agent dev дополнительная конфигурация может не требоваться. Если нужны предсказуемые значения в окружении, задайте:

export GIGA_AGENT_SECRET_KEY="replace_with_secure_value"
export GIGA_AGENT_ADMIN_EMAIL="admin@your-domain.com"
export GIGA_AGENT_ADMIN_PASSWORD="your_strong_password"

Поведение admin-инициализации:

  • если пользователей нет, создается первый admin из GIGA_AGENT_ADMIN_EMAIL / GIGA_AGENT_ADMIN_PASSWORD;
  • если пользователи уже есть, авто-создание admin пропускается.

Advanced env (runtime/integration)

В расширенной конфигурации обычно настраиваются:

  • sandbox/runtime параметры;
  • docker-ориентированные env;
  • БД/кэш/векторное хранилище;
  • tracing/observability параметры.

Детальный env-референс: docs/configuration/env.md

Запуск через Docker

Docker-сценарий оставляем как второй quick start (для self-hosted/операционного запуска).

Отличие от pip + dev

  • pip + dev: самый быстрый локальный запуск для разработки и проверки.
  • docker compose: более инфраструктурный сценарий с отдельными сервисами (nginx/postgres/redis/qdrant и т.д.).

Быстрые шаги

  1. Подготовьте .env:
 cp .env.example .env

Минимально проверьте/заполните:

  • GIGA_AGENT_SECRET_KEY
  • GIGA_AGENT_HOST_PROJECT_PATH (абсолютный путь до репозитория на хосте; важен для local docker sandbox)
  • GIGA_AGENT_LOCAL_JUPYTER_WORKING_DIR / GIGA_AGENT_LOCAL_JUPYTER_FILES_PATH при необходимости переопределить директории singleton Jupyter server
  1. (Опционально) скачайте image для code interpreter:
 docker image pull mikelarg/code-interpreter:0.0.5
  1. Соберите и поднимите сервисы:
 make build
 make up
  1. Откройте UI:
 http://localhost:8123

Перезапуск после обновления репозитория

make down
make build
make up

Для dev-варианта compose:

make build_dev
make up_dev

Технологический стек

Backend

  • Python 3.11+ — современный Python с async/await
  • LangGraph 1.0.8 — state machine для AI-агентов от LangChain
  • FastAPI — высокопроизводительный веб-фреймворк
  • SQLAlchemy 2.0 — async ORM с поддержкой SQLite и PostgreSQL
  • Alembic — система миграций с multi-scope поддержкой
  • Redis — кэширование и distributed locks (через cashews)
  • Qdrant — векторное хранилище для RAG и Mem0
  • E2B — облачные sandboxes для безопасного выполнения кода
  • Docker SDK — управление локальными sandbox-контейнерами
  • Jupyter Server — optional extra giga-agent[jupyter] для admin-only local_jupyter sandbox с одним singleton-процессом на агент

Frontend

Инфраструктура

  • Docker & Docker Compose — контейнеризация
  • Nginx — reverse proxy для production
  • PostgreSQL — production база данных (dual-database: LangGraph + app)
  • SQLite — development база данных

Архитектура

Ключевые принципы

1. Модульная система

Каждый модуль (BaseModule) — независимый plugin:

  • Собственные миграции — таблицы с auto-префиксом модуля
  • Независимые инструменты — tools для агента
  • Собственные API endpoints — автоматический роутинг
  • Инструкции и middleware — настройка поведения агента

2. Dual-Database Strategy

Development (local):

  • SQLite с aiosqlite драйвером
  • Файловая БД в .giga_agent/
  • Batch-режим для миграций

Production (docker):

  • Две отдельные PostgreSQL базы:
    1. LangGraph DB — state checkpoints, thread history
    2. Application DB — метаданные, пользователи, конфигурация (asyncpg)

3. Registry Pattern

Runtime компоненты регистрируются динамически:

  • Connectors — подключения к внешним сервисам (OpenAI, GigaChat, Tavily)
  • LLMs — языковые модели с валидацией настроек
  • Embeddings — модели векторизации
  • Sandbox Providers — окружения выполнения кода
  • Image Generators — генераторы изображений
  • Search Engines — поисковые движки

4. Sandbox Execution

Безопасное выполнение Python-кода/Shell комманд в изолированных окружениях:

Local Docker:

  • Контейнеры на локальной машине или VPS
  • Resource limits (CPU, memory, PIDs)
  • Volume mounts для файлов
  • Только для superuser (security)

E2B Cloud:

  • Облачные sandboxes (e2b.dev)
  • Автомасштабирование
  • API-based управление

5. Background Tasks

Фоновые процессы с Redis-координацией для multi-instance deployment:

  • Idle Sweeper — останавливает неактивные sandboxes
  • Orphan Sweeper — удаляет "осиротевшие" ресурсы

6. Security & ACL

  • JWT Authentication — cookie + Bearer token
  • Resource-level permissions — read/edit/owner access
  • Group-based access control — разделение доступа по группам
  • bcrypt — хеширование паролей

Troubleshooting

  • UI не открывается:
    • проверьте, что dev-сервер запущен на localhost:9090 (pip режим) или что make up поднял nginx на 8123 (docker режим).
  • Не удается залогиниться:
    • если это первый запуск, используйте дефолтные креды или проверьте GIGA_AGENT_ADMIN_EMAIL / GIGA_AGENT_ADMIN_PASSWORD;
  • Не видны провайдеры/инструменты:
    • проверьте env-конфиг и настройки в UI (/settings/*).

Для разработчиков

Ключевые CLI-команды:

  • Проверка состояния миграций:
    giga_agent check
    
  • Применение миграций:
    giga_agent migrate
    
  • Генерация миграций:
    giga_agent makemigrations
    
  • Проксирование Alembic-команд:
    giga_agent alembic --scope core upgrade head
    
  • Экспорт langgraph-конфига:
    giga_agent export-langgraph-json
    

Дополнительные материалы

Contributing

PR и issue приветствуются. Для больших изменений лучше заранее описать proposal в issue с ожидаемым эффектом и планом валидации.

License

Проект распространяется под лицензией MIT. См. файл LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

giga_agent-0.1.4.tar.gz (17.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

giga_agent-0.1.4-py3-none-any.whl (10.5 MB view details)

Uploaded Python 3

File details

Details for the file giga_agent-0.1.4.tar.gz.

File metadata

  • Download URL: giga_agent-0.1.4.tar.gz
  • Upload date:
  • Size: 17.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for giga_agent-0.1.4.tar.gz
Algorithm Hash digest
SHA256 982dbb6123e3fb5c506114f7c5a0e6a65687544d1160761dd1ae953f6ef7b8d2
MD5 c6c42331de4ca97d345bbc698ce53974
BLAKE2b-256 e311a14cacd15ed7ee25f4c07404a141422bbed056ea21501b6eb25787f02f6e

See more details on using hashes here.

File details

Details for the file giga_agent-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: giga_agent-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for giga_agent-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f202d1e8920c90eec60023ae3e875f7d8a334b34b411b4a37904b25f097a5b72
MD5 5eb0efe682ae2e5ff4f4ec0e247a70d8
BLAKE2b-256 b953a571fd846c9f2332c15386f99952701cd5ba527d75cf9e64ef58ea43e1ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page