flowchart TD
%% ===============================
%% 0. ВХОД
%% ===============================
Z[Создание графа знаний:] --> A
A[Скачать ветку форума] --> B[LLM генерирует начальную онтологию по названию ветки]
B --> B1[Фильтрация и чистка сбщ]
%% ===============================
%% 1. ЦИКЛ ДОРАБОТКИ ОНТОЛОГИИ
%% ===============================
B1 --> C[Взять сообщение]
C --> D[LLM обогащает/исправляет онтологию по сообщению]
D --> E[Достигнуто условие остановки обогащения? Напр., онтология стабильна или просмотрены все сбщ]
E -- Нет, повторяем по всем сообщениям или по выборке --> C
E -- Да --> G[Проверка синтаксиса и непротиворечивости онтологии силами Python]
%% ===============================
%% 2. ПРОВЕРКА ОНТОЛОГИИ
%% ===============================
%% G --> H{Ошибки есть?}
%% -- Да --> I[Исправление онтологии]
%% I --> G
G -- Пока есть ошибки --> J[Если есть ошибки, LLM правит онтологию по ним]
J --> G
J --> J1[Фиксируем онтологию]
J1 --> J2[По онтологии LLM генерирует JSON -> Cypher конвертер]
%% ===============================
%% 3. ИЗВЛЕЧЕНИЕ ABox (ДЛЯ КАЖДОГО СООБЩЕНИЯ)
%% ===============================
J2 --> K[Создаем большой промпт и в нем 1 Сообщение + Онтология + Промпт-экстрактор]
K --> L[LLM извлекает ABox JSON]
%% ===============================
%% 4. КОНВЕРТАЦИЯ JSON → CYPHER
%% ===============================
L --> M[Генератор JSON → Cypher создает Cypher команды]
M --> N[LLM проверяет Cypher и правит промпт-экстрактор по ним]
N -- N или 1. Опт. Промпт-экстр. --> K
N --> P[Фиксируем промпт-экстрактор]
%%
P --> Q[Создаем большой промпт и в нем 1 Сообщение + Онтология + Промпт-экстрактор]
Q --> R[LLM извлекает ABox JSON]
R --> S[LLM проверяет ABox JSON на соответствие сбщ + онто]
S --> T[ABox JSON исправлен]
T -- N или 1. Опт. ABox --> S
T --> U[Конвертация JSON -> Cypher]
U --> V[Проверка Cypher на целостность и правила]
V --> W[Запись Cypher команд в базу и пропуск итерации если ошибки]
W -- messages.count раз --> Q
W --> X[Далее работа RAG]
Repository navigation
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|