|
|
1 hónapja | |
|---|---|---|
| README.md | 1 hónapja |
Настоящий документ является руководством пользователя платформы ИИ-Академия — корпоративной системы развития профессиональных и личностных навыков сотрудников с применением искусственного интеллекта.
Использование документа
Документ предназначен для сотрудников организации, HR-менеджеров и системных администраторов, осуществляющих эксплуатацию и настройку платформы «ИИ-Академия».
«ИИ-Академия» применяется в корпоративной среде для автоматизации процессов обучения и оценки компетенций персонала. Система обеспечивает интерактивное взаимодействие сотрудника с ИИ-наставником в формате диалоговых тренажёров и позволяет HR-подразделениям отслеживать прогресс и формировать аналитику.
Типичные сценарии применения:
«ИИ-Академия» предоставляет следующие возможности:
employee / hr / admin.Пользователь должен обладать следующими знаниями и навыками:
bash, pip, npm).При эксплуатации системы «ИИ-Академия» следует руководствоваться:
README.md в репозитории проекта: https://gogs.itiscaf.ru/varukhin_na/ii-academyhttp://<адрес_сервера>:8000/docs«ИИ-Академия» — корпоративная платформа для развития soft-skills персонала с применением технологий искусственного интеллекта. Предназначена для организаций, заинтересованных в систематическом развитии компетенций сотрудников.
Архитектура системы включает три основных компонента:
Минимальные технические требования:
| Компонент | Требование |
|---|---|
| ОС сервера | Ubuntu 22.04+ / Windows 10+ / macOS 12+ |
| Python | 3.11 и выше |
| Node.js | 20 LTS и выше |
| PostgreSQL | 15 и выше |
| Браузер клиента | Chrome 110+, Firefox 110+, Edge 110+ |
| Разрешение экрана | Не менее 1280 × 720 пикселей |
Исходный код системы размещён в репозитории: https://gogs.itiscaf.ru/varukhin_na/ii-academy
Структура репозитория:
ii-academy/
├── backend/
│ ├── main.py # Точка входа FastAPI
│ ├── models.py # ORM-модели (SQLAlchemy)
│ ├── schemas.py # Pydantic-схемы
│ ├── auth.py # JWT-аутентификация
│ ├── config.py # Настройки из .env
│ ├── database.py # Подключение к PostgreSQL
│ ├── routers/ # Маршрутизаторы API
│ ├── services/ # Бизнес-логика и ИИ-провайдеры
│ ├── requirements.txt # Зависимости Python
│ ├── init_db_postgres.sql # Скрипт создания схемы БД
│ └── seed.py # Начальное заполнение БД
├── frontend/
│ ├── src/app/
│ │ ├── pages/ # Страницы приложения
│ │ ├── services/ # HTTP-клиент и аутентификация
│ │ └── guards/ # Защита маршрутов
│ └── package.json
└── README.md
[ ] 3.2.1. Получение исходного кода
git clone https://gogs.itiscaf.ru/varukhin_na/ii-academy.git
cd ii-academy
[ ] 3.2.2. Создание и настройка базы данных
createdb -U postgres soft_skills
psql -U postgres -d soft_skills -f backend/init_db_postgres.sql
[ ] 3.2.3. Настройка конфигурации бэкенда
Создайте файл backend/.env со следующим содержимым:
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/soft_skills
SECRET_KEY=your-secret-key-here
ACCESS_TOKEN_EXPIRE_HOURS=24
CORS_ORIGINS=*
# ИИ-провайдер: mock | gigachat | openai | ollama
LLM_PROVIDER=gigachat
GIGACHAT_AUTH_KEY=ваш_ключ_gigachat
GIGACHAT_SCOPE=GIGACHAT_API_PERS
GIGACHAT_VERIFY_SSL=false
Важно: Замените значение
SECRET_KEYна уникальную случайную строку перед развёртыванием в production.
[ ] 3.2.4. Установка зависимостей и запуск бэкенда
cd backend
pip install -r requirements.txt
python seed.py
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
[ ] 3.2.5. Установка зависимостей и запуск фронтенда
cd frontend
npm install
ng serve --open
Приложение откроется по адресу: http://localhost:4200
1. Проверка бэкенда:
Откройте Swagger-документацию: http://localhost:8000/docs — должен отобразиться интерактивный список API-эндпоинтов.
2. Проверка фронтенда:
Откройте браузер по адресу http://localhost:4200 — должна отобразиться страница входа в систему.
3. Проверка аутентификации:
Войдите с тестовыми данными:
| Роль | Пароль | |
|---|---|---|
| Сотрудник | employee@company.ru | emp123456 |
| HR-менеджер | hr@company.ru | hr123456 |
| Администратор | admin@company.ru | admin123 |
4. Запуск автоматических тестов:
cd backend
pytest tests/test_platform.py -v
При успешной установке все 17 тестов должны пройти со статусом PASSED.
Откройте браузер и перейдите по адресу http://localhost:4200. На странице входа введите корпоративный email и пароль, затем нажмите кнопку «Войти».
При успешной аутентификации система перенаправит вас на дашборд в соответствии с вашей ролью.
Пример обращения к API диалога:
import httpx
# Авторизация
resp = httpx.post(
"http://localhost:8000/api/auth/login",
data={"username": "employee@company.ru", "password": "emp123456"}
)
token = resp.json()["access_token"]
headers = {"Authorization": f"Bearer {token}"}
# Запуск сессии
session = httpx.post(
"http://localhost:8000/api/dialog/start",
json={"scenario_id": 1},
headers=headers
).json()
# Отправка сообщения
reply = httpx.post(
"http://localhost:8000/api/dialog/message",
json={"session_id": session["session_id"], "message": "Добрый день!"},
headers=headers
).json()
print(reply["ai_response"])
В разделе «Карта навыков» отображается прогресс освоения всех компетенций. Каждый навык имеет статус:
not_started — навык не начат (уровень 0%)in_progress — навык в процессе освоения (1–79%)mastered — навык освоен (80–100%)Перейдите в «HR-дашборд» → «Отчёты», выберите сотрудника или отдел, укажите период и нажмите «Сгенерировать». Готовый отчёт можно скачать в форматах PDF или DOCX.
Раздел «Администрирование» → «Пользователи» позволяет:
В разделе «Журнал событий» доступна полная история всех действий пользователей с фильтрацией по типу события, пользователю и периоду.
Симптом: страница входа не открывается, браузер показывает ошибку подключения.
Действия:
uvicorn запущен.curl http://localhost:8000/docs..env.uvicorn main:app --host 0.0.0.0 --port 8000 --reload.Симптом: при вводе корректных данных система возвращает ошибку аутентификации.
Действия:
Симптом: после отправки сообщения в тренажёре индикатор загрузки крутится более 30 секунд.
Действия:
LLM_PROVIDER в файле .env.GIGACHAT_AUTH_KEY (или ключа OpenAI).LLM_PROVIDER=mock — это включит демо-режим без реального ИИ.Симптом: при нажатии «Сгенерировать» кнопка неактивна или появляется ошибка.
Действия:
reportlab и python-docx (входят в requirements.txt).Симптом: после успешного входа отображается белая страница без содержимого.
Действия:
F5 для обновления страницы.Ctrl+Shift+Delete).ng serve.Начните с демо-режима. Установите LLM_PROVIDER=mock в файле .env — система будет работать без реального ИИ-провайдера, что позволит изучить интерфейс без настройки API-ключей.
Используйте тестовые учётные данные для проверки всех трёх ролей перед настройкой реальных пользователей.
Запустите автотесты после каждого изменения конфигурации:
pytest backend/tests/test_platform.py -v
Изучите Swagger-документацию по адресу http://localhost:8000/docs — там доступен полный список эндпоинтов с возможностью тестирования прямо из браузера.
Не храните секретные ключи (SECRET_KEY, GIGACHAT_AUTH_KEY) в репозитории. Используйте файл .env, который добавлен в .gitignore.
Регулярно создавайте резервные копии базы данных:
pg_dump -U postgres -Fc soft_skills > backup_$(date +%Y%m%d).dump
Для production-развёртывания замените --reload на запуск через gunicorn или systemd-сервис и настройте HTTPS через Nginx.
| Термин / Сокращение | Расшифровка и описание |
|---|---|
| ИИ | Искусственный интеллект |
| JWT | JSON Web Token — стандарт токенов для аутентификации пользователей |
| API | Application Programming Interface — программный интерфейс приложения |
| REST API | Архитектурный стиль взаимодействия компонентов через HTTP |
| HR | Human Resources — управление персоналом |
| СУБД | Система управления базами данных |
| Soft skills | Надпрофессиональные личностные навыки |
| Сессия | Одна диалоговая тренировка (завершённая или незавершённая) |
| Сценарий | Заданный скрипт диалога для отработки конкретного навыка |
| Компетенция | Измеримое умение, развиваемое в рамках платформы |
| Dashboard | Дашборд — сводная страница с ключевыми показателями |
| FastAPI | Python-фреймворк для создания REST API |
| Angular | TypeScript-фреймворк для создания веб-приложений |
| PostgreSQL | Реляционная СУБД, используемая для хранения данных платформы |
| GigaChat | ИИ-модель от Сбера, используемая в качестве основного провайдера |
| bcrypt | Алгоритм хэширования паролей |
mock-режим |
Режим работы без реального ИИ-провайдера (для тестирования) |
| № | Дата | Раздел | Описание изменения | Автор |
|---|---|---|---|---|
| 1 | 2026-05-20 | Все разделы | Первоначальное создание документа | Варухин Н. А. |
| 2 | 2026-05-22 | 3.2, 3.3 | Добавление чек-боксов и примеров кода | Варухин Н. А. |
| 3 | 2026-05-24 | 4.2 | Добавление примера Python-кода для API | Варухин Н. А. |
| 4 | 2026-05-26 | 5 | Дополнение раздела аварийных ситуаций | Варухин Н. А. |
| 5 | 2026-05-27 | Все разделы | Финальная редакция и форматирование | Варухин Н. А. |