# SUNT — бекенд Серверная часть системы мета-мониторинга качества ответов больших языковых моделей. ## Структура проекта ``` sunt-backend/ ├── server.py # Точка входа, FastAPI-приложение ├── services/ │ ├── yandex.py # Обёртка над Яндекс Cloud API │ └── meta_prompt.py # Промпты для модели ├── frontend/ # Сюда кладёшь файлы фронтенда │ ├── index.html │ ├── styles.css │ └── app.js ├── .env # API-ключ (не коммитить в git!) ├── .env.example # Шаблон для .env ├── requirements.txt └── README.md ``` ## Установка и запуск ### 1. Создать виртуальное окружение ```bash python -m venv venv # Windows venv\Scripts\activate # Linux / macOS source venv/bin/activate ``` ### 2. Установить зависимости ```bash pip install -r requirements.txt ``` ### 3. Создать файл .env ```bash cp .env.example .env ``` Открыть `.env` и вписать свой API-ключ: ``` YANDEX_API_KEY=ваш_апи_ключ YANDEX_FOLDER_ID=b1g86m7ujd7bebiuah91 ``` ### 4. Положить файлы фронтенда Скопировать `index.html`, `styles.css`, `app.js` в папку `frontend/`. ### 5. Запустить сервер ```bash uvicorn server:app --host 0.0.0.0 --port 3000 --reload ``` После этого открыть в браузере: [http://localhost:3000](http://localhost:3000) Флаг `--reload` позволяет серверу автоматически перезапускаться при изменении кода — удобно при разработке. На продакшен-сервере его убрать. ## Деплой на сервер Команда для запуска на сервере (без автоперезагрузки, с несколькими воркерами): ```bash uvicorn server:app --host 0.0.0.0 --port 3000 --workers 2 ``` Если используется nginx как reverse proxy, проксировать на `localhost:3000`. ## API ### POST /api/message Единственный эндпоинт. Принимает JSON двух видов. **Стандартный запрос:** ```json { "type": "standard_request", "user_request": "Текст запроса пользователя", "mode": "standard" } ``` **Запрос мета-мониторинга:** ```json { "type": "meta_monitoring_request", "user_request": "Текст исходного запроса пользователя", "model_answer": "Текст ответа стандартной модели", "mode": "meta_monitoring" } ```