Как правило, большие компании работают с широким ассортиментом продуктов. Чтобы им управлять, используются системы учёта. Они помогают отслеживать продукт на всех этапах жизненного цикла — от производства до продажи.

Неотъемлемая часть управления продуктами — это анализ конкурентов. Он помогает понять, какие функции и возможности есть на рынке, какие из них популярны и востребованы пользователями. Одна из главных проблем этого процесса — анализировать конкурентов приходится вручную. Это занимает много времени и сил, которые можно использовать более эффективно.

Меня зовут Денис Маматин, я работаю в отделе R&D СберТеха. Наша команда занимается разработкой и тестированием новых технологий. В этой статье я расскажу, как мы (Олег Мальцев @o-maltsev, Дмитрий Малькевич @mkery и я @kusakabe) придумали решение, которое позволит компаниям искать и анализировать конкурентов в автоматическом режиме и разрабатывать стратегии для улучшения продуктов и услуг. Поделюсь, как мы реализовали эту идею с помощью LLM (Large Language Model) GigaChat, и приведу примеры использования этого сервиса в нашем проекте.

Автоматизация сбора информации о конкурентах

Иногда при автоматизации процессов возникают проблемы, связанные с получением данных и извлечением информации из них. В результате исследования мы столкнулись со следующими вопросами:

  • Как находить конкурентов продукта и информацию о них?

  • Как находить и формировать поле для карточки конкурентадокумента, который содержит данные о конкурентах: название компании, логотип, контактную информацию, адрес сайта, описание продуктов или услуг, целевую аудиторию, ценовую политику?

Первый вопрос решается просто. Делаем запрос в поисковой движок по интересующему продукту и собираем тексты с нужного количества ссылок. Этот процесс сбора данных из интернета называется парсингом.

Для генерации поля карточки конкурента кажется логичным использовать LLM. Мы взяли GigaChat — нейросетевую модель Сбера. Но среди собранных из интернета данных попадается много мусора, который затрудняет анализ и извлечение нужной информации. А нам хотелось бы использовать только информативные тексты. Такие тексты отбираются с помощью retrieval — способа получения релевантных документов по определенному запросу. А метод генерации информации по отобранным документам с использованием LLM называется retrieval‑augmented generation (RAG).

Таким образом, наш алгоритм сбора информации о конкурентах выглядит так:

  • собираем информацию о внутреннем продукте из локальной системы продуктового учета;

  • формируем запрос в Google для поиска конкурентов;

  • парсим результаты поисковой выдачи;

  • достаем имена конкурентов, используя RAG;

  • собираем карточку каждого конкурента подобным образом (шаги 2-4).

RAG, или при чём тут GigaChat

LLM, такие как GigaChat или СhatGPT, обучаются на огромных объёмах данных. Это позволяет им генерировать текст, близкий к написанному человеком. Однако при попытке получить ответ на запрос по теме, не встречающейся в тренировочной выборке, мы получаем вымышленный ответ.

Можно попробовать дообучить модель, но это довольно бессмысленно: скрейпер — программа для автоматического извлечения данных с веб-страниц — каждый раз собирает разные данные. Для такой ситуации и подходит RAG. RAG — альтернативный способ передачи новой информации в LLM. Запрос в LLM формируется на основе отобранных текстов из базы документов. Подробнее об этом можно почитать тут.

В нашем случае из текстов, полученных при парсинге, формируется набор документов. Во время запроса производится векторный поиск по базе документов и выбираются ближайшие, на основе которых дальше запускаем семантическое ранжирование. Основной инструмент, который мы использовали для этого этапа, — chromadb.

Отобранные тексты и запрос отправляются в LLM для генерации поля карточки. В качестве LLM протестировали open source модели Vicuna-13b и LLama-13b, но лучший результат получили с помощью GigaChat Pro.

Для сравнения сгенерировали карточки каждой моделью. Далее проверяли, соответствуют ли данные из карточки реальному значению. Результаты показали, что ответы Vicuna и LLama близки к ожидаемому результату лишь в 10 случаях из 47. Тогда как GigaChat приводит правильные ответы в 35 случаях из 47.

Для работы с LLM GigaChat мы использовали GigaChain (SDK) — форк библиотеки LangChain, который адаптирован для работы с русским языком с поддержкой GigaChat API. Примеры применения RAG можно посмотреть здесь.

Что получилось в итоге

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

Redis

1. Имя

Redis

2. Короткое описание

Redis — это хранилище структур данных в памяти с открытым исходным кодом, которое используется в качестве базы данных «ключ-значение», кэша и брокера сообщений. Оно обладает высокой скоростью работы и может быть использовано в различных сценариях, включая no-code/low-code платформы.

