HeadlinesBriefing favicon HeadlinesBriefing.com

Manticore Search добавляет векторное чанкирование

Hacker News •
×

Представьте, что вы создаете поиск по внутренней документации вашей команды — руководствам, ранбукам, постмортемам. У вас есть таблица с авто-эмбеддингами: вы вставляете текст, Manticore запускает модель и заполняет векторный столбец за вас. Вы загружаете документ в 4000 слов. Вставка проходит успешно. Поиск работает. За исключением того, что у модели окно ввода 512 токенов, а этот документ составляет около 5000 токенов. Модель прочитала первые 380 слов и отбросила остальные 3600.

Теперь Manticore решает это в определении таблицы: добавьте chunk_strategy к векторному столбцу в CREATE TABLE, и Manticore разбивает каждый документ на чанки, эмбеддит каждый чанк и ищет по всем им. Пять стратегий: truncate, mean, fixed, recursive, sentence. Документ остается одним результатом поиска. Чанки соревнуются индивидуально, и Manticore возвращает документ один раз, с knn_dist(), сообщающим расстояние до его ближайшего чанка. k считает документы, а не чанки.

Измерено на руководстве Manticore (189 страниц, ~298k слов): recall@5 вырос с 55,1% до 83,3%, а MRR с 0,44 до 0,70, при ~2,5× ОЗУ и ~4× времени индексации. Запросы никогда не чанкуются. Запрос достаточно короток, чтобы эмбеддиться целиком; только хранимые документы разбиваются.