Подавайте работы до 3 июля (птн)18 000 Р,
с 4 июля (сб)24 000 Р
Церемония награждения
4 декабря 2026
Крупнейшая digital-премия в Европе

Корпоративная база знаний Smarty на основе RAG

Заказчик: red_mad_robot
Исполнитель: Redmadrobot
Share
Share
Корпоративная база знаний Smarty на основе RAG

Главное о кейсе

Бизнес-юнит NDT, выросший из пет-проекта разработчиков, взял на себя задачу создания Smarty — умной базы знаний red_mad_robot. На основе RAG-платформы команда разработала систему, использующую облачные и локальные большие языковые модели для генерации ответов и поддержки диалогов. Мы регулярно тестировали интерфейс и дорабатывали дизайн, а вскоре после запуска дополнили веб-версию телеграм-ботом, который стал полноценным участником рабочих чатов.

В итоге у нас получилось поднять точность ответов до 95%, значительно сократив время поиска информации и уменьшив нагрузку на службу поддержки. Это довольно высокий показатель среди аналогичных продуктов на рынке.

___

The NDT business unit, which grew out of a developer pet project, took on the task of building Smarty, the smart knowledge base of red_mad_robot. Based on the RAG platform, the team developed a system that uses cloud and local large language models to generate answers and support dialogs. We regularly tested the interface and refined the design, and shortly after the launch we added a Telegram bot to the web version, which became a full-fledged participant of working chats.

As a result, we managed to raise the accuracy of answers to 95%, significantly reducing the time of information search and reducing the load on the support team. This is quite a high figure among similar products on the market.

Как проект изменил жизнь пользователей

Что нам дала Smarty
- 95% правильных ответов.
- Значительно сократилось время на поиск информации.
- Уменьшилась нагрузка на техподдержку.
- Ассистент научился давать краткие и расширенные ответы.
- Он умеет задавать наводящие вопросы и давать ссылки на материалы.
- Создали гибкую систему, работающую как on-cloud, так и on-premise.

___

Key results of Smarty implementation
- 95% correct answers.
- Time to search for information has been significantly reduced.
- The workload on technical support was reduced.
- The assistant has learned to give short and extended answers.
- It is able to ask leading questions and provide links to materials.
- We have created a flexible system that works both on-cloud and on-premise.

Бизнес-задача и ее решение

За 15 лет работы red_mad_robot база знаний компаний сильно масштабировалась. Появление новых артефактов и рост количества проектов усложнили актуализацию знаний для сотрудников.
Но мы ведь роботы, и там, где белковые пересылают документы в чатах, мы создаём умные сервисы. Так родилась база знаний Smarty.

Мы спроектировали Smarty на основе on-premise-модели — это самый безопасный вариант. Чтобы добиться наилучшего результата, мы ускоряли LLM, автоматизировали, уменьшали размеры, выбирали лучшие. Помимо языковой модели, Smarty использует ещё три:
- модель векторизации данных (переводит текст в цифры),
- модель реранжирования результатов (упорядочивает по месту найденные семантические кусочки для обогащения информации),
- классификатор Guardrails (запрещает LLM общаться на темы, несуществующие в датасете и запрещённые законом).

___

Over the 15 years of red_mad_robot's work, the knowledge base of companies has scaled a lot. The emergence of new artifacts and the growing number of projects have made it harder for employees to keep up-to-date on knowledge.
But we are robots, after all, and where squirrels send documents in chats, we create smart services. That's how the Smarty knowledge base was born.

We designed Smarty based on an on-premise model - it's the safest option. To get the best result, we accelerated LLMs, automated, downsized, selected the best ones. In addition to the language model, Smarty uses three others:
- Data vectorization model (translates text into numbers),
- a result reranking model (organizes the semantic chunks found into places to enrich the information),
- Guardrails classifier (prohibits LLMs from communicating on topics that do not exist in the dataset and are prohibited by law).

Крафт (мастерство), реализация, технические детали

В red_mad_robot все знания, начиная от того, как уйти в отпуск, заканчивая оборудованием дочерних компаний, хранились в Confluence. Если в его поиске задать вопрос «Как уйти в отпуск?», результатом будет 1082 страницы разной степени неактуальности. Так работает индексируемый поиск по полному вхождению слова, в том числе и поисковики вроде Google.

