
RAG&LLM
Таким образом, платформа способствует развитию инвестиционной и предпринимательской экосистемы: упрощает доступ к финансированию, помогает участникам быстрее находить друг друга и делает рынок более прозрачным.
Пользователи платформы часто задавали сложные запросы с профессиональными терминами и уточнениями: от поиска компаний на определенной стадии развития, и программ господдержки до подбора стартапов с конкретной технологией.
Стандартный поиск не справлялся с такой «глубиной» — он давал общие результаты и не учитывал контекст. Это создавало ощущение, что платформа не понимает сути запросов. Со временем это влияло на доверие аудитории, снижался интерес к сервису.
Чтобы решить проблему, команда ItFox предложила изменить подход к поиску и внедрить интеллектуальную систему на базе RAG. Такое решение позволяет учитывать смысл запроса, профессиональную лексику и контекст и выдает более точные и релевантные ответы.

РазработкаивнедрениеИИ-модели
Аналитика
Мы провели анализ существующей поисковой системы и источников данных платформы. Выяснилось, что исходная база была «зашумлена». Анкеты заполнялись вручную представителями компаний-участниц. В результате отсутствовало унифицированное заполнение, данные дублировались, присутствовали незаполненные поля. В таком виде база не позволяла внедрить интеллектуальный поиск. Перед доработкой поиска требовалось выполнить очистку и унификацию данных, чтобы создать фундамент для дальнейшей векторизации и построения RAG-модуля.
Проектирование архитектуры системы
Чтобы изменить характер поисковой выдачи, мы начали с архитектуры. Модуль состоит из двух компонентов:
- Индексирование данных (Indexing) — сбор, очистка и структурирование информации о зарегистрированных участниках платформы.
- Поиск и генерация ответа (Retrieval + Generation) — обработка пользовательских запросов с учетом контекста.


Индексация данных:
- Для формирования базы мы разработали инструмент автоматического сбора информации с сайтов, зарегистрированных на платформе.
- Полученная информация преобразовывались в стандартизированные анкеты участников с помощью специально составленного промпта. Такая предварительная очистка обеспечивает сопоставимость данных и удобство последующего анализа.
- Каждый подготовленный блок данных преобразовывался в векторное представление (эмбеддинг) с помощью модели YandexGPT PRO и сохранялся в специальное векторное хранилище ChromaDB. Это обеспечило высокую скорость поиска по смысловому сходству.

Среднее время подготовки одной анкеты при первоначальном заполнении базы данных составило около одной минуты, при этом нагрузка на модель — порядка 3 000 токенов.
Поиск и генерация ответа:
- При поступлении запроса от пользователя, система обращается к векторному хранилищу и извлекает анкеты компаний, проектов, консультантов, наиболее подходящие под запрос по смыслу.
- Для управления качеством поиска настраивались параметры MMR (Maximal Marginal Relevance) и пороговое значение сходства. Это позволяет учесть релевантность каждого документа и «новизну» информации в нем относительно отобранных ранее.
- Извлеченные данные вместе с запросом передаются в языковую модель, которая формирует итоговый ответ на основе фактической, содержащейся в базе, информации.
Такое решение позволяет избежать «галлюцинаций» и снизить долю нерелевантных ответов, сохраняет точность даже при работе с разрозненными и «шумными» данными.
Похожиепроекты


Итогипроекта
1. Выросло качество поиска
Интеллектуальный поиск на базе RAG начал формировать точные ответы на естественном языке, учитывая контекст и данные об участниках платформы без галлюцинаций.
2. Экономия времени пользователей
Пользователи получают готовыерелевантные ответы сразу. Нет необходимости ручной фильтрации сотни несвязанных страниц.
3. Рост доверия и вовлеченности
По данным аналитиков платформы, доля отказов - поисковых запросов, после которых пользователи прекращали взаимодействие с сервисом, снизилась на 24%, что свидетельствует о росте доверия к результатам поиска. А конверсия из поискового запроса в целевые действия (просмотр карточки/добавление в избранное/оставление заявки) увеличилась на 18%.
4. Усиление позиции платформы
Система корректно обрабатывает инвестиционные запросы — от анализа стартапов и объектов недвижимости до оценки рисков и доходности. Точность выдачи упрощает принятие решений для ключевых групп пользователей.

5. Возможности масштабирования
Созданная векторная база открыла новые возможности масштабирования для бизнеса заказчика — от интеллектуальных рекомендаций до глубокой аналитики рынка. Таким образом, внедрение RAG стало не точечной доработкой, а фундаментом для развития экосистемы.

Техническиенюансыпроекта
Качество данных является критически важным для корректной работы ИИ-моделей. На проекте исходная база содержала большой объем «шума»: анкеты участников заполнялись вручную, поэтому отличались по структуре, содержали пропуски и дубли. На таком фундаменте невозможно построить корректно работающий интеллектуальный поиск.
Для решения проблемы мы предложили Заказчику заполнить анкеты участников с помощью ИИ-модели, которая будет брать данные непосредственно с сайтов зарегистрированных компаний и заполнять профили по единому алгоритму.
Мы разработали собственный скрапер. Он делал автоматический обход сайтов и собирал данные.
Из более чем 120 000 организаций, проектов, профилей экспертов, зарегистрированных на платформе, около 105 000 имели действующие сайты. После проверки доступности и технического состояния к дальнейшей обработке было принято около 98 000 ресурсов.
Но сайты компаний так же содержали много ненужной для наших целей информации: рекламные блоки, технические элементы, дубли и проч.
Для нормализации массива данных, мы выстроили многоуровневый процесс предобработки:
- Удаляли лишние пробелы, табы, пустые строки.
- Стандартными средствами Python фильтровали данные по массиву стоп-слов. Это внушительный список, который можно дополнять бесконечно, например, заголовки основного меню ("главная", "о нас" и др.), названия разделов ("проекты", "клиенты", "партнеры" и т.д.), заголовки футера ("copyright", "все права защищены" и т.п.), Технические элементы ("логин", "регистрация" и проч.), а также кастомные исключения.
- Избавились от строк, состоящих исключительно из цифр, не-алфавитно-цифровых символов и знаков подчеркивания.
- Удаляли дубликаты. Использовали TfidfVectorizer модуля Scikit-learn. На его основе строили TF-IDF матрицу. Дубликаты текста отсеивались на основе вычисления попарного сходства. Коэффициент сходства задается параметром Threshold.
В результате проделанной очистки был сформирован массив унифицированных анкет. Он стал основой для векторизации и построения интеллектуального поиска.
«Шумные» базы данных — проблема достаточно распространенная. Но используя прописанный алгоритм работ, можно обеспечить качество результата.

Технологический стек:
Python 3.11 в качестве основы сервиса.
FastAPI - web_framework.
LangСhain — rag_framework для работы с LLM агентами.
Apache Kafka — message queues — для масштабирований и распараллеливания задач.
ChromaDB — vector_db для хранения embeddings.
text-search-doc/text-search-query - для векторного представления текста.
YandexGPT Pro - LLM для нормализации и генерации текста.
Yandex Foundation Models были выбраны для реализации проекта, так как они соответствуют Российской юрисдикции.
Вспомогательные — BeautifulSoup, lxml, TfidfVectorizer.
Технологии
Кейсы,которымимыгордимся


