# Кейс 5. RAG с NeuronAI для аналитики событий и таймлайнов

#### Сценарий

У нас есть база событий (новости, аналитические заметки, корпоративные апдейты), где каждое событие содержит: дату, источник, краткое описание.

Пример запроса пользователя:

> “Как развивались санкции против IT-компаний в 2022 году?”

\
Цель:

* собрать релевантные события (Top-K)
* упорядочить их по времени
* сформировать контекст для генерации ответа
* полностью использовать инфраструктуру NeuronAI, показывая, как RAG выглядит как продакшен-система

#### Почему NeuronAI

NeuronAI здесь играет роль end-to-end RAG-платформы:

* автоматически делает chunking и эмбеддинги
* управляет хранением в векторном хранилище
* поддерживает retrieval, context building и генерацию LLM
* предоставляет удобный API для PHP

В отличие от LLPhant, где часть логики остаётся ручной, NeuronAI позволяет показать полностью собранную RAG-систему, которая легко масштабируется.

#### Архитектура пайплайна

\[PLACEHOLDER: схема RAG с NeuronAI – Events → Chunking → Embeddings → Vector Store → Context → LLM]

Пайплайн:

1. Загружаем события в NeuronAI
2. Система автоматически делит на чанки и создаёт embeddings
3. Chunks сохраняются в векторное хранилище NeuronAI
4. При запросе пользователя извлекаются Top-K релевантных фрагментов
5. NeuronAI собирает контекст и передаёт его в LLM
6. Генерируется ответ строго на основе контекста

#### Пример на PHP (NeuronAI)

```
use NeuronAI\Client;
use NeuronAI\Document;

$client = new Client(getenv('NEURONAI_API_KEY'));

// Загружаем события
$events = [
    ['date' => '2022-02-24', 'text' => 'США ввели ограничения на экспорт IT-оборудования в Россию.'],
    ['date' => '2022-03-10', 'text' => 'ЕС запретил поставку облачных сервисов ряду российских компаний.'],
];

foreach ($events as $e) {
    $client->documents()->add(new Document($e['text'], metadata: ['date' => $e['date']]));
}

// Запрос пользователя
$query = "Как развивались санкции против IT-компаний в 2022 году?";

// Получаем ответ через NeuronAI RAG
$response = $client->rag()->ask(
    query: $query,
    topK: 5,
    sortBy: 'date' // хронология
);

echo $response->answer;
```

#### Что важно подчеркнуть

* NeuronAI управляет всей инфраструктурой: embeddings, retrieval, context, LLM
* Контроль над prompt и порядком контекста остаётся доступным, но вручную вмешиваться почти не нужно
* Отличие от предыдущих кейсов: здесь мы видим RAG как систему, готовую к продакшену, а не как учебный пример

#### Вывод

* Кейс показывает путь: от ручной реализации (чистый PHP) → LLPhant → NeuronAI
* Читатель видит разницу между «ручной инженерией» и «платформенным решением»
* Это кульминация главы о RAG: архитектура важнее фреймворка, но фреймворк ускоряет и стандартизирует
