Generowanie rozszerzonej generacji (RAG, Retrieval-Augmented Generation) zapewnia wiedzę LLM
W tym artykule opisano sposób pobierania rozszerzonej generacji pozwala llMs traktować źródła danych jako wiedzę bez konieczności trenowania.
LlMs mają obszerne baza wiedzy poprzez szkolenia. W przypadku większości scenariuszy możesz wybrać moduł LLM przeznaczony dla Twoich wymagań, ale te moduły LLM nadal wymagają dodatkowego szkolenia w celu zrozumienia określonych danych. Generowanie rozszerzonego pobierania umożliwia udostępnianie danych maszynom LLM bez ich wcześniejszego trenowania.
Jak działa rag
Aby przeprowadzić generowanie rozszerzonego pobierania, należy utworzyć osadzanie dla danych wraz z typowymi pytaniami dotyczącymi tych danych. Można to zrobić na bieżąco lub utworzyć i zapisać osadzanie przy użyciu rozwiązania wektorowej bazy danych.
Gdy użytkownik zadaje pytanie, funkcja LLM używa osadzania do porównywania pytania użytkownika z danymi i znajdowania najbardziej odpowiedniego kontekstu. Ten kontekst i pytanie użytkownika następnie przejdź do usługi LLM w wierszu polecenia, a usługa LLM udostępnia odpowiedź na podstawie Twoich danych.
Podstawowy proces RAG
Aby wykonać operację RAG, należy przetworzyć każde źródło danych, którego chcesz użyć do pobierania. Podstawowy proces jest następujący:
- Podziel duże dane na elementy, którymi można zarządzać.
- Przekonwertuj fragmenty na format możliwy do wyszukania.
- Przechowuj przekonwertowane dane w lokalizacji, która umożliwia wydajny dostęp. Ponadto ważne jest przechowywanie odpowiednich metadanych w przypadku cytatów lub odwołań, gdy usługa LLM udostępnia odpowiedzi.
- Przekaż przekonwertowane dane do usługi LLMs w monitach.
- Dane źródłowe: to miejsce, w którym istnieją twoje dane. Może to być plik/folder na maszynie, plik w magazynie w chmurze, zasób danych usługi Azure Machine Learning, repozytorium Git lub baza danych SQL.
- Fragmentowanie danych: dane w źródle muszą zostać przekonwertowane na zwykły tekst. Na przykład dokumenty programu Word lub pliki PDF muszą być otwierane i konwertowane na tekst. Tekst jest następnie podzielony na mniejsze fragmenty.
- Konwertowanie tekstu na wektory: są to osadzanie. Wektory to liczbowe reprezentacje pojęć konwertowanych na sekwencje liczbowe, co ułatwia komputerom zrozumienie relacji między tymi pojęciami.
- Linki między danymi źródłowymi i osadzaniem: te informacje są przechowywane jako metadane we utworzonych fragmentach, które są następnie używane do pomocy llms generować cytaty podczas generowania odpowiedzi.