3. Длинное описание

Redis (Remote Dictionary Server) — это хранилище структур данных в памяти с открытым исходным кодом, используемое в качестве базы данных «ключ-значение», кэша и брокера сообщений. Оно обеспечивает высокую скорость вычислений и гибкие структуры данных, что делает его мощным инструментом для разработки приложений. Redis обладает высокой масштабируемостью и способен поддерживать крупномасштабные приложения. Он также отличается от традиционных реляционных баз данных своей функциональностью Pub/Sub и возможностью работы в режиме in-memory. Redis повышает ценность платформ no-code/low-code, предоставляя быстрый доступ к данным и упрощая процесс разработки.

4. Производитель

У Redis нет конкретного производителя, так как это проект с открытым исходным кодом, над которым работает сообщество разработчиков.

5. Технологический стек

Redis разработан на языке программирования Си (C).

6. Актуальная версия

Последняя актуальная версия Redis — 6.2.6. Однако стоит учесть, что версии программного обеспечения могут меняться, поэтому всегда рекомендуется проверять наличие обновлений на официальном сайте продукта или в соответствующем репозитории.

7. Назначение

Redis используется для кэширования и хранения данных. Он также может быть использован для очередей сообщений и других задач.

8. Сильные стороны

Сильные стороны Redis делают его популярным выбором для управления данными в веб-разработке и других отраслях. Некоторые из его ключевых особенностей и преимуществ:

1. Молниеносная производительность: Redis работает как хранилище данных в памяти, что обеспечивает чрезвычайно быстрые операции чтения и записи, обычно в диапазоне менее миллисекунды. Это делает его идеальным выбором для
высокопроизводительных операций и вычислений с небольшим объемом данных.

2. Поддержка различных типов данных: Redis поддерживает различные типы данных, включая строки, списки, наборы, хеш-таблицы и упорядоченные наборы, что делает его гибким и мощным инструментом для обработки и хранения различных типов данных.

3. Масштабируемость: Redis обладает высокой масштабируемостью и способен поддерживать крупномасштабные приложения. Он также поддерживает репликацию данных и кластеризацию для обеспечения высокой доступности и отказоустойчивости.

4. Функциональность Pub/Sub: Redis предоставляет функциональность Pub/Sub, которая позволяет эффективно обрабатывать события и сообщения в реальном времени. Это делает его идеальным для приложений, требующих обработки большого количества событий или сообщений.

5. Простота использования: у Redis простой и понятный синтаксис, что делает его легким в освоении и использовании. Он также предоставляет множество инструментов и библиотек для работы с различными языками программирования.

6. Открытый исходный код: Redis — это проект с открытым исходным кодом. Это означает, что он доступен для всех и может быть свободно использован и модифицирован. Это также способствует его популярности и поддержке сообщества.

В целом, Redis предлагает высокую производительность, гибкость и масштабируемость, что делает его мощным инструментом для управления данными в различных сценариях.

9. Совместимые продукты

Redis — это система управления базами данных, которая широко используется в разработке программного обеспечения. С ней совместимо множество продуктов:

1. Caché — система управления базами данных, которая может быть использована вместе с Redis для кэширования данных.

2. CouchDB — система управления базами данных, которая может быть использована вместе с Redis для хранения данных.

3. IMS — система управления базами данных, которая может быть использована вместе с Redis для обработки транзакций.

4. DB2 — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

5. Firebird — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

6. FoundationDB — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

7. Informix — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

8. Ingres — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

9. Interbase — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

10. MS SQL Server — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

11. MongoDB — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

12. MySQL — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

13. Neo4j — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

14. Oracle Database — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

15. PostgreSQL — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

16. Sybase ASE — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

17. Teradata Database — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

18. Yandex Database — система управления базами данных, которая может быть использована вместе с Redis для хранения и обработки данных.

Это лишь некоторые из совместимых с Redis продуктов. Существует множество других систем управления базами данных, которые могут быть использованы вместе с Redis в зависимости от конкретных потребностей и требований проекта.

10. Сайт

Официальный сайт проекта. Здесь вы можете найти подробную информацию о Redis, документацию, руководства, примеры кода, а также скачать последнюю версию продукта. Сайт поддерживает и обновляет команда разработчиков Redis.

11. Документация

Сайт документации Redis. Там вы найдете подробную информацию о Redis, его командах, возможностях и настройках.

Microsoft SQL Server

1. Имя

Microsoft SQL Server

2. Короткое описание

