a68331c86b
- PROJECT_STATUS: что сделано (черновики, версии, разбор, каталог) и планы - DEV_CONTOUR_USER_GUIDE: сценарии для проверяющих на dev-стенде - README, ТЗ, card1, журнал, бэклоги, шаги 01–11+README, спринты, TEST_TABLES: ссылки и примечания - backend/PROGRESS: ссылка на PROJECT_STATUS Made-with: Cursor
95 lines
2.3 KiB
Markdown
95 lines
2.3 KiB
Markdown
# Шаг 10: AI-помощник (DeepSeek)
|
|
|
|
## Цель
|
|
|
|
Интегрировать LLM DeepSeek для помощи при создании тестов.
|
|
|
|
---
|
|
|
|
## Задачи
|
|
|
|
### 10.1. Настройка API
|
|
|
|
- Сохранить API ключ DeepSeek в таблице `settings`
|
|
- Ключ хранится только на бэкенде, не передаётся на фронтенд
|
|
|
|
### 10.2. Функции AI-помощника
|
|
|
|
#### Генерация теста
|
|
|
|
| Эндпоинт | Метод | Описание |
|
|
|----------|-------|----------|
|
|
| `/api/ai/generate-test` | POST | Сгенерировать тест |
|
|
|
|
**Запрос:**
|
|
```json
|
|
{
|
|
"topic": "Оказание первой помощи",
|
|
"question_count": 10
|
|
}
|
|
```
|
|
|
|
**Ответ:** готовый тест с вопросами и вариантами ответов
|
|
|
|
#### Улучшение формулировки
|
|
|
|
| Эндпоинт | Метод | Описание |
|
|
|----------|-------|----------|
|
|
| `/api/ai/improve-question` | POST | Улучшить вопрос |
|
|
|
|
**Запрос:**
|
|
```json
|
|
{
|
|
"question": "Что делать при переломе?"
|
|
}
|
|
```
|
|
|
|
#### Добавление дистракторов
|
|
|
|
| Эндпоинт | Метод | Описание |
|
|
|----------|-------|----------|
|
|
| `/api/ai/add-distractors` | POST | Добавить неправильные варианты |
|
|
|
|
**Запрос:**
|
|
```json
|
|
{
|
|
"question": "Признаки инфаркта:",
|
|
"correct_answer": "Боль в груди",
|
|
"count": 3
|
|
}
|
|
```
|
|
|
|
#### Проверка качества
|
|
|
|
| Эндпоинт | Метод | Описание |
|
|
|----------|-------|----------|
|
|
| `/api/ai/check-quality` | POST | Проверить качество теста |
|
|
|
|
**Запрос:**
|
|
```json
|
|
{
|
|
"test": { ... }
|
|
}
|
|
```
|
|
|
|
**Ответ:** рекомендации по улучшению
|
|
|
|
### 10.3. Обработка ошибок
|
|
|
|
- Timeout при длительном ответе API
|
|
- Логирование ошибок
|
|
- Fallback при недоступности DeepSeek
|
|
|
|
---
|
|
|
|
## Результат
|
|
|
|
- AI-генерация вопросов
|
|
- Улучшение формулировок
|
|
- Рекомендации по качеству
|
|
|
|
|
|
---
|
|
|
|
*Актуальная привязка к коду: [../PROJECT_STATUS.md](../PROJECT_STATUS.md) · индекс шагов: [README.md](README.md).*
|