-
Notifications
You must be signed in to change notification settings - Fork 5
Installation
ShaerWare edited this page Mar 3, 2026
·
2 revisions
Пошаговая инструкция по установке и запуску системы. Поддерживается два режима: Docker (рекомендуется) и локальная установка.
- ОС: Ubuntu 22.04+ / Debian 12+ / любой Linux с Docker
- CPU: 2 ядра
- RAM: 4 ГБ
- Диск: 5 ГБ
- API-ключ облачного LLM (Gemini, OpenAI, Claude, DeepSeek и др.)
- ОС: Ubuntu 22.04+ с NVIDIA драйверами
- GPU: NVIDIA RTX 3060 12GB или лучше (CUDA CC >= 7.0)
- CPU: 4 ядра
- RAM: 16 ГБ
- Диск: 30 ГБ (модели ~15GB + Docker образы ~9GB)
| Сервис | Память | Назначение |
|---|---|---|
| vLLM | ~6 ГБ (50%) | Локальная языковая модель (Qwen/Llama/DeepSeek) |
| XTTS v2 | ~5 ГБ | Клонирование голоса |
| Система | ~1 ГБ | Буфер |
# Docker и Docker Compose
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Перелогиньтесь после этой команды
# Для GPU: NVIDIA Container Toolkit
sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker# 1. Клонируйте репозиторий
git clone https://github.com/ShaerWare/AI_Secretary_System.git
cd AI_Secretary_System
# 2. Создайте файл конфигурации
cp .env.docker.example .env
# 3. Отредактируйте .env — укажите ключи API (если используете облачные LLM)
nano .env
# 4. Запуск
docker compose up -d # GPU режим
# или
docker compose -f docker-compose.yml -f docker-compose.cpu.yml up -d # CPU режим# Статус контейнеров
docker compose ps
# Логи
docker compose logs -f orchestrator
# Проверка здоровья
curl http://localhost:8002/health- Админ-панель:
http://localhost:8002/admin/ - Логин:
admin - Пароль:
admin
# Python 3.11+
sudo apt install python3.11 python3.11-venv python3.11-dev
# Node.js 18+ (для админ-панели)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
# Системные зависимости
sudo apt install -y git ffmpeg redis-server# 1. Клонируйте репозиторий
git clone https://github.com/ShaerWare/AI_Secretary_System.git
cd AI_Secretary_System
# 2. Создайте виртуальное окружение Python
python3.11 -m venv venv
source venv/bin/activate
# 3. Установите Python-зависимости
pip install --upgrade pip
pip install -r requirements.txt
# Для CPU режима (без тяжёлых TTS/STT):
pip install fastapi uvicorn python-multipart websockets slowapi \
aiosqlite sqlalchemy[asyncio] redis pydantic python-dotenv \
psutil aiohttp requests google-generativeai \
python-telegram-bot aiogram piper-tts
# 4. Соберите админ-панель
cd admin
npm install
npm run build
cd ..
# 5. Создайте .env
cp .env.example .env
nano .env
# 6. Инициализируйте базу данных
python scripts/migrate_users.py# CPU режим (Piper TTS + облачные LLM)
./start_cpu.sh
# GPU режим (XTTS + vLLM + LoRA)
./start_gpu.sh
# GPU с выбором модели
./start_gpu.sh --llama # Llama-3.1-8B
./start_gpu.sh --deepseek # DeepSeek-7Bcurl http://localhost:8002/health# Создать обычного пользователя
python scripts/manage_users.py create myuser mypassword --role user
# Создать веб-пользователя (ограниченный доступ)
python scripts/manage_users.py create webuser webpass --role web
# Список пользователей
python scripts/manage_users.py listРоли:
-
admin— полный доступ ко всем функциям -
user— чтение + запись своих ресурсов, полная админ-панель -
web— как user, но без серверных настроек (vLLM, TTS, Models) -
guest— только чтение (демо-доступ)
- Откройте админ-панель → LLM
- Нажмите «Добавить провайдера»
- Выберите тип (Gemini, OpenAI, Claude, DeepSeek, OpenRouter, Kimi)
- Введите API-ключ
- Нажмите «Тест» для проверки
- Переключите LLM backend на облачного провайдера
- Создайте бота через @BotFather
- Скопируйте токен бота
- Админ-панель → Telegram → «Добавить инстанс»
- Вставьте токен, настройте LLM backend и промпт
- Нажмите «Запустить»
- Админ-панель → Widget → «Добавить инстанс»
- Настройте внешний вид и LLM backend
- Скопируйте код встраивания:
<script src="http://your-server:8002/widget/ai-chat-widget.js"
data-instance-id="1"></script>- Админ-панель → Fine-tune → Cloud AI (или для web-пользователя: Fine-tune)
- Нажмите «Загрузить документ» — поддерживаются
.mdи.txtфайлы - После загрузки нажмите «Переиндексировать»
- Используйте «Тестовый поиск» для проверки
Документы хранятся в папке wiki-pages/ на сервере.
| Переменная | Значение по умолчанию | Описание |
|---|---|---|
LLM_BACKEND |
vllm |
vllm (локальный GPU) или cloud:{id} (облачный провайдер) |
ORCHESTRATOR_PORT |
8002 |
Порт приложения |
SECRETARY_PERSONA |
anna |
Персона секретаря: anna или marina
|
ADMIN_JWT_SECRET |
(авто) | Секрет для JWT токенов (задайте для продакшена) |
GEMINI_API_KEY |
— | API-ключ Gemini (для fallback при недоступности vLLM) |
HF_TOKEN |
— | Токен Hugging Face (для закрытых моделей типа Llama) |
REDIS_URL |
redis://localhost:6379/0 |
Redis (опционально, кэширование) |
RATE_LIMIT_ENABLED |
true |
Включить rate limiting |
DEPLOYMENT_MODE |
full |
Профиль развёртывания: full, cloud, local (см. Deployment-Profiles) |
DEV_MODE |
— |
1 для проксирования на Vite dev server (:5173) |
# Обновить код
git pull origin main
# Пересобрать админ-панель
cd admin && npm install && npm run build && cd ..
# Выполнить новые миграции (если есть)
python scripts/migrate_knowledge_base.py # Пример
# Перезапустить
# Docker:
docker compose restart
# Локально:
# Остановите текущий процесс (Ctrl+C) и запустите заново
./start_cpu.sh# Проверьте логи
tail -50 logs/orchestrator.log
# Проверьте зависимости
./venv/bin/pip install slowapi # Частая причина: не установлен slowapi# Проверьте GPU
nvidia-smi
# Проверьте логи vLLM
tail -50 logs/vllm.log
# Первый запуск скачивает модель (~5-7GB) — подождите- RTX 3060 и выше — работает
- Для старых GPU используйте OpenVoice или CPU режим с Piper TTS
# Пересоберите
cd admin && npm install && npm run build && cd ..
# Проверьте что файлы на месте
ls admin/dist/index.htmlRedis опционален. Система работает и без него — в логах будет предупреждение, но всё функционирует.