Microsoft SQL Server — это система управления базами данных, разработанная компанией Microsoft. Она предоставляет инструменты для хранения, обработки и анализа данных. SQL Server широко используется в различных отраслях, включая информационные технологии, финансы, здравоохранение и розничную торговлю.

3. Длинное описание

Microsoft SQL Server — это система управления базами данных, разработанная компанией Microsoft. Она предоставляет мощные инструменты для создания, управления и обработки баз данных. SQL Server позволяет хранить и обрабатывать большие объемы данных, обеспечивая высокую производительность и надежность.

Одна из ключевых особенностей SQL Server — способность работать с различными типами данных, включая текстовые, числовые, временные и бинарные данные. Система также поддерживает различные типы индексов и позволяет создавать
сложные запросы для извлечения необходимой информации из базы данных.

SQL Server также предоставляет широкий спектр инструментов для обеспечения безопасности данных, включая аутентификацию пользователей, шифрование данных и управление доступом к базам данных.

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

В целом, Microsoft SQL Server — это мощная и надежная система управления базами данных, которая может быть использована для решения широкого спектра задач в области обработки и хранения данных.

4. Производитель

Производитель Microsoft SQL Server — компания Microsoft.

5. Технологический стек

Microsoft SQL Server разработан на основе технологии реляционных баз данных и использует язык запросов Transact-SQL — реализацию стандарта ANSI/ISO SQL с расширениями. Transact-SQL предоставляет возможность создавать, изменять и удалять данные, а также выполнять сложные запросы к базе данных. Кроме того, Microsoft SQL Server использует различные технологии для обеспечения высокой производительности, масштабируемости и надежности, такие как механизм управления транзакциями, кеширование данных, репликация и т. д.

6. Актуальная версия

Последняя актуальная версия Microsoft SQL Server — 2019. Выбор версии SQL Server зависит от ваших потребностей и совместимости с другими системами.

7. Назначение

Microsoft SQL Server — это система управления базами данных (СУБД), разработанная компанией Microsoft. Она предоставляет широкий спектр функциональности, включая:

1. Хранение и управление данными:
SQL Server позволяет хранить и управлять большими объемами данных в структурированном и организованном виде.

2. Обработка запросов:
SQL Server предоставляет мощный язык запросов
(Structured Query Language, SQL), который позволяет пользователям получать доступ к данным, изменять их и удалять.

3. Транзакции:
SQL Server поддерживает транзакции, что позволяет
выполнять наборы операций с данными как единое целое.

4. Безопасность:
SQL Server предлагает различные механизмы безопасности
для защиты данных от несанкционированного доступа.

5. Резервное копирование и восстановление:
SQL Server предоставляет инструменты для создания резервных копий данных и их восстановления в случае сбоев или ошибок.

6. Администрирование:
SQL Server предлагает широкий набор инструментов
для управления базами данных, включая мониторинг производительности, управление правами доступа и настройку параметров.

7. Расширяемость:
SQL Server поддерживает различные дополнения, которые позволяют расширять функциональность системы.

8. Интеграция с другими продуктами Microsoft:
SQL Server хорошо интегрируется с другими продуктами Microsoft, такими как Windows Server, SharePoint и .NET Framework.

Это лишь некоторые из основных функций SQL Server. Конкретные возможности могут варьироваться в зависимости от версии и конфигурации системы.

8. Сильные стороны

У Microsoft SQL Server несколько сильных сторон,которые ценят компании и разработчики.

Одна из них — отказоустойчивость. SQL Server позволяет создавать кластеры серверов, которые будут работать с одним экземпляром СУБД. Если какая-то машина выйдет из строя, ее
работу сразу перехватит другая, незаметно для пользователя. Еще одна сильная сторона — масштабируемость системы. С Microsoft SQL Server можно взаимодействовать как на простых ноутбуках, так и на мощных ПК.

9. Совместимые продукты

С Microsoft SQL Server совместима линейка совместных продуктов 1С и Microsoft, включая 1С:Предприятие 8 и Microsoft SQL Server. Более подробную информацию о конкретных продуктах и их совместимости с Microsoft SQL Server можно найти на сайте 1С или Microsoft.

10.Сайт

На официальном сайте Microsoft вы можете найти информацию о продукте, скачать его, а также получить поддержку и помощь. Для получения более конкретной информации о Microsoft SQL Server рекомендуется посетить официальный сайт.

11. Документация

Сайт документации Microsoft SQL Server. Здесь вы найдете подробную техническую документацию, руководства, обучающие материалы и ресурсы для работы с SQL Server.


Комментарии (1)


  1. cry_san
    25.06.2024 06:35

    Как насчет реального демо-карточки? Возьмите для примера запрос - "Производитель кирпича"