Udostępnij za pośrednictwem


RAG (Retrieval Augmented Generation - Generowanie wspomagane pobieraniem) na Azure Databricks

Generowanie wspomagane pobieraniem (RAG) to potężna technika, która łączy wielkie modele językowe (LLM) z pobieraniem danych w czasie rzeczywistym, aby generować dokładniejsze, up-to-date i kontekstowo odpowiednie odpowiedzi.

Takie podejście jest szczególnie przydatne w przypadku odpowiadania na pytania dotyczące własności, często zmieniających się lub specyficznych dla domeny informacji.

Co to jest generacja wspomagana wyszukiwaniem?

W najprostszej formie agent RAG wykonuje następujące czynności:

  1. Pobieranie: żądanie użytkownika służy do wykonywania zapytań poza bazą wiedzy, takich jak magazyn wektorów, wyszukiwanie słów kluczowych lub baza danych SQL. Celem jest uzyskanie danych wspierających odpowiedź LLM.
  2. Rozszerzenie: dane pomocnicze są łączone z żądaniem użytkownika, często przy użyciu szablonu z dodatkowym formatowaniem i instrukcjami dla usługi LLM w celu utworzenia monitu.
  3. Generowanie: Polecenie przekazuje się do LLM w celu wygenerowania odpowiedzi na żądanie użytkownika.

Przepływ aplikacji RAG z żądania użytkownika do pobierania danych i odpowiedzi.

Korzyści RAG

Funkcja RAG ulepsza moduły LLM w następujący sposób:

  • Zastrzeżona wiedza: RAG może zawierać zastrzeżone informacje, które nie są początkowo używane do trenowania usługi LLM, takich jak notatki, wiadomości e-mail i dokumenty, aby odpowiedzieć na pytania specyficzne dla domeny.
  • Aktualne informacje: Aplikacja RAG może dostarczać LLM informacje z zaktualizowanej bazy wiedzy.
  • Powołując się na źródła: RAG umożliwia LLMs przytaczanie określonych źródeł, umożliwiając użytkownikom weryfikowanie faktycznej dokładności odpowiedzi.
  • Listy zabezpieczeń danych i kontroli dostępu (ACL): Krok pobierania można zaprojektować w celu selektywnego pobierania informacji osobistych lub zastrzeżonych na podstawie poświadczeń użytkownika.

Składniki RAG

Typowa aplikacja RAG obejmuje kilka etapów:

  1. Potok danych: wstępne przetwarzanie i indeksowanie dokumentów, tabel lub innych danych w celu szybkiego i dokładnego pobierania.

  2. Łańcuch RAG (pobieranie, rozszerzanie, generacja): Wywołaj serię (lub łańcuch) kroków:

    • Zapoznaj się z pytaniem użytkownika.
    • Pobieranie danych pomocniczych.
    • Uzupełnij wezwanie o dane pomocnicze.
    • Wygeneruj odpowiedź z LLM przy użyciu rozszerzonego zapytania.
  3. Ocena i monitorowanie: oceń aplikację RAG, aby określić jej jakość, koszty i opóźnienia, aby upewnić się, że spełnia wymagania biznesowe.

  4. Governance and LLMOps: Śledzenie cyklu życia każdego składnika i zarządzanie nim, w tym pochodzenie danych i kontrola dostępu.

Diagram składników aplikacji RAG.

Typy danych RAG: ustrukturyzowane i nieustrukturyzowane

Architektura RAG może współdziałać z danymi pomocniczymi bez struktury lub ze strukturą. Dane używane z narzędziem RAG zależą od twojego przypadku użycia.

Dane bez struktury: dane bez określonej struktury lub organizacji.

  • Pliki PDF
  • Dokumenty Google/Office
  • Strony typu wiki
  • Obrazy
  • Wideo

dane ustrukturyzowane: dane tabelaryczne rozmieszczone w wierszach i kolumnach z określonym schematem, takim jak tabele w bazie danych.

  • Rekordy klientów w systemie analizy biznesowej lub magazynu danych
  • Dane transakcji z bazy danych SQL
  • Dane z interfejsów API aplikacji (np. SAP, Salesforce itp.)

Ocena i monitorowanie

Ocena i monitorowanie pomagają określić, czy aplikacja RAG spełnia wymagania dotyczące jakości, kosztów i opóźnień. Ocena odbywa się podczas programowania, podczas gdy monitorowanie odbywa się po wdrożeniu aplikacji w środowisku produkcyjnym.

Funkcja RAG nad danymi bez struktury ma wiele składników, które mają wpływ na jakość. Na przykład zmiany formatowania danych mogą mieć wpływ na pobrane fragmenty i możliwość generowania odpowiednich odpowiedzi przez moduł LLM. Dlatego ważne jest, aby oceniać poszczególne składniki oprócz ogólnej aplikacji.

Aby uzyskać więcej informacji, zobacz Mosaic AI Agent Evaluation (MLflow 2).

RAG w usłudze Databricks

Usługa Databricks oferuje kompleksową platformę do tworzenia aplikacji RAG, w tym:

Dalsze kroki