HeadlinesBriefing favicon HeadlinesBriefing.com

Manticore Search ajoute le découpage vectoriel

Hacker News •
×

Imaginez que vous créez une recherche sur la documentation interne de votre équipe — guides, runbooks, postmortems. Vous avez une table avec embeddings automatiques : vous insérez du texte, Manticore exécute le modèle et remplit la colonne vectorielle pour vous. Vous chargez un document de 4 000 mots. L'insertion réussit. La recherche fonctionne. Sauf que le modèle a une fenêtre d'entrée de 512 tokens, et ce document en fait environ 5 000. Le modèle a lu les premiers 380 mots et a jeté les 3 600 autres.

Manticore gère maintenant cela dans la définition de la table : ajoutez chunk_strategy à la colonne vectorielle dans CREATE TABLE, et Manticore divise chaque document en fragments, intègre chaque fragment et recherche dans tous. Cinq stratégies : truncate, mean, fixed, recursive, sentence. Un document reste un seul résultat de recherche. Les fragments concourent individuellement, et Manticore renvoie le document une fois, avec knn_dist() indiquant la distance à son fragment le plus proche. k compte les documents, pas les fragments.

Mesuré sur le manuel Manticore (189 pages, ~298k mots) : recall@5 passe de 55,1 % à 83,3 % et MRR de 0,44 à 0,70, pour ~2,5× la RAM et ~4× le temps d'ingestion. Les requêtes ne sont jamais fragmentées. Une requête est assez courte pour être intégrée en entier ; seuls les documents stockés sont divisés.