Qdrant или Weaviate: брзината и recall не избираат ист победник

|Автор: Уредувачки тим на QUASA|5 мин. читање
Qdrant или Weaviate: брзината и recall не избираат ист победник

За чисто векторско пребарување Qdrant има поголема пропусност, а Weaviate повисок recall со почетните поставки: емпириската евалуација на SIFT1M бележи 216 QPS и Recall@100 од 0,959 за Qdrant, наспроти 87 QPS и 0,996 за Weaviate. Во истите услови медијаната на доцнење кај Qdrant е 4,55 ms, а градењето индекс трае 194,7 секунди кај Qdrant и 474,9 секунди кај Weaviate.

За RAG со прашања што содржат и природен јазик и точни ознаки, разликата се префрла на хибридното пребарување. Weaviate нуди директна контрола на тежината меѓу пребарувањето по зборови и вектори; Qdrant дава посебна контрола врз изворите на кандидати и нивното спојување. Изборот зависи од тоа кои документи мора да стигнат до моделот, колку кандидати се земаат и дали секое барање носи филтер.

Како се составува хибридното барање

Qdrant може да чува густ и редок вектор за истиот запис под различни имиња. Во примерот за хибридно пребарување во Qdrant, prefetch ги извршува семантичкото и лексичкото пребарување, using го избира соодветниот именуван вектор, а главното query ги спојува кандидатите преку fusion. Таа структура дозволува одделна длабочина на кандидатите за секој извор и повеќе од две пребарувања, ако корпусот бара посебни патеки за наслов, содржина или идентификатор.

Во хибридното барање на Weaviate, пребарувањето по зборови со BM25F и векторското пребарување се спојуваат со поставките alpha и fusion_type; alpha=0 значи само зборови, а alpha=1 само вектори. Тимот може да избере кои текстуални полиња се пребаруваат, да им даде различна тежина и да додаде filters. Ако тежината е важна, треба експлицитно да се зададе alpha, бидејќи ефективната вредност без зададен параметар зависи од клиентската библиотека и верзијата.

Зошто контролата на fusion го менува редоследот

Разликата не е во самото постоење на хибридно пребарување: двата система го имаат. Во поставките за спојување на Qdrant, RRF ги користи позициите во одделните листи и дозволува тежини по извор, додека DBSF ги нормализира оценките пред да ги собере. Со RRF голема разлика меѓу оценките на два соседни резултата не се пренесува директно во финалниот редослед; со DBSF таа разлика може да влијае, но нормализацијата зависи од кандидатите што ги вратило конкретното барање.

Weaviate дозволува alpha да ја помести рамнотежата меѓу BM25F и векторскиот дел, како и избор меѓу спојување според релативни оценки и според рангови. На пример, ако корисникот внесе точна шифра на документ, посилниот лексички дел може да го искачи совпаѓањето што семантичкиот вектор го поставил подолу. Тоа е условен пример, не измерена предност на едната база. За тим со означени прашања и релевантни пасуси, клучната проверка е дали промената на тежината навистина го подобрува редоследот за нивниот корпус.

Што кажуваат пропусноста, recall и доцнењето

SIFT1M содржи вектори од визуелни дескриптори, а мерењето користи чисто пребарување на најблиски вектори на еден јазол, со стандардни конфигурации. Тоа објаснува зошто измерениот Recall@100 е корисен за споредба на индексите, но не е мерка за точноста на одговор што јазичен модел ќе го состави од текстуални пасуси. Тестот не вклучува спојување со пребарување по зборови или атрибутни филтри, па неговиот распоред на QPS не може да се пренесе директно на хибриден RAG.

Recall@100 опишува колкав дел од вистинските најблиски соседи се најдени меѓу вратените кандидати. Ако процесот испраќа поширока листа на пасуси кон дополнително рангирање, губењето релевантни кандидати во првата фаза станува поважно. Ако зема само тесен врв, тимот треба да го спореди квалитетот токму на таа длабочина. Ниту една од тие мерки сама не открива дали документ со точен назив ќе биде пронајден преку лексичкиот дел.

Исто така, QPS кажува колку барања поминуваат во мереното оптоварување, а не колку чекаат најбавните корисници. Медијаната ја опишува средината на распределбата; за рок на одговор важни се и високите перцентили, особено кога некои барања имаат тесни филтри или бараат повеќе кандидати. Времето за градење индекс станува оперативен трошок кога корпусот се менува често или кога се заменува моделот за векторизација. Затоа брзото пребарување и брзото обновување на индексот се две одделни предности.

Филтрите додаваат реален оперативен услов

Ако RAG-апликацијата ги ограничува документите по клиент, дозвола, јазик или период, филтрираните барања се дел од основното оптоварување. Кај Qdrant, упатството за payload индекси препорачува индексирање на полињата за филтрирање пред внесувањето податоци: дополнителните врски во HNSW што помагаат при филтрирано пребарување се создаваат по индексот на payload. Ако тој се додаде подоцна, за користење на оптимизацијата може да биде потребна повторна изградба на HNSW.

Тоа бара порано да се утврдат полињата за дозволи и метаподатоци, но не кажува кој систем ќе биде побрз со конкретен филтер. Строг филтер може силно да го намали дозволениот подсклоп, а комбинација од услови може да го промени патот на пребарување. Споредба без истите филтри, истиот корпус и истите прашања би го мешала ефектот на индексот со ефектот на распоредот на податоците.

Одлуковна матрица за RAG-проект

  • Чисто векторско пребарување: Qdrant е разумен почетен избор кога пропусноста и доцнењето имаат најголема тежина; Weaviate заслужува предност кога повисокиот recall со почетни поставки е поважен. Објавеното мерење е насока, а не гаранција за друг корпус или конфигурација.
  • Хибридно пребарување: Weaviate е поедноставен избор ако главната потреба е директно подесување на тежината меѓу зборови и вектори. Qdrant е привлечен кога тимот сака одделни густи и ретки претставувања, различна длабочина на кандидати и експлицитно спојување. Релевантните пасуси се поважна мерка од самата удобност на синтаксата.
  • Филтрирани барања: одлучувајте според оптоварување што ги вклучува вистинските правила за пристап. Кај Qdrant планирајте ги payload индексите пред полнењето на корпусот; кај Weaviate задајте ги филтрите заедно со избраните hybrid параметри. Споредувајте и recall и доцнење на истите ограничени групи документи.

Прочитајте и:

Сподели:

Претплатете се на нашиот билтен

Добивајте ги најновите вести за Web3, AI и крипто директно во вашето сандаче.

0