PyAgentX — это фреймворк для создания автономных AI-агентов, способных решать сложные, многошаговые задачи. Система использует архитектуру многоагентной команды, где центральный Оркестратор управляет командой узкоспециализированных агентов для достижения глобальной цели.
Проект основан на самых современных концепциях в области Agentic AI, включая иерархическое планирование, самокоррекцию, продвинутый RAG с переранжированием и долгосрочную память.
Мы разделили документацию на несколько разделов для удобства:
- Архитектура многоагентной системы: Обзор Оркестратора, Планировщика, Исполнителей и принципов их взаимодействия.
- Ядро агента: Цикл ReAct и Рефлексия: Описание внутреннего цикла работы каждого агента и механизма самокоррекции при ошибках.
- Продвинутый RAG-пайплайн: Детальное описание нашего двухэтапного RAG с семантическим чанкированием и переранжированием.
- Долгосрочная память: Как агенты запоминают информацию между сессиями для повышения эффективности.
- Оценка и Безопасность: Описание наших собственных легковесных систем для оценки качества и модерации ответов.
- Язык: Python 3.10+
- LLM API: OpenAI
- Оркестрация и ядро агентов: Кастомная реализация
- Семантическое чанкирование:
semchunk
- RAG:
unstructured
для парсинга документовrank-bm25
для sparse-поискаnumpy
для векторных операцийsentence-transformers
для Cross-Encoder Re-ranking
- Долгосрочная память:
sqlite3
- Безопасность:
guardrails-ai
- Оценка:
deepeval
,pytest
- Зависимости:
python-dotenv
,tiktoken
pip install -r requirements.txt
Скопируйте .env.example
в .env
и укажите ваш OPENAI_API_KEY
.
cp .env.example .env
Для работы RAG-пайплайна необходимо один раз создать векторную базу знаний из документов в директории knowledge_base/
.
python -m scripts.build_knowledge_base
Чтобы убедиться, что все работает корректно:
pytest
uvicorn app.main:app --reload
После запуска API будет доступно по адресу http://127.0.0.1:8000/docs
.
PyAgentX/
├── app/
│ ├── agents/ # Логика агентов, их роли и инструменты
│ │ ├── roles/
│ │ └── prompts/
│ ├── evaluation/ # Собственный фреймворк оценки
│ ├── memory/ # Менеджер долгосрочной памяти (SQLite)
│ ├── rag/ # RAG-пайплайн (ретривер)
│ ├── safety/ # Собственные "ограждения" (Guardrails)
│ ├── main.py # FastAPI приложение
│ └── orchestrator.py # Оркестратор
├── docs/ # Детальная документация
├── knowledge_base/ # Исходные документы для базы знаний
├── scripts/ # Скрипты (например, для создания RAG-базы)
├── tests/ # Тесты
├── .env.example
├── README.md
└── requirements.txt