BlogRAG
Czy twój asystent znajdzie te same dowody w każdym języku?
Nie automatycznie, a to, jak duża jest luka, da się zmierzyć. Zadaj te same pytania po angielsku, niemiecku i polsku, oznacz dla każdej wersji te same oczekiwane fragmenty i porównaj, jak często wyszukiwanie je znajduje dla każdej pary języka pytania i dokumentu. Luki biorą się zwykle z wyszukiwania po słowach kluczowych dostrojonego do jednego języka, ze złożeń i fleksji, z wewnętrznych pojęć nazywanych inaczej w każdym języku oraz z modeli embeddingów słabszych w niektórych językach.
Gdzie drugi język psuje wyszukiwanie
Firma działająca w Niemczech i w Polsce rzadko ma czysty podział. Polityki istnieją po niemiecku, część przetłumaczono na polski i angielski, a notatki techniczne mieszają angielskie terminy z polskimi zdaniami. Ludzie pytają w języku, w którym akurat myślą. Typowe problemy są konkretne:
- Niemieckie złożenia, gdzie Kündigungsfrist musi pasować do pytania o okres wypowiedzenia
- Polska fleksja, gdzie umowa, umowy i umowie to dla czytelnika to samo słowo, ale nie dla prostego indeksu słów kluczowych
- Wewnętrzne pojęcia i skróty, które w każdym języku brzmią inaczej albo istnieją tylko w jednym
- Odpowiedzi istniejące tylko w jednym języku, więc polskie pytanie musi trafić do niemieckiego dokumentu
Równoległy zestaw testowy
- 1
Zbierz prawdziwe pytania w każdym języku
Weź je z ticketów i czatów we wszystkich trzech językach, a nie tylko w języku zespołu projektowego.
- 2
Przetłumacz je ze znajomością dziedziny
Niech pozostałe wersje przygotują osoby, które na co dzień używają tych pojęć, z takimi sformułowaniami, jakich użyłby prawdziwy użytkownik.
- 3
Oznacz te same oczekiwane fragmenty
Wszystkie trzy wersje pytania wskazują te same identyfikatory fragmentów, a także równie ważne przetłumaczone kopie.
- 4
Zapisz języki po obu stronach
Przy każdym wyniku zapisuj język pytania i język dokumentu, żeby dało się pogrupować wyniki w macierz.
Pytania, na które dokumenty nie odpowiadają, też muszą być w każdym języku. Asystent, który po angielsku poprawnie odmawia, a po polsku wymyśla odpowiedź, ma problem językowy, którego nie pokaże test w jednym języku.
Jak czytać macierz języków
Expected passage found in the top 10, by query and document language
(hypothetical: 30 questions per cell, same expected passages in each row)
documents in EN documents in DE documents in PL
query in EN 28 24 22
query in DE 25 27 19
query in PL 23 17 26
Largest gap: PL questions about DE documents (17 / 30)
Failure review: 9 of 13 misses involve German compounds or internal
abbreviations that appear in the glossary but not in the queryLiczby są zmyślone, ale warto szukać takiego wzoru: najlepiej wypada przekątna, gdzie pytanie i dokument są w tym samym języku, a jedna komórka międzyjęzykowa odstaje. Przegląd błędów jest ważniejszy niż sam wynik, bo pokazuje, czy poprawiać analizatory, terminologię, czy model embeddingów.
Wyszukiwanie po słowach kluczowych wymaga analizy językowej
Wyszukiwanie po słowach kluczowych znajduje dokładne terminy, takie jak numery części i nazwy prawne, więc powinno zostać częścią wyszukiwania hybrydowego. Potrzebuje jednak właściwego analizatora dla każdego języka. Azure AI Search obsługuje na przykład niemiecki i polski zarówno analizatorami Lucene, jak i Microsoft; Microsoft dokumentuje, że jego analizatory dodają lematyzację i rozbijanie złożeń dla języków takich jak niemiecki, a indeksują średnio dwa do trzech razy wolniej. Pole przyjmuje jeden analizator językowy, więc treści wielojęzyczne trafiają zwykle do osobnych pól dla każdego języka, a zapytanie przeszukuje wszystkie, gdy jego język jest niepewny.
Embeddingi, tłumaczenie i wspólny słownik
Wielojęzyczne modele embeddingów umieszczają pytania i fragmenty w różnych językach w jednej przestrzeni. Praca o M3-Embedding opisuje na przykład model obsługujący ponad 100 języków z wyszukiwaniem gęstym, rzadkim i wielowektorowym, a autorzy podają dobre wyniki w benchmarkach wielojęzycznych i międzyjęzykowych. Benchmarki rzadko zawierają słownictwo twoich umów, więc porównaj dwa lub trzy modele na swoim równoległym zestawie. Tłumaczenie pytania na każdy język dokumentów i przeszukiwanie każdej wersji to wyjście awaryjne, które kosztuje czas i może źle przełożyć wewnętrzne pojęcia.
Wewnętrzna terminologia wymaga słownika z uzgodnioną angielską, niemiecką i polską nazwą każdego pojęcia, prowadzonego przez kogoś, kto rozstrzyga spory. Używaj go do rozszerzania zapytań i dopisywania równoważnych terminów do kontekstu chunków. Anthropic sugeruje, że dziedzinowy prompt do kontekstualizacji, ewentualnie ze słownikiem, może poprawić wyszukiwanie. Odpowiadaj w języku pytania i cytuj oryginalny fragment. Jeśli pokazujesz przetłumaczony cytat, oznacz go jako tłumaczenie i podlinkuj oryginał albo zatwierdzoną wersję tłumaczenia, żeby czytelnik mógł go sprawdzić.
Pytania
Czy przed indeksowaniem przetłumaczyć wszystkie dokumenty na jeden język?
Może to uprościć wyszukiwanie, ale tworzy drugą wersję każdego dokumentu, którą trzeba synchronizować, a jeśli tłumaczenia nie są sprawdzone i zatwierdzone, cytowania wskazują tekst, który może różnić się od obowiązującego oryginału. Najpierw indeksuj oryginały, a tłumaczenia, oznaczone jako takie i powiązane ze źródłem, dodawaj tylko tam, gdzie macierz pokazuje lukę, której nie da się zamknąć inaczej.
Ile pytań na język potrzebujemy?
Tyle, żeby objąć każdy ważny typ dokumentu w każdym języku i zobaczyć błędy w każdej komórce macierzy. Zacznij od małego zestawu, przejrzyj każde pudło i rozszerzaj zestaw tam, gdzie błędy się skupiają.
W jakim języku powinien odpowiadać asystent?
Zwykle w języku pytania, z cytatami oryginalnych fragmentów w języku, w którym je napisano. Przetestuj to zachowanie wprost, bo niektóre modele przechodzą na język pobranych dokumentów, gdy większość kontekstu jest w innym języku.
Powiązane usługi
Tworzenie systemów RAG
Asystenci odpowiadający na podstawie twoich wewnętrznych dokumentów, z uprawnieniami, źródłami i testami na twoich pytaniach.
Inżynieria i architektura AI
Asystenci, interfejsy głosowe i agenci w produktach, które sprzedajesz, razem z serwowaniem modeli i wyszukiwaniem pod spodem.
Więcej z bloga
Wyszukiwanie czy generowanie?
Procedura diagnostyczna, która pokazuje, czy błędna odpowiedź RAG zaczęła się w ingestii, wyszukiwaniu, rerankingu czy w modelu, z oznaczonymi dowodami i śladem dla każdego pytania.
Chunking dokumentów biznesowych
Jak dzielić umowy, polityki i długie procedury tak, żeby odpowiedź pozostała przy swoich wyjątkach i definicjach, oraz jak wybrać strategię eksperymentalnie na własnych pytaniach.
Jakość cytowań w RAG
Jak sprawdzić, czy fragmenty cytowane przez asystenta faktycznie potwierdzają każde jego twierdzenie: weryfikacja pojedynczych twierdzeń, przykład i kryteria odbioru.
Porozmawiaj z inżynierem
Przyjdź z jednym zadaniem, które chcesz usprawnić. Rozmowa trwa 30 minut i nie wymaga dostępu do twoich systemów ani danych.
Rezerwacja odbywa się w Kalendarzu Google.
Wolisz najpierw napisać? Zostaw adres e-mail i kilka zdań, a odpowiemy, proponując terminy.
Sprawdź wersję roboczą w swoim programie pocztowym
Wyślij ją stamtąd, a inżynier odpowie ci osobiście, proponując terminy 30-minutowej rozmowy. Jeśli wersja robocza się nie otworzyła, napisz do nas na adres miki@cloudsail.com.