База знаний на основе RAG позволяет получить чёткий сформулированный ответ на свой вопрос со ссылками на источники. Но как это работает?

RAG (Retrieval Augmented Generation) — метод загрузки данных в векторное пространство и последующее использование их в ответах большой языковой модели (LLM) в момент генерации.

Обычный индексируемый поиск разбирает запрос пользователя на отдельные слова и ищет максимально релевантные вхождения среди своих данных, предлагая ссылки на источники в качестве ответа. В поиске, основанном на RAG, всё работает так:

1. Запрос пользователя попадает в семантический механизм поиска, который ищет «близость» со всеми документами или знаниями, которые есть в базе.

2. Документы, вместо полного вхождения в слова, имеют вектор — набор чисел в векторном пространстве. Запрос при этом тоже превращается в вектор.

3. Специальный механизм поиска ищет максимально релевантные по вектору ответы. То есть буквально сравнивает углы между векторами в пространстве. Если угол маленький, значит знания семантически похожи. Чем меньше значение вектора, тем ближе по смыслу информация к запросу пользователя.

4. Мы получаем куски текста из разных документов, которые по смыслу подходят к запросу, и «отдаём» их в LLM с заранее заготовленным промптом, который выглядит примерно так:

5. Ты — умная база знаний, тебе будет задан вопрос пользователя и релевантные куски текста из базы данных. Проанализируй их и сформулируй краткий ответ на вопрос.

6. LLM генерирует конечный ответ для пользователя и даёт ссылку на все источники.

Smarty — это мультиагентная сеть, которая самостоятельно создаёт базу знаний, тестирует её и валидирует без участия человека. Есть даже агент, который смотрит на результаты остальных агентов и даёт им рекомендации о том, как увеличить точность.

Мы написали и настроили агентов самостоятельно, создав цепочку с минимальным участием человека:

Документ попадает в систему авторазметки. Затем система кладёт документ в векторную базу данных и сама создаёт себе вопросы. После этого отправляет ответы человеку на валидацию. Если человека устраивает результат, он даёт команду запустить тест, система его запускает и даёт рекомендации. Затем человек смотрит, что ещё нужно исправить. Система исправляет, запускает новый тест, и в итоге мы получаем нужные метрики.

Это самообучающаяся система, которая может превратить один текстовый документ в домен знаний. Агент-авторазметчик позволяет разбить огромное полотно текста на логические блоки, не теряя смысла и не переписывая слова.

А дальше весь размеченный текст преобразуется в векторы с помощью модели эмбеддинга и хранится в векторной базе данных. При использовании продвинутого RAG-поиска, на котором мы и построили Smarty, система выбирает более 30 релевантных запросу кусков текста из векторной базы данных, реранжирует их и отправляет в LLM топ-5 подходящих от этих 30. Затем LLM формулирует ответ, который проходит ещё один цикл проверки Guardrails и RAGAS (автотестирования качества).

Таким образом достигается точность ответов выше 95% не только на вопрос, контекст которых система уже знает, но и на вопрос, контекст которого системе вообще не знаком.

___


In red_mad_robot, all knowledge from how to go on vacation to subsidiary equipment was stored in Confluence. If you ask the question “How to go on vacation?” in its search, the result will be 1082 pages of varying degrees of irrelevance. This is how indexed full word search works, including search engines like Google.

A RAG-based knowledge base provides a clearly articulated answer to your question with links to sources. But how does it work?

RAG (Retrieval Augmented Generation) is a method of loading data into a vector space and then using it in a large language model (LLM) answer at the time of generation.

A conventional indexed search parses a user's query into individual words and searches for the most relevant occurrences among its data, offering links to sources as answers. In a RAG-based search, things work like this:

1. The user's query enters the semantic search engine, which looks for “affinity” with all the documents or knowledge in the database.

2. The documents, instead of being full of words, have a vector - a set of numbers in vector space. The query in this case also becomes a vector.

3. A special search mechanism searches for answers that are maximally relevant to the vector. That is, it literally compares the angles between vectors in space. If the angle is small, then the knowledge is semantically similar. The smaller the value of the vector, the closer in meaning the information is to the user's query.

