SEOFAQ Telegram, маркетинг и SEO Канал SEOFAQT в мессенджере Telegram

Все чаты​Я собирался идти спать, но вместо этого занялся расшифровкой...

 248  


​Я собирался идти спать, но вместо этого занялся расшифровкой внутреннего семантического поиска Chrome, — пишет Деян Петрович.

Я нашел точный механизм чанкинга, логику эмбеддингов и теперь могу просматривать, искать и кластеризовать свою историю поиска с помощью декодированных векторных эмбеддингов 😐

Вот краткое изложение того, что я обнаружил:

— Чанкинг: Chrome разбивает каждую страницу на пассажи (до 30 штук), каждый объемом примерно в 200 слов.

— Эмбеддинг: Каждый пассаж преобразуется в 1540-мерный вектор.

— Хранение: Эмбеддинги для каждого посещения сохраняются в embeddings_blob в базе данных History.

Процесс чанкинга пассажей и создания эмбеддингов в Chrome

Механика извлечения пассажей

Chrome разбивает страницы на логические "пассажи". Параметры определены в файле history_embeddings_features.h и включают в себя:

— max_passages_per_page = 30

— passage_extraction_max_words_per_aggregate_passage = 200

Это означает:

→ Chrome ограничивает количество создаваемых эмбеддингов до 30 на страницу (что соответствует массивам (30, 1540)).

→ Он кластеризует текст страницы в чанки объемом примерно 200 слов каждый.

Процесс генерации эмбеддингов

Сервис HistoryEmbeddingsService управляет этим конвейером:

1. Когда страница полностью загружена, Chrome извлекает пассажи и вызывает ComputeAndStorePassageEmbeddings(url_id, visit_id, visit_time, passages).

2. Если требуются эмбеддинги, он вызывает embedder_->ComputePassagesEmbeddings(priority, passages, callback).

3. После вычисления векторы сохраняются в объекте UrlData и записываются в базу данных через vector_database.SaveTo(sql_database).

Почему ваши данные выглядят именно так

— Массив (30, 1540) означает эмбеддинг для всей страницы: 30 пассажей × 1540-мерный вектор для каждого.

— Массивы меньшего размера (например, 1 или 3 чанка) появляются на коротких страницах с небольшим количеством текста.

— Очень большие и очень маленькие значения float16 — это артефакты квантования/сжатия.

https://dejan.ai/blog/inside-chromes-semantic-engine-a-technical-analysis-of-history-embeddings/

@MikeBlazerX

Ссылки из поста:
https://www.linkedin.com/feed/update/urn:li:activi...
https://t.me/MikeBlazerX

Источник новости https://t.me/mikeblazerx/5551...