Ragable

← Wszystkie artykuły

Wybór modelu embeddingów do firmowej bazy wiedzy

4 min czytania
Wybór modelu embeddingów do firmowej bazy wiedzy

Każdy asystent oparty na retrieval augmented generation stoi na jednym elemencie, o którym nikt nie mówi na etapie demo: modelu embeddingów. To on decyduje, które fragmenty wrócą, gdy ktoś zada pytanie, a wszystko dalej dziedziczy tę decyzję. Traktujemy ten wybór jak problem inżynierski z mierzalnymi odpowiedziami. Nie jak sięganie po to, co w zeszłym miesiącu było na szczycie rankingu.

Co naprawdę rozstrzyga model embeddingów

Model zamienia fragmenty dokumentów i pytania użytkowników na wektory. Jakość wyszukiwania jest ograniczona tym, jak czysto rozdziela on twój materiał - i żaden model generujący, choćby najmocniejszy, nie uratuje słabego retrievera. Asystent odpowiada tylko z tekstu, który dostał. Słabe wyszukiwanie to nie tylko mgliste zdania, ale też złe źródła przy odpowiedzi, bo podane źródło to po prostu to, co wróciło z indeksu. Trzymaj trzy zadania osobno: chunking, embedding, reranking.

Zacznij od własnego korpusu, nie od rankingu

Publiczne benchmarki mierzą ogólne teksty z sieci i prace naukowe. Twoja baza wiedzy to umowy, zgłoszenia, procedury, karty katalogowe i notatki ze spotkań. Numery katalogowe, wewnętrzne nazwy produktów i firmowe skróty źle zachowują się w modelach ogólnego przeznaczenia, a materiał wielojęzyczny wymaga modelu wielojęzycznego, nawet jeśli interfejs jest tylko po angielsku. Zapisz te cechy korpusu, zanim zaczniesz układać krótką listę:

  • Występujące języki, łącznie z tymi sporadycznymi
  • Typy dokumentów i ich udział w całości
  • Średnia długość fragmentu po zastosowaniu twoich reguł chunkingu
  • Udział tabel i bloków kodu
  • Częstotliwość aktualizacji i poziom wrażliwości danych

Hostowane API czy własne wagi

Hostowane API daje mocny punkt wyjścia bez GPU do pilnowania. Ceną jest to, że każdy dokument i każde zapytanie opuszcza sieć. Modele open weight działają na sprzęcie klienta i przy materiale regulowanym albo poufnym to często jedyna dopuszczalna odpowiedź. Różni się też czas odpowiedzi: wywołanie API dokłada podróż w obie strony, której rozgrzane lokalne GPU nie ma. Zmiana modelu później oznacza policzenie embeddingów dla wszystkiego od nowa, więc traktuj ten wybór jako półtrwały i wersjonuj indeks.

Wymiary, okno kontekstu i koszt indeksu

Szerokość wektora decyduje o miejscu na dysku i w pamięci bazy, a szerszy nie znaczy automatycznie lepiej wyszukujący. Modele z możliwością obcięcia wymiarów pozwalają oddać odrobinę trafności za dużo mniejszy indeks, co zaczyna mieć znaczenie, gdy korpus rośnie. Limit wejścia wyznacza twardy sufit dla wielkości fragmentu - wszystko dłuższe zostaje po cichu ucięte. Wskazówka: mierz rozmiar indeksu i czas zapytania na swojej realnej liczbie dokumentów, nigdy na kilkuset przykładowych fragmentach.

Zbuduj zestaw testowy z prawdziwych pytań

Zbierz to, o co naprawdę pytają ludzie, którzy będą korzystać z asystenta. Razem z przykładami źle sformułowanymi. Oznacz fragment, który odpowiada na każde z nich, a potem oceniaj kandydatów przez recall at k zamiast subiektywnych rzutów oka. Od pięćdziesięciu do dwustu oznaczonych pytań zwykle wystarcza, żeby oddzielić poważnych kandydatów od reszty.

  1. Zbierz prawdziwe pytania od przyszłych użytkowników
  2. Zaznacz do każdego wzorcowy fragment
  3. Policz embeddingi korpusu każdym kandydującym modelem
  4. Puść identyczne zapytania na każdym indeksie
  5. Porównaj trafienia at k, potem obejrzyj pudła ręcznie

Gdzie się mieści reranker

Cross encoder czyta zapytanie i fragment razem, przestawia szerszą listę kandydatów i wyłapuje to, czego samo podobieństwo wektorów nie widzi. Typowy układ: wyszukaj szeroko szybkim modelem, przestaw kolejność najlepszych kandydatów, przekaż mały zestaw do generowania. W praktyce daje to więcej trafności niż wymiana modelu embeddingów, a płacisz za to dodatkową inferencją przy każdym zapytaniu. Wskazówka: zanim wymienisz model, zwiększ k i dołóż reranker - to dużo taniej niż liczenie embeddingów całego korpusu od nowa.

Praktyczna ścieżka wyboru

Wybierz dwa albo trzy modele spełniające ograniczenie wdrożeniowe, a potem uszereguj je według zmierzonej jakości wyszukiwania na własnym zestawie. Trzymaj pipeline niezależny od modelu: zapisuj nazwę i wersję modelu przy każdym wektorze, żeby migracja była przebudową, a nie przepisywaniem. Wracaj do oceny, gdy korpus rośnie i pojawiają się nowe typy dokumentów. I miej na oku wyszukiwanie hybrydowe, bo dopasowanie po słowach kluczowych nadal wygrywa przy dokładnych identyfikatorach i kodach błędów.

FAQ

Czy musimy dotrenować model embeddingów na własnych dokumentach?

Zwykle nie. Lepszy chunking, wyszukiwanie hybrydowe i reranker dają więcej mniejszym nakładem, a dotrenowanie zostawia cię z obowiązkiem powtarzania treningu przy każdej zmianie korpusu.

Co się stanie, jeśli później zmienimy model embeddingów?

Cały korpus dostaje embeddingi od nowa, a indeks trzeba przebudować. Zapytania i zapisane wektory zawsze muszą pochodzić z tego samego modelu, więc częściowa migracja daje ciche bzdury.

Czy jeden model obsłuży dokumenty w kilku językach?

Model wielojęzyczny może, ale sprawdź wyszukiwanie między językami na własnym zestawie testowym, zamiast wierzyć etykiecie.

Podsumowanie

Kolejność, która działa: najpierw ograniczenie wdrożeniowe, potem dopasowanie do korpusu, na końcu zmierzona jakość wyszukiwania na pytaniach, które użytkownicy naprawdę zadają. Benchmarki zawężają krótką listę. Zwycięzcę wybiera oznaczony zestaw testowy. Zaprojektuj pipeline tak, żeby model dało się wymienić bez ruszania logiki aplikacji, bo prędzej czy później trzeba będzie.

Zbuduj asystenta AI na własnych dokumentach

Ragable indeksuje Twoje pliki i odpowiada na ich podstawie, z odnośnikami do źródeł. Zacznij w SaaS albo postaw na własnej infrastrukturze.

Zacznij od 99 USD miesięcznie