Liderzy opinii
Ewolucja RAG – Podstawy Agentic RAG
Czym jest RAG (Retrieval-Augmented Generation)?
Retrieval-Augmented Generation (RAG) to technika, która łączy zalety dużych modeli językowych (LLM) z zewnętrznym pobieraniem danych, aby poprawić jakość i trafność generowanych odpowiedzi. Tradycyjne LLM używają swoich wstępnie wyuczonych baz wiedzy, natomiast potoki RAG pobierają dane z zewnętrznych baz danych lub dokumentów w czasie wykonywania i pobierają odpowiednie informacje, aby wygenerować bardziej dokładne i bogate w kontekst odpowiedzi. Jest to szczególnie przydatne w przypadkach, gdy pytanie jest złożone, szczegółowe lub oparte na określonym przedziale czasowym, ponieważ odpowiedzi modelu są poinformowane i wzbogacone o najnowsze informacje z danej dziedziny.
Obecny krajobraz RAG
Duże modele językowe całkowicie zmieniły sposób, w jaki dostępujemy i przetwarzamy informacje. Opieranie się wyłącznie na wewnętrznej wiedzy przedwejściowej może jednak ograniczyć elastyczność ich odpowiedzi, szczególnie w przypadku złożonych pytań. Retrieval-Augmented Generation rozwiązuje ten problem, pozwalając LLM na pobieranie i analizę danych z innych dostępnych źródeł, aby wygenerować bardziej dokładne i wnikliwe odpowiedzi.
Ostatnie postępy w dziedzinie pobierania informacji i przetwarzania języka naturalnego, szczególnie LLM i RAG, otwierają nowe możliwości efektywności i zaawansowania. Te postępy można ocenić na następujących szerokich konturach:
- Ulepszona pobieranie informacji: Poprawa pobierania informacji w systemach RAG jest bardzo ważna dla efektywnej pracy. Ostatnie prace opracowały różne wektory, algorytmy ponownego rangowania, hybrydowe metody wyszukiwania w celu poprawy precyzyjnego wyszukiwania.
- Pamięć semantyczna: Okazuje się, że jest to jeden z głównych sposobów, w jaki koszt obliczeniowy jest zmniejszony bez konieczności rezygnacji z spójnych odpowiedzi. Oznacza to, że odpowiedzi na bieżące zapytania są buforowane wraz z ich semantycznym i pragmatycznym kontekstem, co ponownie sprzyja szybszym czasom odpowiedzi i dostarcza spójne informacje.
- Integracja multimodalna: Oprócz systemów LLM i RAG opartych na tekście, ten podejście obejmuje również wizualne i inne modalności ramy. Umożliwia dostęp do większej różnorodności materiałów źródłowych i prowadzi do odpowiedzi, które są coraz bardziej zaawansowane i coraz bardziej dokładne.
Wyzwania tradycyjnych architektur RAG
Podczas gdy RAG ewoluuje, aby spełniać różne potrzeby, nadal istnieją wyzwania, które stoją przed tradycyjnymi architekturami RAG:
- Streszczenie: Streszczenie dużych dokumentów może być trudne. Jeśli dokument jest długi, konwencjonalna struktura RAG może pominąć ważne informacje, ponieważ pobiera tylko najważniejsze elementy.
- Porównanie dokumentów: Skuteczne porównanie dokumentów wciąż jest wyzwaniem. Ramy RAG często prowadzą do niepełnego porównania, ponieważ wybiera najważniejsze fragmenty z każdego dokumentu w sposób losowy.
- Analiza danych strukturalnych: Trudno jest radzić sobie z zapytaniami o dane numeryczne, takimi jak określenie, kiedy pracownik weźmie następny urlop, w zależności od miejsca zamieszkania. Dokładne pobieranie punktów danych i analiza nie są dokładne w przypadku tych modeli.
- Obsługa zapytań z wieloma częściami: Odpowiadanie na pytania z wieloma częściami wciąż jest ograniczone. Na przykład, znalezienie wspólnych wzorców urlopów we wszystkich obszarach dużej organizacji jest trudne, gdy jest się ograniczonym do K elementów, co ogranicza kompleksowe badania.
Ruch w kierunku Agentic RAG
Agentic RAG wykorzystuje inteligentne agenty do odpowiedzi na skomplikowane pytania, które wymagają starannego planowania, wieloetapowego rozumowania i integracji zewnętrznych narzędzi. Agenci ci wykonują zadania doświadczonego badacza, sprawnie poruszając się po wielu dokumentach, porównując dane, streszczając wyniki i generując kompleksowe, precyzyjne odpowiedzi.
Pojęcie agentów jest wprowadzane w klasycznej ramie RAG, aby poprawić funkcjonalność i możliwości systemu, co prowadzi do stworzenia agentic RAG. Agenci ci wykonują dodatkowe zadania i rozumowanie poza podstawowym pobieraniem informacji i generowaniem, a także koordynują i kontrolują różne elementy potoku RAG.
Trzy podstawowe strategie Agentic
Route’ry wysyłają zapytania do odpowiednich modułów lub baz danych w zależności od ich typu. Route’ry dynamicznie podejmują decyzje przy użyciu dużych modeli językowych, aby określić, do którego silnika powinny być wysłane w celu poprawy dokładności i efektywności potoku.
Transformacje zapytań są procesami zaangażowanymi w przekształcanie zapytania użytkownika, aby najlepiej dopasować informacje, które są wymagane, lub odwrotnie, aby najlepiej dopasować to, co baza danych oferuje. Może to być jeden z następujących: przekształcenie, rozszerzenie lub rozbicie złożonych pytań na proste podpytania, które są łatwiejsze do obsłużenia.
Wymaga to również silnika zapytań podpytań, aby sprostać wyzwaniu odpowiedzi na złożone zapytanie przy użyciu kilku źródeł danych.
Najpierw złożone pytanie jest rozłożone na proste pytania dla każdego ze źródeł danych. Następnie wszystkie pośrednie odpowiedzi są zebrane, a ostateczny wynik jest syntetyzowany.
Warstwy Agentic dla potoków RAG
- Routing: Pytanie jest kierowane do odpowiedniej bazy wiedzy opartej na znaczeniu. Przykład: Gdy użytkownik chce uzyskać rekomendacje dla określonych kategorii książek, zapytanie może być skierowane do bazy wiedzy zawierającej wiedzę o tych kategoriach książek.
- Planowanie zapytania: Obejmuje rozłożenie zapytania na podzapytania, a następnie wysłanie ich do odpowiednich poszczególnych potoków. Agent generuje podzapytania dla wszystkich elementów, takich jak rok w tym przypadku, i wysyła je do odpowiednich baz wiedzy.
- Użycie narzędzi: Model języka komunikuje się z API lub zewnętrznym narzędziem, wiedząc, co to będzie wymagało, na jakiej platformie komunikacja ma się odbywać, i kiedy będzie to konieczne. Przykład: Dane żądanie użytkownika dotyczące prognozy pogody na dany dzień, model języka komunikuje się z API pogody, identyfikując lokalizację i datę, a następnie parsuje wynik z API, aby dostarczyć odpowiednie informacje.
- ReAct jest procesem iteracyjnym myślenia i działania połączonym z planowaniem, używaniem narzędzi i obserwacją.
Na przykład, aby zaprojektować plan wakacyjny od początku do końca, system będzie brał pod uwagę wymagania użytkownika i pobierał szczegóły dotyczące trasy, atrakcji turystycznych, restauracji i zakwaterowania, wywołując API. Następnie system sprawdzi wyniki pod kątem poprawności i istotności, generując szczegółowy plan podróży istotny dla wskazówek użytkownika i harmonogramu. - Planowanie dynamicznego zapytania: Zamiast wykonywać sekwencyjnie, agent wykonuje wiele akcji lub podzapytań jednocześnie, a następnie agreguje te wyniki.
Na przykład, jeśli ktoś chce porównać wyniki finansowe dwóch firm i określić różnicę w pewnym wskaźniku, wówczas agent będzie przetwarzał dane dla obu firm równolegle, zanim połączy wyniki; LLMCompiler jest takim frameworkiem, który prowadzi do takiej efektywnej orkiestracji równoległych wywołań funkcji.
Agentic RAG i LLMaIndex
LLMaIndex reprezentuje bardzo wydajną implementację potoków RAG. Biblioteka po prostu wypełnia brakujący element w integracji danych organizacyjnych ze strukturalnymi modelami AI, dostarczając wygodę dla narzędzi w przetwarzaniu i pobieraniu danych, a także interfejsy do różnych źródeł danych. Główne składniki LlamaIndex są opisane poniżej.
LlamaParse parsuje dokumenty.
Llama Cloud to usługa dla przedsiębiorstw z wdrożonymi potokami RAG, wymagającymi minimalnej ręcznej pracy.
Korzystając z wielu LLM i magazynu wektorów, LlamaIndex zapewnia zintegrowany sposób budowania aplikacji w Pythonie i TypeScript z RAG. Jego cechy sprawiają, że jest to bardzo pożądany element przez firmy, które chcą wykorzystać AI do podejmowania lepszych, opartych na danych decyzji.
Kluczowe składniki implementacji Agentic RAG z LLMaIndex
Przejdźmy do szczegółów niektórych składników agentic RAG i ich implementacji w LlamaIndex.
1. Użycie narzędzi i routing
Agent routingowy wybiera, który LLM lub narzędzie jest najlepsze do danego pytania, w zależności od typu pytania. Prowadzi to do decyzji wrażliwych na kontekst, takich jak czy użytkownik chce przeglądu czy szczegółowego podsumowania. Przykładami takich podejść jest Router Query Engine w LlamaIndex, który dynamicznie wybiera narzędzia, które maksymalizują odpowiedzi na zapytania.
2. Długotrwałe utrzymanie kontekstu
Podczas gdy najważniejszym zadaniem pamięci jest utrzymanie kontekstu przez wiele interakcji, w przeciwieństwie do tego, agenci wyposażeni w pamięć w wariantach agentic RAG są stale świadomi interakcji, które prowadzą do spójnych i kontekstowo bogatych odpowiedzi.
LlamaIndex zawiera również silnik czatu, który ma pamięć na potrzeby rozmów kontekstowych i pojedynczych zapytań. Aby uniknąć przepełnienia okna kontekstowego LLM, taka pamięć musi być ściśle kontrolowana podczas długich dyskusji i zredukowana do zsumowanego kształtu.
3. Silniki podpytań do planowania
Często konieczne jest rozbicie złożonego zapytania na mniejsze, zarządzalne zadania. Silnik zapytań podpytań jest jedną z podstawowych funkcjonalności, dla których LlamaIndex jest używany jako agent, gdzie duże zapytanie jest rozbijane na mniejsze, wykonywane sekwencyjnie, a następnie łączone w celu utworzenia spójnej odpowiedzi. Możliwość agentów do badania wielu aspektów zapytania krok po kroku reprezentuje pojęcie wieloetapowego planowania w przeciwieństwie do liniowego.
4. Refleksja i korekta błędów
Agenci refleksyjni generują dane wyjściowe, ale następnie sprawdzają jakość tego danych wyjściowych, aby wprowadzić poprawki, jeśli jest to konieczne. Ta umiejętność jest najważniejsza, aby zapewnić dokładność i to, co jest zamierzone przez osobę. Dzięki samorefleksyjnym workflow LlamaIndex, agent przegląda swoje działanie, retrying lub dostosowując działania, które nie spełniają określonych poziomów jakości. Ale ponieważ jest samokorygujący, Agentic RAG jest w pewnym stopniu godny zaufania dla tych aplikacji przedsiębiorstw, w których niezawodność jest kluczowa.
5. Złożone rozumowanie agentic:
Drzewiasta eksploracja ma zastosowanie, gdy agenci muszą badać wiele możliwych dróg, aby osiągnąć coś. W przeciwieństwie do sekwencyjnego podejmowania decyzji, drzewiaste rozumowanie pozwala agentowi rozważyć wiele strategii jednocześnie i wybrać najbardziej obiecującą na podstawie kryteriów oceny aktualizowanych w czasie rzeczywistym.
LlamaCloud i LlamaParse
Z jego szerokim zakresem zarządzanych usług zaprojektowanych dla kontekstowego wzmocnienia LLM i aplikacji RAG, LlamaCloud jest dużym skokiem w środowisku LlamaIndex. To rozwiązanie pozwala inżynierom AI skupić się na rozwijaniu kluczowej logiki biznesowej, redukując skomplikowany proces manipulacji danymi.
Inny silnik parsujący dostępny jest LlamaParse, który integruje się wygodnie z potokami pobierania i przechowywania w LlamaIndex. Stanowi to jeden z najważniejszych elementów, które radzą sobie z złożonymi, półstrukturalnymi dokumentami z osadzonymi obiektami, takimi jak tabele i rysunki. Kolejnym ważnym elementem budulcowym jest zarządzany interfejs pobierania i przechowywania API, który zapewnia wiele sposobów łatwego ładowania, przetwarzania i przechowywania danych z dużej liczby źródeł, takich jak centralne repozytorium danych LlamaHub lub dane wyjściowe LlamaParse. Ponadto obsługuje różne integracje przechowywania danych.
Podsumowanie
Agentic RAG reprezentuje przesunięcie w przetwarzaniu informacji poprzez wprowadzenie większej inteligencji do samych agentów. W wielu sytuacjach Agentic RAG może być połączony z procesami lub różnymi API, aby dostarczyć bardziej dokładny i wyrafinowany wynik. Na przykład, w przypadku streszczenia dokumentu, Agentic RAG oceniłby cel użytkownika, zanim stworzyłby streszczenie lub porównał szczegóły. Podczas oferowania pomocy technicznej, Agentic RAG może dokładnie i indywidualnie odpowiedzieć na coraz bardziej złożone zapytania klientów, nie tylko na podstawie ich modelu szkoleniowego, ale także dostępnej pamięci i zewnętrznych źródeł. Agentic RAG podkreśla przesunięcie od modeli generatywnych do bardziej dopracowanych systemów, które wykorzystują inne typy źródeł, aby osiągnąć solidny i dokładny wynik. Jednakże, będąc generatywnymi i inteligentnymi, jakimi są teraz, te modele i Agentic RAG są na drodze do wyższej efektywności, ponieważ coraz więcej danych jest dodawanych do potoków.