4. We get pieces of text from different documents, which semantically fit the query, and “give” them to LLM with a pre-prepared prompt, which looks like this:

5. You're a smart knowledge base, you'll be given a user's question and relevant chunks of text from the database. Analyze them and formulate a short answer to the question.

6. LLM generates the final answer for the user and gives a link to all sources.

Smarty is a multi-agent network that autonomously builds the knowledge base, tests it and validates it without human intervention. There's even an agent that looks at the results of the other agents and gives them recommendations on how to increase accuracy.

We wrote and customized the agents ourselves, creating a chain with minimal human involvement:

A document enters the autopartitioning system. The system then puts the document into a vector database and creates its own questions. It then sends the answers to the human for validation. If the person is happy with the result, they give the command to run the test, the system runs it and gives recommendations. Then the person sees what else needs to be fixed. The system fixes it, runs a new test, and eventually we get the metrics we need.

It's a self-learning system that can turn a single text document into a knowledge domain. The autorampler agent allows you to break a huge canvas of text into logical blocks without losing meaning or rewriting words.

And further all the marked-up text is converted into vectors using the embedding model and stored in a vector database. Using advanced RAG search, which is what we built Smarty on, the system selects more than 30 query-relevant pieces of text from the vector database, reranks them, and sends the top 5 matching ones from those 30 to the LLM. The LLM then formulates a response, which goes through another round of Guardrails and RAGAS (quality autotesting) checks.

In this way, a response accuracy of over 95% is achieved, not only for questions whose context the system already knows, but also for questions whose context the system does not know at all.

Инсайты, гипотезы, процесс создания и взаимодействия с заказчиком

Но ведь можно просто взять и обучить собственную LLM?
Конечно! Если у вас есть лишний $1млн, огромное количество токенов и вычислительных мощностей, то можно. Но даже при этом — не факт, что сработает. Система на основе RAG позволяет в разы дешевле и эффективнее настроить работу LLM, чтобы она решала задачи компании.

Мы кастомизируем агентов для разметки, тестирования и создания датасета и промпт для LLM, чтобы модель сохраняла tone of voice компании. Мы зашили в RAG-модель основы ToV и редакционной политики red_mad_robot, и теперь Smarty отвечает так же, как это сделал бы любой другой сотрудник компании — дружелюбно, лаконично и с уместным юмором.

Все модели, с которыми мы работаем, подняты на нашем железе, автомасштабируются, кластеризируются. В общем, из разных кубиков этого RAG-конструктора мы собрали Smarty для себя и теперь создаём индивидуальные решения и для наших клиентов.

В целях безопасности клиентов мы даже собрали специальный ПАК (программно-аппаратный комплекс). В предложение для клиентов входит железо на разных видеокартах, RAG, API и лицензия. Лицензия даёт право использования продукта, техподдержку и постоянные обновления моделей.

___

But you can just take your own LLM and teach it, can't you?
Sure! If you have an extra $1m, a huge amount of tokens and computing power, you can. But even so, it's not a sure thing that it will work. A system based on RAG allows you to customize the LLM to meet the company's objectives in a much cheaper and more efficient way.

We customize agents for markup, testing and creating dataset and prompt for LLM so that the model preserves the tone of voice of the company. We sewed the basics of ToV and red_mad_robot's editorial policy into the RAG model, and now Smarty responds as any other employee of the company would - friendly, concise, and with appropriate humor.

All the models we work with are lifted on our hardware, autoscaled, clustered. In general, from different cubes of this RAG-constructor we have built Smarty for ourselves and now we create customized solutions for our clients as well.

We have even built a special PAK (software and hardware complex) for customer security purposes. The offer for customers includes hardware on different video cards, RAG, API and license. The license gives the right to use the product, technical support and constant model updates.

Текущая доступность работы

нет, это внутренний корпоративный ресурс

Скриншоты

Share
Share

Дата запуска

15 апреля 2024 года

Авторы

red_mad_robot

Ссылки

redmadrobot.ru
Крупнейший digital-конкурс в Европе
Подавайте работы до 3 июля (птн)18 000 Р,
с 4 июля (сб)24 000 Р

Церемония награждения — 4 декабря (пт)  •  Москва и онлайн
Купить билет
Количество билетов ограниченно, торопитесь!