Zyski:
- Wdrożenie wyszukiwania hybrydowego, które łączy wybór górnego k oraz wyszukiwanie semantyczne i słowa kluczowe
- Zwiększenie trafności pierwszego wyszukiwania dzięki ponownemu rankingu
- Zwiększenie możliwości wyszukiwania trudnych pytań dzięki technikom takim jak transformacja zapytań i HyDE
Ładnie zniszczyłeś dokumenty i umieściłeś je w bazie danych wektorów. Teraz prawdziwa praca: pobieranie właściwych elementów, gdy użytkownik zadaje pytanie. Nazywa się to odzyskiwaniem i stanowi podstawę jakości RAG. Zapamiętaj frazę „Jakość wyszukiwania = jakość RAG”; To urządzenie jest prawdziwą sztuką poprawy tej jakości. Omówimy praktyczne techniki, od wyboru top-k po wyszukiwanie hybrydowe, od ponownego rankingu po transformację zapytań.
Top-k: Ile sztuk przyniesiemy?
Najbardziej podstawowe ustawienie: ile sztuk (k) zwrócić z wyszukiwania. Jeśli przyniesiesz mniej (k=1), istnieje duże ryzyko, że przegapisz właściwy element; Jeśli dodasz za dużo (k=20), spowoduje to dodanie szumu do modelu i koszt tokena wzrośnie.
Rozróżnij dwa pojęcia. Przypomnienie: tempo, w jakim właściwy element znajduje się wśród odzyskanych. Precyzja: tempo, w jakim to, co jest pobierane, jest istotne. Zwiększanie k zwiększa przywołanie, ale zmniejsza precyzję. Celem jest zrównoważenie obu.
góra-k
Wpływ
odpowiednia sytuacja
1-3
Wysoka precyzja, ryzyko chybienia
Proste pytania z jedną odpowiedzią
4-8
Równowaga; większość scenariuszy
Ogólne korporacyjne RAG
10-20
Wyższe przywołanie powoduje wzrost hałasu
Z ponownym rankingiem (poniżej)
Wskazówka: powszechny i skuteczny wzorzec: pobierz szeroko (k=20), a następnie zawęź z ponownym rankingiem (górne 4). W ten sposób niczego nie przeoczysz i nadasz modelowi czysty kontekst.
Wyszukiwanie hybrydowe: siła dwóch wyszukiwań
Wyszukiwanie semantyczne (wektorowe) przechwytuje znaczenie, ale pomija takie rzeczy: pełny kod produktu („XR-4471”), rzadki skrót, nazwę własną, numer wersji. W przypadku zadań związanych z dopasowaniem ścisłym bardzo dobrze sprawdza się tradycyjne wyszukiwanie słów kluczowych — zwłaszcza klasyczny algorytm o nazwie BM25.
Wyszukiwanie hybrydowe łączy w sobie jedno i drugie: działa zarówno wyszukiwanie semantyczne, jak i wyszukiwanie słów kluczowych, łącząc wyniki. Tym samym w pytaniu typu „Okres gwarancji
Łączenie odbywa się zwykle za pomocą RRF (Reciprocal Rank Fusion): utwór znajdujący się wyżej na obu listach pojawia się wyżej.
# Pobieranie hybrydowe (koncepcyjne)sem = wektor_wyszukiwanie(pytanie, k=20) # klucz znaczenia = bm25_search(pytanie, k=20) # fullwordresult = rrf_merge(sem, klucz)[:8] # połącz dwa, górne 8
Zmiana rankingu: druga i mądrzejsza przepustka
Pierwsza rozmowa może być szybka, ale niegrzeczna. W ramach ponownego rankingu kandydaci zwróceni w pierwszym wyszukiwaniu oceniani są jeden po drugim za pomocą mocniejszego modelu (zwykle cross-enkodera — modelu, który odczytuje pytanie i fragment razem oraz ocenia trafność) i przenosi najbardziej odpowiednich na górę.
Logika jest następująca: w pierwszym wyszukiwaniu przydzielana jest duża liczba kandydatów do przypomnienia (20 kandydatów), osoba dokonująca ponownego rankingu wybiera 4 najlepszych pod względem precyzji. To dwuetapowe podejście jest znacznie dokładniejsze niż wyszukiwanie jednoetapowe. Kosztuje to pewne opóźnienie i dodatkowe przetwarzanie; Zyskiem jest znaczny wzrost jakości.
# Dwuetapowe wyszukiwanie (koncepcyjnych)kandydatów = hybrid_search(pytanie, k=20) # broad, Quickscore = reranker.score(pytanie, kandydaci) # Wynik trafności dla każdego kontekstu kandydata = rating.rank()[:4] # top 4
Przekształcanie zapytania
Czasami problem nie leży w wyszukiwaniu, ale w samym pytaniu. Jeśli użytkownik zapyta „a co z pracownikami zdalnymi?” ”, nie można tego szukać samodzielnie (nie jest jasne, co dotyczy pracowników zdalnych). Oto techniki transformacji zapytań:
- Przepisz: Użyj historii rozmów, aby zadać pytanie osobno: „Jaki pracownicy zdalni są uprawnieni do corocznego urlopu?”
- Wiele zapytań: wygeneruj 3 różne wyrażenia tego samego pytania, wyszukaj je wszystkie, połącz wyniki. Różne słowa znajdują różne elementy.
- HyDE (Hipotetyczne osadzanie dokumentów): Najpierw wydrukuj „możliwą odpowiedź” do modelu, a następnie osadź i wyszukaj tę wyimaginowaną odpowiedź. Wyimaginowana odpowiedź czasami okazuje się lepsza, ponieważ słowami jest bliższa prawdziwemu dokumentowi.
# Warianty (pojęciowe) z wieloma zapytaniami = model.uret("Wyraź to pytanie na 3 różne sposoby: " + pytanie)tum_sonuc = []dla v w wariantach: all_sonuc += wektor_intermediate(v, k=6)context = singular_and_order(tum_result)[:6]
Słabe odzyskiwanie/silne odzyskiwanie
Słabe (jednostopniowe, tylko semantyka, stała k=3):
wynik = wektor_wyszukiwanie(pytanie, k=3)# Problem: brak kodu produktu, w przypadku trudnych pytań nie można wprowadzić poprawnej części 3.
Potężny (hybryda + widek + ponowny ranking + wiele zapytań, jeśli to konieczne):
Candidate = hybrid_search(rewrite(pytanie, przeszłość), k=20)context = reranker.score(pytanie, kandydaci).first(4)# Przechwytywane są zarówno dokładne dopasowanie, jak i znaczenie; Trafia do 4 najlepszych modeli.
Trzy mini etui
Przypadek 1 — Uciekł kod produktu. Czyste wyszukiwanie semantyczne w zespole wsparcia nie pozwoliło znaleźć dosłownie słowa „RTX-9080” w pytaniu „Błąd sterownika RTX-9080”; Przywiózł inne produkty o podobnych nazwach. Po dodaniu wyszukiwania hybrydowego nastąpiło dokładne dopasowanie kodu, a odsetek zwracanych prawidłowych artykułów wzrósł z 58% do 92%.
Przypadek 2 – Różnica w ponownym rankingu. Asystent prawny pracował z k=5, ale w większości przypadków prawidłowa pozycja to 7-10. Pozostał w szeregach. Po wprowadzeniu rerankingu k=20 + odsetek znalezienia się prawidłowego artykułu w pierwszej trójce wzrósł z 61% do 94%; Opóźnienie zwiększone jedynie o 300 ms — akceptowalny kompromis.
Przypadek 3 – Pytanie uzupełniające bez kontekstu. W asystencie HR użytkownik pyta „a co z pracownikami zatrudnionymi na pół etatu?” Kiedy zapytałem, system przyniósł nieistotne części. Przepisując zapytanie (wyciągając kontekst „urlopu corocznego” z przeszłości i dodając „Pracownicy zatrudnieni w niepełnym wymiarze czasu pracy mają prawo do urlopu corocznego”), odsetek prawidłowych odpowiedzi wzrósł z 40% do 86%.
Typowe błędy
- Opierając się wyłącznie na wyszukiwaniu semantycznym: brakuje kodu produktu, skrótu, nazwy własnej; Dodaj hybrydę.
- Utrzymywanie k za małego: właściwy element nie może zostać umieszczony na liście; poszerzaj i zawężaj, zmieniając rangę.
- Nigdy nie myśl o zmianie rankingu: pierwsze wyszukiwanie jest niegrzeczne; Drugie inteligentne przejście znacznie poprawia jakość.
- Wyszukiwanie pytań uzupełniających w niezmienionej postaci: Pytanie bez kontekstu szuka informacji bez znaczenia; przepisać.
- Ślepe zwiększanie k (bez ponownej rangi): Model jest wypełniony szumem, odpowiedź jest zniekształcona, a koszt wzrasta.
Uwaga: każda technika zwiększa koszty i opóźnienia. Multi-zapytanie oznacza potrójne wyszukiwanie, re-ranking oznacza dodatkowe wywołanie modelu. Zacznij od prostej hybrydy + najpierw rozsądne k; Zmierz i dodaj ciężkie techniki tam, gdzie jest to naprawdę potrzebne. Dodawanie bez mierzenia.
Podsumowując
- Top-k to równowaga pomiędzy przypominaniem i precyzją; Generalnie 4-8 to dobry początek.
- Wyszukiwanie hybrydowe łączy wyszukiwanie semantyczne z wyszukiwaniem według słów kluczowych (BM25); Odzyskuje dokładne dopasowania.
- Ponowny ranking ponownie ocenia kandydatów z szerokiego wstępnego wyszukiwania za pomocą solidnego modelu i wybiera najlepszych.
- Transformacja zapytań (przepisywanie, wielokrotne zapytania, HyDE) umożliwia przeszukiwanie trudnych i bezkontekstowych pytań.
- Silny wzorzec: szerokie pobieranie → połączenie z hybrydą → zawężenie z ponownym uszeregowaniem; ale dodaj każdą technikę, mierząc ją.
Zadanie aplikacji
Przygotuj 6 trudnych pytań z danymi z poprzednich jednostek: co najmniej 2 wymagające dokładnego dopasowania (kod produktu, skrót, data), 2 semantyczne (ten sam temat z innymi słowami), 2 pytania uzupełniające bez kontekstu. (1) Najpierw pomyśl o każdym pytaniu jak o wyszukiwaniu semantycznym i ręcznie zaznacz, które części się pojawią. (2) Dokonaj ponownej oceny tych samych pytań, dodając hybrydę i zmianę rankingu. (3) Przepisz pytania uzupełniające bez kontekstu. Zanotuj w formie tabelarycznej, która technika ma wpływ na rodzaj pytania.
lista kontrolna
- [ ] Wiem, że top-k to równowaga z precyzją przywoływania i rozsądny zakres początkowy.
- [ ] Potrafię wyjaśnić, dlaczego wyszukiwanie hybrydowe pozwala uzyskać dokładne dopasowania.
- [ ] Potrafię zastosować dwuetapową logikę ponownego rankingu (szeroki → inteligentny wąski).
- [ ] Uznaję potrzebę przepisania pytań uzupełniających bez kontekstu.
- [ ] Potwierdzam, że dodałem ciężkie techniki mierząc, a nie mierząc.