Полный гайд: клонирование, виртуальное окружение, API-ключи Groq и HuggingFace, запуск FastAPI-бэкенда, React-фронтенд, настройка RAG на FAISS.
🚀 Уровень: Начинающий ⏱ 10 минут
Avenor AI — корпоративная мультиагентная GenAI-платформа с 7 специализированными агентами. Платформа использует Groq API (Llama 3.3 70B) для рассуждений, FAISS для RAG-поиска и Hugging Face Stable Diffusion для генерации изображений. После этого гайда у вас будет запущенный бэкенд на FastAPI и React-фронтенд с glassmorphism-дизайном.
⚠ Что понадобится:
— Python 3.11+ и pip
— Git
— API-ключ Groq (бесплатный: console.groq.com/keys)
— API-токен HuggingFace (бесплатный: huggingface.co/settings/tokens)
— Node.js для React-фронтенда (опционально)
git clone https://github.com/ShubhangiRoy12/Avenor-AI.git cd Avenor-AI
# Linux / macOS python3 -m venv venv source venv/bin/activate # Windows (PowerShell) python -m venv venv venv\Scripts\activate
✅ Проверка: в терминале должен появиться префикс (venv)
pip install -r requirements.txt
Зависимости включают: FastAPI, Uvicorn, Groq, LangChain, FAISS, Sentence Transformers, Diffusers (Stable Diffusion), Pillow, python-docx, fpdf2.
✅ Проверка: pip list | grep fastapi должен показать установленную версию
Создайте файл .env в корне проекта:
echo "GROQ_API_KEY=gsk_ваш_ключ" > .env echo "HF_API_TOKEN=hf_ваш_токен" >> .env
Без GROQ_API_KEY LLM-ответы не будут работать (но бэкенд запустится).
Без HF_API_TOKEN генерация изображений упадёт с ошибкой (но есть fallback на Pollinations.ai).
uvicorn backend.main:app --reload
Бэкенд запускается на http://127.0.0.1:8000.
Swagger-документация: http://127.0.0.1:8000/docs
✅ Проверка: откройте http://127.0.0.1:8000/health — должен вернуть JSON со статусом
curl -X POST http://127.0.0.1:8000/ask \ -H "Content-Type: application/json" \ -d '{"query": "Explain RAG in AI systems", "mode": "auto"}'
Ответ будет содержать поле result с LLM-ответом и agent_used с именем использованного агента.
cd frontend-react npm install npm run dev
Фронтенд запускается на http://localhost:5173 с modern glassmorphism-дизайном, анимированной визуализацией воркфлоу и live-статусом бэкенда.
Если Node.js не установлен — можно использовать только бэкенд через curl или Swagger UI.
# 1. Добавьте .txt файлы в data/docs/ cp /path/to/your/document.txt data/docs/ # 2. Постройте FAISS индекс python backend/rag/ingest.py
Теперь Research Agent будет использовать ваши документы как контекст для ответов. Семантический поиск через Sentence Transformers + FAISS.
curl -X POST http://127.0.0.1:8000/ask \ -H "Content-Type: application/json" \ -d '{"query": "A futuristic AI research laboratory", "mode": "image"}'
Изображение сохраняется в outputs/images/ и отдаётся через /outputs/images/filename.png.
curl -X POST http://127.0.0.1:8000/generate-pdf \ -H "Content-Type: application/json" \ -d '{"query": "Write a report on multi-agent AI systems"}' \ --output avenor_report.pdf
avenor-ai/ ├── backend/ # FastAPI + агенты │ ├── main.py # Точка входа API │ ├── agents/ # 7 агентов │ │ ├── orchestrator.py │ │ ├── research_agent.py │ │ ├── analysis_agent.py │ │ ├── decision_agent.py │ │ ├── memory_agent.py │ │ ├── action_agent.py │ │ └── image_agent.py │ └── rag/ # FAISS + SentenceTransformer │ ├── ingest.py # Построение индекса │ └── retrieve.py # Семантический поиск ├── frontend-react/ # React (Vite) SPA ├── data/docs/ # Ваши .txt документы для RAG └── outputs/ # Сгенерированные изображения/документы
| Ошибка | Решение |
ModuleNotFoundError: No module named 'faiss' |
pip install faiss-cpu (CPU-версия) или faiss-gpu |
API Error: 401 Unauthorized |
Проверьте GROQ_API_KEY в .env. Ключ должен начинаться с gsk_ |
| Изображение не генерируется | Проверьте HF_API_TOKEN. Если HF недоступен — система автоматически переключится на Pollinations.ai (бесплатный, без токена) |
ConnectionRefusedError на фронтенде |
Убедитесь, что бэкенд запущен и слушает 127.0.0.1:8000 |
После успешного запуска:
data/docs/ и перестройте FAISS индексbackend/agents/ — наследуйте существующий классorchestrator.pyГотовы к запуску?
🚀 Avenor AI на GitHub