Graph RAG позволил моделям с 2 млрд параметров решить задачу, которую без графа не решила ни одна
Graph RAG (граф знаний для поиска по документам, дополняющий генерацию) позволяет даже компактным моделям с 2-8 миллиардами параметров решать сложные многоходовые вопросы, на которых обычный поиск по ключевым словам стабильно ошибается, и вот как это повторить на своём железе.

Тест на четырёх локальных моделях показал: без графа ни одна не дала верный ответ, с графом справились все, включая крохотную Gemma-4-e2b, при этом потребление токенов сократилось примерно в 3,5 раза, а скорость выросла примерно в 2,9 раза.
Энтузиаст воспроизвёл эксперимент из короткого ролика на YouTube, где автор сравнивал обычный RAG (retrieval-augmented generation, когда модель ищет ответ по набору текстов) и Graph RAG (когда те же тексты предварительно размечены как граф с сущностями и связями). Исходный тест использовал облачные модели Anthropic: Claude Haiku, Sonnet и Fable 5. Воспроизводящий автор справедливо заметил, что даже «маленькая» Haiku по возможностям далека от того, что реально запускается на потребительском железе, и повторил опыт на моделях размером от 2 до 20 миллиардов параметров, которые физически помещаются в видеокарту или ноутбук.
Какую задачу решает Graph RAG в этом тесте?
Модель должна ответить на вопрос: «Кто должен подписать возврат клиенту на 800 фунтов в марте?». Правильный ответ: Marcus Webb. Но информация для него разбросана по трём документам:
- Инструкция по возвратам (
customer-ops-handbook.md): возвраты свыше 500 фунтов подписывает Operations Manager, но имени там нет - Список сотрудников (
team.md): Operations Manager это Sarah Chen, а фамилия Маркуса (Webb) тоже хранится здесь - Письмо об отпуске (
ooo-march-sarah.md): в марте Sarah Chen в отпуске, документы за неё подписывает Marcus
Ни в одном из этих файлов нет пересечения по ключевым словам «refund», «£800» и имени того, кто реально подписывает. Обычный поиск по ключевым словам ведёт модель к устаревшему файлу refunds-policy-2024-superseded.md, где пороги другие, роль другая и в шапке стоит пометка «superseded January 2026». Ещё одна ловушка: файл expenses.md тоже содержит слова «£500» и «approval», но речь в нём о командировках.
Многоходовое рассуждение (multi-hop reasoning, когда для ответа нужно последовательно связать факты из нескольких мест) здесь обязательно. Graph RAG решает проблему тем, что связи между сущностями (должность, человек, статус замещения) уже размечены до вызова модели.
Что понадобится
- Компьютер с GPU от 16 Гб видеопамяти или MacBook с 24 Гб оперативной памяти (в тесте: Nvidia RTX 4070 Ti Super 16 Гб и MacBook Air M2 24 Гб)
- LM Studio или HuggingFace для запуска моделей локально
- Модели в квантизации (сжатии весов для экономии памяти): автор использовал GPT-OSS-20b (mxfp4), Gemma-4-e2b (8bit), Llama 3.1 8b (4bit), xLAM-2-8b (8bit)
- Набор тестовых документов, размеченных как граф: онтология (описание типов сущностей и связей) плюс front-matter (метаданные в начале каждого файла с указанием сущностей и связей)
- Код для извлечения сущностей и связей из графа: детерминированный запрос на примерно 400 токенов, который выполняется до вызова модели
- Контекстное окно: 8 тысяч токенов (токен, это примерно три четверти слова, единица, которой модель измеряет текст)
- Репозиторий автора оригинального эксперимента на GitHub (ссылка указана в описании исходного материала)
- Время: около часа на настройку, если модели уже скачаны
Пошаговая инструкция
-
Скачайте и запустите модель локально. В LM Studio или через HuggingFace загрузите одну из моделей, умещающихся в вашу память. Для 16 Гб видеопамяти подойдут модели до 20 миллиардов параметров в квантизации 4bit. Установите контекстное окно в 8 тысяч токенов.
-
Подготовьте корпус документов. Создайте папку с текстовыми файлами. Включите и релевантные (инструкция, список сотрудников, письма), и нерелевантные (устаревшие политики, файлы про командировки). Это важно: ловушки проверяют, способна ли модель отсеивать шум.
-
Разметьте тексты как граф. Добавьте в каждый файл front-matter с указанием сущностей (люди, должности, суммы, даты) и связей между ними. Создайте файл онтологии, описывающий типы узлов и рёбер. Структура подробно описана в репозитории автора оригинального эксперимента.
-
Напишите детерминированный запрос для извлечения подграфа. Этот код выполняется до обращения к модели: он находит в графе узлы и связи, релевантные вопросу, и формирует из них текстовый контекст примерно на 400 токенов. Модель получает уже готовую выжимку связей, а не весь корпус.
# Псевдокод: извлечение подграфа до вызова LLM
question = "Кто должен подписать возврат на 800 фунтов в марте?"
entities = extract_entities(question) # refund, сумма, март
subgraph = knowledge_graph.query(entities, depth=2) # 2 хопа по связям
context = format_subgraph_as_text(subgraph) # ~400 токенов
answer = llm.generate(system_prompt + context + question)
-
Прогоните тест сначала без графа (обычный поиск по файлам), потом с графом. Сравните ответы, количество токенов и время. Это даст вам конкретное понимание разницы на вашем железе и вашей модели.
-
Проверьте ответ по цепочке рассуждений. Правильный ответ для тестового набора: Marcus Webb. Если модель остановилась на должности (Operations Manager) или на имени штатного сотрудника (Sarah Chen), значит, граф не дотянул связь до замещения.
Что показали результаты на локальных моделях?
Все четыре модели запускались на MacBook Air M2 24 Гб. Вот что получилось.
Без графа ни одна модель не дала правильный ответ:
- GPT-OSS-20b нашла только должность и остановилась
- Llama 3.1 8b начала извиняться за неточность и предлагала искать дальше, но ответа не дала
- Gemma-4-e2b назвала должность, но не дошла до имени замещающего
- xLAM-2-8b (модель от Salesforce) выдумала название несуществующего файла и начала в нём искать
С Graph RAG все четыре ответили верно: Marcus Webb. Даже крохотная Gemma-4-e2b справилась.
Показательная деталь: GPT-OSS-20b выдавала на этом железе около 200 токенов в секунду, что делает её практически пригодной для продуктивного использования. Но скорость инференса (процесса генерации ответа моделью) не помогла без графа: быстрая модель просто быстрее выдала неправильный ответ.
Вопрос модели: «Кто должен подписать возврат клиенту на 800 фунтов в марте?»
Ответ GPT-OSS-20b без графа: «The Operations Manager must sign off an £800 refund before Finance processes the payment.» Модель нашла должность, но не имя и не факт замещения.
Ответ GPT-OSS-20b с графом: «Marcus Webb.» Два слова, и оба правильные.
Ответ Llama 3.1 8b с графом: «Sarah Chen, the Ops Manager, and Marcus Webb. The refund needs to be signed off by Sarah Chen as she is the Ops Manager, and Marcus Webb has full operational authority during her March leave.» Модель не просто назвала имя, а объяснила всю цепочку рассуждений.
Экономия токенов составила в среднем 3,5 раза, скорость выросла в среднем в 2,9 раза: граф отсекает нерелевантные документы ещё до вызова модели.
Граф без ловушек не тестирует ничего. Если убрать из корпуса устаревший файл с другими порогами и файл про командировки, обычный поиск тоже справится. Ловушки это часть методологии, без них вы не увидите реальную разницу.
Глубина обхода графа имеет значение. В этом тесте нужны минимум два хопа (шага по связям): от суммы к должности, от должности к человеку, от человека к замещающему. Если ваш запрос берёт только прямых соседей, цепочка оборвётся.
Не путайте квантизацию с качеством. Модель в 4bit квантизации (сильное сжатие) теряет часть точности. Gemma-4-e2b в 8bit справилась с графом, но это не значит, что любая 2-миллиардная модель в 4bit сделает то же. Проверяйте на своих задачах.
xLAM-2-8b в тесте выдумала несуществующий файл, чтобы начать в нём поиск. Это типичная галлюцинация (когда модель уверенно генерирует то, чего не существует). Для продуктивных задач такие модели нужно проверять с особой тщательностью.
Контекстное окно 8 тысяч токенов это ограничение. Если ваш реальный корпус документов большой, подграф может не уместиться. Продумывайте, как именно извлекать и сжимать контекст до передачи модели.
Что делать с этим прямо сейчас, по ролям
Автору Дзена: если вы ведёте канал с большим архивом материалов и хотите, чтобы ИИ-помощник находил связи между старыми публикациями (например, «в какой статье я упоминал этот приём и к чему он привёл»), Graph RAG это именно тот подход. Разметьте свои тексты сущностями (темы, имена, даты, результаты) и попробуйте на локальной модели.
Маркетологу: для работы с внутренними базами знаний компании (регламенты, переписки, справочники сотрудников) Graph RAG решает задачу, которую обычный поиск проваливает: «кто отвечает за это решение, если основной человек недоступен». Это прямой путь к внутреннему ИИ-ассистенту, который реально экономит время.
Предпринимателю из РФ: все модели из теста доступны бесплатно и запускаются локально, без облака и без подписок. Данные не покидают ваш компьютер. Из российских инструментов, YandexGPT и GigaChat пока не поддерживают локальный запуск в таком формате, но подход с графом можно применить к любой открытой модели (модели с доступными весами, которые можно скачать и запустить у себя).
Главный вывод этого эксперимента для меня не в том, что Graph RAG работает лучше обычного поиска. Это ожидаемо: структурированные связи всегда выигрывают у слепого перебора. Вывод в другом: модель размером 2 миллиарда параметров на ноутбуке за 100 тысяч рублей справилась с задачей, которую без графа не осилила модель в 10 раз больше.
Это практический аргумент для тех, кто считает, что локальные модели бесполезны. Они бесполезны, если кормить их сырым текстом. Если предварительно выстроить граф связей, даже компактная модель рассуждает по цепочке.
Честная оговорка: тест проведён на одном конкретном сценарии с пятью файлами. На реальном корпусе из сотен документов построение и поддержание графа это отдельная инженерная задача, которая потребует времени и навыков. Graph RAG не волшебная кнопка, а архитектурное решение, требующее вложений на старте.
Попробуйте ИИ-инструменты dzen.guru
Мы тестируем нейросети и делимся работающими приёмами для авторов, маркетологов и предпринимателей. Подпишитесь, чтобы не пропускать практические разборы.
ПодписатьсяТест с четырьмя локальными моделями показал простую вещь: дело не в размере модели, а в том, какие данные она видит до начала рассуждений. Graph RAG превращает слепой поиск в навигацию по связям, и даже двухмиллиардная модель на ноутбуке с этим справляется.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

LLM-конвейер молча теряет записи: три бага, которые не видны в сводке
Конвейеры на базе больших языковых моделей (LLM, от англ. Large Language Model) часто теряют записи так, что итоговые проверки показывают успех, а пользователь…
Профи.ру встроил LLM поверх Elasticsearch: 150 000 запросов в час без замены движка
Дмитрий, лид отдела семантики в Профи.ру, рассказал, как команда встроила языковую модель в поиск услуг поверх Elasticsearch, не выбрасывая классический…

Cursor отменяет подписки в России: как оплатить Cursor AI в России уже неважно, есть Codex за те же $20
Cursor начал отменять платные подписки пользователей из России: 5 сентября появились сообщения о письмах, в которых сервис ссылается на работу из запрещённого…
Комментарии