Abstract: This paper considers the knowledge graph as a method for dynamically expanding the context of large language models (LLM) without their complete retraining. The aim of the work was to develop the architecture of a knowledge graph-based system and conduct a comparative evaluation of its effectiveness relative to hybrid search (RAG + BM25) on a real text corpus. We describe the architecture of a triplet extraction system based on two system prompts with a single closed dictionary of entity types and predicates, as well as mechanisms for entity normalization and triplet validation. Triplet extraction was performed by the GigaChat 2 Max model using fragment batch transmission and system prompt caching. The graph was stored in the Neo4j DBMS with the Cypher query language. A comparative experiment was conducted between graph search (Graph RAG) and hybrid search on a corpus of 300 fragments and 7 text questions, assessed using the RAGAS library metrics. It was shown that the integral metrics of both approaches are comparable. However, the graph approach demonstrates a consistent qualitative advantage for questions requiring multi-step reasoning along chains of relationships between named entities. When relevant context is missing, the graph clearly signals this, whereas hybrid search returns thematically related fragments that do not answer the question. The cost of constructing a graph index is approximately 85 times higher than that of vector indexing; the use of batching and system prompt caching reduces costs by 17%. It is concluded that the knowledge graph is a feasible structural complement to hybrid search in systems with high requirements for the accuracy of relational knowledge retrieval.
Keywords: knowledge graph, RAG, hybrid search, LLM, context extension, Neo4j, Cypher, RAGAS
Введение
Большие языковые модели (Large Language Models, LLM) очень часто применяются для решения прикладных задач. Несмотря на широту охватываемых знаний, подобные модели по своей природе не способны адаптироваться к узкоспециализированным предметным областям и не располагают актуальными сведениями о событиях, произошедших после даты завершения их обучения. Между тем окружающая информационная среда изменяется непрерывно – как на технологическом, так и на геополитическом уровне.
Для решения данной проблемы активно развиваются методы динамического расширения контекста модели без её полного переобучения. Среди них выделяют подход на основе поиска с дополнением (Retrieval-Augmented Generation, RAG), полнотекстовый поиск и их комбинацию – гибридный поиск. Принципиально иным механизмом расширения контекста является граф знаний (knowledge graph), который рассматривается в настоящей работе в качестве альтернативы RAG-ориентированным подходам.
Векторный поиск и подход RAG
В системе RAG поиск работает с использованием эмбеддингов, которые обеспечивают сжатое семантическое представление документа. Эмбеддинг выражается в виде вектора чисел. В процессе индексирования каждый документ разбивается на более мелкие фрагменты, которые преобразуются в эмбеддинг с помощью модели эмбеддинга. Затем исходный фрагмент и эмбеддинг индексируются в базе данных. Если фрагменты слишком малы, на некоторые вопросы нельзя ответить, если фрагменты слишком длинны, то ответы будут содержать генерируемый шум [1].
Основные ограничения RAG заключаются в том, что он не учитывает связи между отдельными фрагментами документа, а также плохо справляется с вопросами требующих многоходовых рассуждений (Multi-hop Reasoning).
Полнотекстовый поиск
Полнотекстовый поиск или поиск, по ключевым словам, на основе алгоритма BM25 [2]. Запрос пользователя предварительно очищается от стоп-слов, после чего производится поиск по лексическому совпадению. Вместе с тем этот метод лишён семантического понимания. Также чувствителен к словоформам и опечаткам.
Гибридный поиск
Комбинирование векторного и полнотекстового поиска получило название гибридного поиска. Такой подход позволяет компенсировать недостатки каждого из методов в отдельности: семантическое сходство векторного поиска дополняется точностью лексического совпадения [3].
Тем не менее оба подхода объединяет общее структурное ограничение – отсутствие явного представления семантических связей между понятиями, которые содержатся в обрабатываемых текстах.
Граф знаний как метод расширения контекста
Граф знаний организует информацию в виде узлов (сущностей) и направленных рёбер (отношений между ними). Каждая сущность связана с соответствующими текстовыми фрагментами через их идентификаторы, хранящиеся в реляционной базе данных – это снижает избыточность и повышает гибкость [4].
Базовая единица – триплет «субъект-предикат-объект», где субъект (главная сущность с типом и атрибутами) соединён направленным предикатом с объектом. Триплеты извлекаются из фрагментов LLM по индексирующему промпту, а запросы разбираются поисковым промптом для графового поиска [5].
В отличие от векторного RAG, граф сохраняет явные семантические связи, обеспечивая более точный поиск для задач с отношениями между сущностями.
Правила формирования системных промптов
Система использует два промпта: индексирующий (извлечение триплетов из фрагментов) и поисковый (разбор запросов). Обязательное условие – идентичные словари типов сущностей и предикатов, адаптированные под конкретную предметную область (ML, юриспруденция, медицина). Несоответствие словаря приведет к отсутствию результатов поиска. Выход строго в JSON по шаблону (рис 1). Ускорение формирования графа через батчинг с сохранением chunk_id.
References
1. Barnett S., Kurniawan S., Thudumu S., Brannelly Z., Abdelrazek M. Seven Failure Points When Engineering a Retrieval Augmented Generation System // arXiv preprint arXiv:2401.05856v1 [cs.SE]. – 2024. – URL: https://arxiv.org/html/2401.05856v1 (дата обращения: 18.03.2026).2. Lù X.H. BM25S: Orders of magnitude faster lexical search via eager sparse scoring // arXiv preprint arXiv:2407.03618. – 2024. – URL: https://arxiv.org/pdf/2407.03618 (дата обращения: 18.03.2026).
3. Sultania D., Lu Z., Naik T. et al. Domain-specific Question Answering with Hybrid Search // arXiv preprint arXiv:2412.03736v2. – 2024. – URL: https://arxiv.org/html/2412.03736v2 (дата обращения: 19.03.2026).
4. Hogan A., Blomqvist E., Cochez M. et al. Knowledge Graphs // arXiv preprint arXiv:2003.02320. – 2021. – URL: https://arxiv.org/pdf/2003.02320 (дата обращения: 15.03.2026).
5. Wesslund D., Stenström V., Linde P., Holmberg A. LLM-based Triplet Extraction from Financial Reports // arXiv preprint arXiv:2602.11886v1. – 2026. – URL: https://arxiv.org/html/2602.11886v1 (дата обращения: 23.03.2026).
6. Richardeau G., Chali S., Le Merrer E., Penzo C., Tredan G. LLMs Prompted for Graphs: Hallucinations and Generative Capabilities // arXiv preprint arXiv:2409.00159v3. – 2025. – URL: https://arxiv.org/html/2409.00159v3 (дата обращения: 23.03.2026).
7. Tang L., Dou W., Zheng Y. et al. Proving Cypher Query Equivalence // arXiv preprint arXiv:2504.15742. – 2025. – URL: https://arxiv.org/pdf/2504.15742 (дата обращения: 24.03.2026).
8. pgvector: Open-source vector similarity search for Postgres [Электронный ресурс] // GitHub. – URL: https://github.com/pgvector/pgvector (дата обращения: 24.03.2026).
9. PostgreSQL Documentation: Parsing Queries [Электронный ресурс] // PostgreSQL. – URL: https://www.postgresql.org/docs/current/textsearch-controls.html (дата обращения: 24.03.2026).
10. Pan H., Zhang Q., Adamu M., Dragut E.C., Latecki L.J. Taxonomy-Driven Knowledge Graph Construction for Domain-Specific Scientific Applications // Findings of the Association for Computational Linguistics: ACL 2025. – 2025. – URL: https://aclanthology.org/2025.findings-acl.223.pdf (дата обращения: 10.03.2026).
11. Zhang J. Entity Normalization in Knowledge Graphs: Solving the Fragmentation Problem [Электронный ресурс] // LinkedIn. – 2026. – URL: https://www.linkedin.com/posts/jzhang-ai_how-knowledge-graphs-are-really-built-8-activity-7420133178490662912-SuCz (дата обращения: 15.03.2026).
12. Cypher Manual v5.15: Introduction to Cypher [Электронный ресурс] // Neo4j Documentation. – URL: https://neo4j.com/docs/cypher-manual/current/introduction/cypher-neo4j/ (дата обращения: 18.03.2026).
13. Тарифы GigaChat [Электронный ресурс] // СберДевелоперс. – URL: https://developers.sber.ru/docs/ru/gigachat/tariffs/legal-tariffs (дата обращения: 20.03.2026).
14. Кеширование запросов [Электронный ресурс] // СберДевелоперс. – URL: https://developers.sber.ru/docs/ru/gigachat/guides/keeping-context (дата обращения: 25.03.2026).
15. RAGAS: Retrieval Augmented Generation Assessment [Электронный ресурс] // RAGAS Documentation. – URL: https://docs.ragas.io/en/stable/ (дата обращения: 25.03.2026).
