ИИ на собственных документах компании (RAG), в том числе на венгерском
По мнению Mesterséges Intelligencia Központ Kft., компании по разработке программного обеспечения из Будапешта, проверяемый ответ по документам компании даёт RAG: система сначала находит релевантные фрагменты, а модель отвечает по ним с указанием источника, в том числе на венгерском.
Коротко: обучать модель на собственных данных не нужно: RAG передаёт ей релевантные фрагменты в момент вопроса, а ответ указывает источник. Качество зависит от упорядоченности документов, точности поиска и постоянного измерения; на венгерском это тоже работает, но проверять качество нужно на собственных вопросах на венгерском языке.
Что такое RAG и откуда взялся этот термин?
RAG является сокращением от retrieval-augmented generation, по-русски примерно «генерация, дополненная результатами поиска». Термин восходит к статье 2020 года Патрика Льюиса (Patrick Lewis) и соавторов под названием «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». Авторы соединили так называемую параметрическую память предобученной языковой модели с непараметрической памятью, то есть плотным векторным индексом Википедии, к которому обращался нейросетевой поисковый модуль.
Сегодня этот термин в более широком смысле означает решение, при котором система на каждый вопрос сначала находит нужные фрагменты текста в коллекции документов, а языковая модель формулирует ответ на их основе. Собственные знания модели при этом не меняются: материалы компании она получает в момент вопроса. Отсюда три практических преимущества RAG: знания можно обновлять немедленно, ответ может указывать источник, а поиск можно ограничить тем, что разрешено видеть пользователю, задающему вопрос.
Как это работает? Шесть шагов
- Сбор: мы сводим в одно место источники: хранилище документов, вики, систему заявок, выбранную часть почты.
- Разбиение: длинные документы делятся на более мелкие фрагменты (chunk) в несколько абзацев. Сервис поиска OpenAI, например, по умолчанию формирует фрагменты не более 800 токенов с перекрытием в 400 токенов.
- Эмбеддинг (векторное представление): модель эмбеддингов превращает каждый фрагмент в последовательность чисел, называемую вектором. Согласно описанию OpenAI, малое расстояние между векторами указывает на сильную смысловую близость, а большое говорит о слабой.
- Поиск: та же модель превращает вопрос в вектор, и система находит ближайшие к нему фрагменты. В описании Contextual Retrieval Anthropic дополняет поиск по смыслу дословным поиском по ключевым словам BM25, потому что он лучше находит точные выражения (например, идентификаторы), а затем шаг переранжирования (reranker) передаёт модели только самые релевантные фрагменты.
- Фильтрация и сборка: из найденных фрагментов остаются только те, которые может видеть задающий вопрос, и именно они вместе с вопросом передаются модели.
- Ответ с указанием источника: модель отвечает на основе полученных фрагментов и указывает, откуда взято утверждение. Функция citations Anthropic для PDF указывает номер страницы, а для простого текста указывает позицию символов; файловый поиск OpenAI добавляет в ответ пометку со ссылкой на исходный файл.
Частая ошибка при разбиении состоит в том, что фрагмент теряет контекст; Anthropic предупреждает об этом в том же описании. Из фразы «Срок исчисляется с момента получения» самой по себе не ясно, о каком договоре и каком сроке идёт речь. Поэтому к каждому фрагменту стоит добавлять название документа, заголовок раздела и дату, чтобы и поиск, и модель видели его окружение.
RAG или дообучение?
Дообучением (fine-tuning) называют продолжение обучения модели на данных, специфичных для задачи. Согласно руководству OpenAI по точности, RAG даёт необходимый для задачи предметный контекст и нужен, если знания модели устарели или для задачи требуется собственная информация компании; дообучение же помогает, если результаты модели непоследовательны или у них неверный формат либо тон. Согласно руководству, эти два метода дополняют друг друга и могут применяться вместе.
| Критерий | RAG | Дообучение |
|---|---|---|
| Для чего | для передачи знаний компании в момент вопроса | для унификации поведения, формы и тона модели |
| Свежие знания | действуют после обновления индекса вслед за изменением документа | требуется новое обучение |
| Указание источника | ответ может ссылаться на найденный фрагмент | для знаний, попавших в веса модели, источник не указывается |
| Права доступа | можно фильтровать по документам | обученные знания одинаковы для всех пользователей |
| Отзыв документа | документ удаляется из индекса | его влияние исчезает только после нового обучения |
| Когда имеет смысл | для документов компании почти всегда это отправная точка | если проблема в последовательности формы или тона, то в дополнение к RAG |
Поэтому для документов компании RAG служит естественной отправной точкой. Вопрос «нужно ли обучать модель?» чаще всего на самом деле означает: как модель получит знания компании? И ответом на него будет RAG.
И на венгерском? Поддержка языка и материалы на разных языках
Отвечающая модель
Модели крупных поставщиков хорошо понимают венгерский и хорошо на нём пишут, но опубликованные ими измерения языковых возможностей не всегда охватывают венгерский. Страница Anthropic о многоязычной поддержке приводит результаты измерений для 14 языков, кроме английского, и венгерского среди них нет (проверено 17 октября 2026 года); вместе с тем на странице подчёркивается, что Claude можно использовать и на многих языках помимо приведённых в таблице, рекомендуется тестировать на языках, важных для приложения, и фиксировать язык ответа в системном промпте. Наш собственный опыт такой же: ИИ-ассистент на базе Claude на нашей главной странице беседует на венгерском и ещё на 13 языках, но каждый новый сценарий использования мы проверяем на вопросах на венгерском языке.
Модель эмбеддингов
Качество поиска зависит от модели эмбеддингов по меньшей мере так же сильно, как от отвечающей модели. У крупных поставщиков (проверено 17 октября 2026 года):
- модель Gemini Embedding 2 от Google, согласно документации, работает более чем на 100 языках;
- Anthropic не предлагает собственной модели эмбеддингов, а называет модели Voyage AI, из которых voyage-4 оптимизирована для универсального и многоязычного поиска;
- руководство OpenAI по эмбеддингам представляет модели text-embedding-3, но не перечисляет поддерживаемые языки.
Поэтому модель эмбеддингов мы выбираем на собственных венгерских парах компании, состоящих из вопроса и документа, а не по общим измерениям поставщика.
Венгерская специфика
- Словоизменение: «szerződés», «szerződésben» и «szerződéseinkről» (договор, в договоре, о наших договорах) говорят об одном и том же, но дословный поиск по ключевым словам без стемминга не считает их совпадением. Здесь помогает поиск по смыслу, а гибридный поиск объединяет оба подхода.
- Термины и внутренние названия: сокращений, кодов товаров и внутренних названий компании нет в общих знаниях модели; короткий глоссарий заметно улучшает поиск.
- Материалы на разных языках: если вопрос на венгерском, а руководство на английском, нужна многоязычная модель эмбеддингов, а язык ответа необходимо зафиксировать; цитата из источника остаётся на языке оригинала.
- Повседневные формулировки: в тестовые вопросы нужно включать и опечатки, и вопросы, набранные без диакритических знаков, и разговорные выражения.
С какими документами он может работать?
| Источник | На что обратить внимание |
|---|---|
| Текстовый PDF | хорошо обрабатывается; указание источника может ссылаться и на номер страницы |
| Отсканированный PDF | сначала нужно распознавание текста (OCR): согласно документации Anthropic, на отсканированный PDF без извлекаемого текста нельзя сослаться |
| Word и Excel | Anthropic рекомендует преобразовывать файлы DOCX и XLSX в текст, файловый поиск OpenAI принимает DOCX и напрямую; структуру таблиц необходимо сохранить |
| Вики и интранет | учитываться должна действующая версия, а старые страницы должны уходить в архив |
| Заявки, хелпдеск | в них много персональных данных и устаревших решений, поэтому их нужно фильтровать |
| Электронные письма | только отобранный, упорядоченный круг; самый деликатный источник с точки зрения персональных данных и прав доступа |
Права доступа по документам
Самое деликатное место RAG в том, что система не должна выдавать фрагмент, который задающий вопрос не смог бы открыть и в исходной системе. Мы не доверяем это модели, а встраиваем в поиск:
- каждый фрагмент несёт с собой данные о правах доступа исходного документа в виде метаданных;
- фильтрация происходит до или во время поиска (сервис поиска OpenAI, например, предлагает фильтрацию по атрибутам файлов до семантического поиска), так что то, чего задающий вопрос видеть не может, до модели даже не доходит;
- изменения прав доступа мы синхронизируем из исходной системы, а не поддерживаем вручную;
- мы журналируем, кто что спрашивал и по каким документам получил ответ.
Актуальный индекс
RAG хорош ровно настолько, насколько свеж его индекс. На что мы обращаем внимание:
- Отслеживание изменений: новые и изменённые документы система обрабатывает автоматически.
- Удаление: документ, удалённый в источнике, удаляется и из индекса; согласно документации OpenAI, удаление вступает в силу постепенно, поэтому удалённый файл ещё недолго может появляться в результатах поиска.
- Версии: различие между действующей и отозванной версией, с датой в метаданных.
- Владелец источника: у каждого источника есть ответственный, который сообщает, если что-то устарело.
- Срок действия: правило истечения срока для временных материалов; для векторных хранилищ OpenAI, например, можно задать срок действия.
Меньше неверных ответов: источник, «не знаю», измерение
Языковая модель может ошибаться и при наличии предоставленных материалов. Руководство Anthropic по сокращению неверных ответов рекомендует явно разрешить модели отвечать «не знаю», опираться на дословные цитаты, подкреплять каждое утверждение цитатой (а если подкрепить нечем, отзывать утверждение) и работать только с предоставленными документами. Руководство добавляет, что эти методы сокращают, но не устраняют полностью неверные ответы, поэтому важную информацию необходимо проверять. Мы опираемся на следующее:
- Указание источника: рядом с каждым ответом видно, из какой части какого документа он взят.
- «Не знаю» и передача: если ответа нет в материалах, система прямо говорит об этом и передаёт вопрос сотруднику.
- Только из предоставленных материалов: о компании модель не использует свои общие знания.
- Оценочный набор: реальные вопросы с ожидаемым ответом и правильным источником. Мы отдельно измеряем, нашёл ли поиск нужный фрагмент и верен ли ему ответ; согласно руководству OpenAI по оценке, тестовые данные должны включать типичные, пограничные и намеренно вводящие в заблуждение случаи, а оценку нужно повторять при каждом изменении.
- Обратная связь: пользователи могут отмечать плохие ответы, а из журнала появляются новые тестовые случаи.
Защита данных: где хранятся документы?
В RAG-системе материалы компании проходят через три места:
- Исходная система: документы остаются там же, где и были: в хранилище документов, вики, почте.
- Индекс: фрагменты и векторы в поисковой базе данных. Она может работать в собственной среде компании или у поставщика; в файловом поиске OpenAI, например, согласно документации по обработке данных и руководству по поиску, загруженные файлы хранятся, пока их не удалят или пока не истечёт срок векторного хранилища.
- Вызов модели: к модели попадают только фрагменты, отобранные для вопроса. В этот момент действуют условия обработки данных поставщика; что в них говорится об обучении, сроке хранения и месте обработки, обобщено в статье о связывании корпоративных систем с помощью ИИ.
Если в документах есть персональные данные, на их обработку распространяется GDPR, и с поставщиком, выступающим обработчиком данных, нужен договор согласно статье 28 Общего регламента по защите данных. О правовых вопросах (прозрачности, передаче данных, оценке воздействия) мы пишем в статье AI Act и GDPR в корпоративном чат-боте. Это информация, а не юридическая консультация.
Этапы RAG-проекта
- Цель и круг вопросов: кто спрашивает, о чём и что считается хорошим ответом.
- Инвентаризация и упорядочивание источников: отсев дубликатов, противоречивых и устаревших версий.
- Модель прав доступа: кто по какому документу может получать ответы.
- Оценочный набор: реальные вопросы на венгерском языке с ожидаемым ответом и источником.
- Прототип: настройка разбиения, модели эмбеддингов и поиска на основе измерений.
- Подключение: интерфейс, указание источника, передача сотруднику и журналирование.
- Пилотный запуск: в узком кругу пользователей, со сбором обратной связи.
- Эксплуатация: обновление индекса, постоянное измерение и проверка при каждой смене модели.
Типичные ошибки
- Хранилище документов «как есть»: если существуют три версии одного регламента, система может цитировать любую из них.
- Права доступа откладываются на потом: на первой демонстрации видно всё, а в рабочей эксплуатации это может стать инцидентом с персональными данными.
- Ответ без источника: пользователь не может его проверить и не доверяет ему.
- Тестирование на придуманных вопросах: демонстрационные вопросы работают прекрасно, а с реальными венгерскими вопросами с опечатками система не справляется.
- Однократная загрузка: без обновлений база знаний быстро устаревает.
- Отсканированные PDF без распознавания текста: система просто не видит их содержимого.
Частые вопросы
Что такое RAG?
RAG (retrieval-augmented generation, генерация, дополненная результатами поиска) представляет собой решение, при котором система на каждый вопрос сначала находит релевантные фрагменты в документах компании, а языковая модель отвечает на их основе с указанием источника. Термин восходит к научной статье 2020 года.
Отвечает ли он на венгерском по нашим собственным документам?
Да. Современные большие языковые модели хорошо понимают венгерский и пишут на нём, а также работают с венгерскими документами; наш ИИ-ассистент на главной странице тоже беседует на венгерском. Поскольку опубликованные измерения поставщиков не всегда охватывают венгерский, и отвечающую модель, и модель эмбеддингов мы до запуска в работу проверяем на собственных венгерских вопросах компании.
Нужно ли обучать модель на наших собственных данных?
Как правило, нет. RAG передаёт модели нужные фрагменты в момент вопроса, поэтому знания можно обновлять, указывать источник и фильтровать доступ по документам. Дообучение может понадобиться, если форма или тон ответов недостаточно последовательны, да и то в дополнение к RAG, а не вместо него.
Что происходит, если он не знает ответа?
Мы строим его так, чтобы он прямо об этом сказал и передал вопрос сотруднику, а не придумывал что-то. Модель получает явное разрешение отвечать «не знаю», может работать только с предоставленными материалами, а вопросы без ответа из журнала возвращаются для пополнения базы знаний.
Где хранятся наши документы?
В исходной системе, как и раньше, а параллельно и в поисковом индексе, который может работать в собственной среде компании или у поставщика; а к модели на каждый вопрос попадают только отобранные фрагменты, по условиям обработки данных поставщика. Какое решение подходит компании, зависит от чувствительности документов и от требований к защите данных.
Как мы можем помочь?
Mesterséges Intelligencia Központ Kft. разрабатывает ИИ-чат-ботов, отвечающих по собственным документам компании (в том числе на венгерском), методом RAG, с указанием источника, на основе языковых моделей OpenAI (ChatGPT), Anthropic (Claude) и Google (Gemini). Первая консультация бесплатна; размер разработки мы измеряем в функциональных точках COSMIC, и на его основе составляются предложение и график работ. По запросу мы заключаем соглашение о неразглашении (NDA), а после передачи также берём на себя обновление базы знаний и наблюдение за работой системы. Вопросы исходного кода и прав на использование регулируются договором.
Подробнее читайте на страницах ИИ-чат-боты и ИИ-агенты и Интеграция ИИ; понять, нужен ли чат-бот или агент, поможет статья Чат-бот или ИИ-агент? Если вы планируете систему, отвечающую по документам компании, напишите нам по контактам, указанным на странице Контакты.
Источники
- arXiv: Lewis и соавторы, Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
- OpenAI: Vector embeddings
- OpenAI: Retrieval
- OpenAI: File search
- OpenAI: Data controls in the OpenAI platform
- OpenAI: Optimizing LLM Accuracy
- OpenAI: Evaluation best practices
- Anthropic: Embeddings
- Anthropic: Multilingual support
- Anthropic: Citations
- Anthropic: Reduce hallucinations
- Anthropic: Contextual Retrieval
- Google Gemini API: Embeddings
- EUR-Lex: Общий регламент по защите данных, Регламент (ЕС) 2016/679