TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Всеволод Викулин

15 Jul 2025, 09:42

Open in Telegram Share Report

Обсуждать абстрактно "как правильно делать LLM" очень тупо. Поэтому мы будем разбирать архитектуру на реальных примерах.

Раз мы недавно обсуждали RAG, начнем с примера поисковой архитектуры.

Архитектура Поиска по контенту LinkedIn

В соцсети много контента, надо по нему искать. Для RAGа, да и просто для души.

Метрики

Time Spent просмотра постов
Если пользователь листает выдачу поиска и ничего не читает, то скорее всего мы нашли фигню.

Релевантность
Часто просто крутить Time Spent плохая идея, сигнал шумный. Хорошая идея мешать его с чем-то более легко измеримым, например, релевантностью поста. Мерят с помощью GPT.

Архитектура

Индекс из миллиардов постов. Два метода генерации кандидатов:

1) Текстовое совпадение по словам
Вечная классика — обратный индекс, нашли посты со словами из запроса, никакой семантики.

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

Дальше тысячи кандидатов отправляются в ранкер.

Ранкер из 2-х этапов. Сначала тысячи ранжируются одной моделькой. Дальше сотни ранжируются моделькой побольше. Архитектура моделей одинаковая.

Модель ранкера это две FC сети. Первая предсказывает релевантность. У нее есть только эмбеддинги запроса и документа. Вторая предсказывает Time Spent. Туда помимо эмбеддингов подаются и обычные фичи (популярность поста, дружит ли пользователь с автором и тд).

Учатся модели на взвешенную сумму Time Spent + Релевантность.

Учатся на кучи исторических сессиях поиска.

Что тут важно почерпнуть

- Несколько таргетов. Часто хорошая идея. Особенно связка онлайн + оффлайн

- Классическая архитектура поиска. Несколько генераций кандидатов + несколько ранкеров.

- Разметка с помощью GPT. Если не очень сложная задача, работает быстро и хорошо

Что я бы поменял

Очень странный выбор ранкера. Две FC-сети, при чем с готовыми эмбеддингами на входе и еще в лаваше с обычными фичами. Такое делать можно, ну только если у вас совсем нет железа.
Мне нравится что-то из:

1) Трансформеры-кроссэнкодеры на текстах, которые вы файнтюните

2) Бустинг над деревьями с обычными фичами

А лучше когда выход 1) пихаете в 2)

Если исторических данных много, то можно учить очень крутые и сложные ранкеры.

Итог

Базовая статья, как обычно делают поиск, но со странным выбором моделей. Можете на нее опираться, когда у вас в базе RAG что-то больше, чем 1000 документов.

Что думаете по этой архитектуре поиска? Слабовато или наоборот перекрутили?

Если есть пример, который надо разобрать, присылайте в личку.

#llm_cases
ИИнженер Сева Викулин
Мы тут иногда архитектуру LLM-систем изучаем. Продолжаем этот опус. Паттерн 5. Архитектура надежных RAG-систем В Паттерне 4 мы поняли, как удобно, когда вся информация, нужная для ответа, находится у LLM в контексте. Часто эта информация зависит от текущего состояния системы. Тогда возникает RAG....

2.4k 3 63 5 39
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot