This commit is contained in:
root
2025-10-05 02:56:17 +05:00
parent 18a363f772
commit 3caf1cce28
17 changed files with 1571 additions and 78 deletions
+119
View File
@@ -0,0 +1,119 @@
# Резюме реализации AI-агента для генерации PDF-отчётов
## Выполненные задачи
### ✅ 1. Создание DTO классов
- `DeepResearchRequest.java` - для запросов к deep-research API
- `DeepResearchResponse.java` - для ответов от deep-research API
- `ResearchReportRequest.java` - для валидации входящих запросов
### ✅ 2. Реализация HTTP клиента
- `DeepResearchService.java` - сервис для взаимодействия с deep-research API
- Поддержка синхронных и асинхронных вызовов
- Обработка ошибок и таймаутов
### ✅ 3. Генерация PDF отчётов
- `ResearchPdfService.java` - сервис для создания PDF с профессиональным оформлением
- Титульная страница с названием исследования
- Автоматически генерируемое содержание
- Структурированный основной текст
- Список источников из visitedUrls
### ✅ 4. Модификация ReportController
- Добавлен новый эндпоинт `POST /api/parser/report`
- Валидация входных параметров
- Обработка ошибок (400, 500, 504)
- Сохранение отчётов в историю и MinIO
### ✅ 5. Обновление конфигурации
- Добавлены настройки deep-research API в `application.properties`
- Добавлена зависимость Jackson в `pom.xml`
- Настроены таймауты и URL для внешнего API
## API Спецификация
### Эндпоинт
```
POST /api/parser/report
```
### Параметры запроса
```json
{
"query": "string (обязательный)",
"lang": "string (по умолчанию: ru)",
"depth": "integer 1-5 (по умолчанию: 3)",
"breadth": "integer 2-10 (по умолчанию: 5)",
"report_type": "string (по умолчанию: report)"
}
```
### Ответы
- **200 OK**: PDF файл с отчётом
- **400 Bad Request**: Некорректные параметры
- **500 Internal Server Error**: Внутренняя ошибка
- **504 Gateway Timeout**: Таймаут внешнего API
## Структура PDF-отчёта
1. **Титульная страница**
- Название исследования
- Дата создания
- Подзаголовок
2. **Содержание**
- Автоматически генерируемое оглавление
3. **Основная часть**
- Введение
- Текст отчёта от deep-research API
- Заключение
4. **Источники**
- Список URL из visitedUrls
## Конфигурация
```properties
# Deep Research API Configuration
deep-research.api.url=http://185.35.223.45:3051
deep-research.api.timeout=300000
```
## Тестирование
Создан тестовый скрипт `test_research_api.sh` для проверки функциональности.
## Документация
Создано подробное руководство `RESEARCH_API_GUIDE.md` с примерами использования.
## Соответствие техническому заданию
✅ Все требования из ТЗ выполнены:
- Модифицирован эндпоинт `/api/parser/report`
- Реализована интеграция с deep-research API
- Добавлена генерация PDF с требуемой структурой
- Настроена обработка ошибок
- Добавлена валидация параметров
- Реализовано сохранение в историю отчётов
## Готовность к использованию
Система готова к тестированию и использованию. Для запуска необходимо:
1. Убедиться, что deep-research API доступен
2. Запустить приложение
3. Отправить POST запрос на `/api/parser/report`