Delen via


RAG (Retrieval Augmented Generation) op Azure Databricks

Rag (Retrieval-augmented generation) is een krachtige techniek die grote taalmodellen (LLM's) combineert met realtime gegevens ophalen om nauwkeurigere, up-to-date en contextafhankelijke relevante antwoorden te genereren.

Deze benadering is vooral waardevol voor het beantwoorden van vragen over bedrijfseigen, vaak veranderende of domeinspecifieke informatie.

Wat is het ophalen van augmented generation?

In de eenvoudigste vorm doet een RAG-agent het volgende:

  1. Ophalen: de aanvraag van de gebruiker wordt gebruikt om een query uit te voeren op een externe knowledge base, zoals een vectorarchief, trefwoordzoekopdrachten of SQL-database. Het doel is om ondersteunende data te verzamelen ten behoeve van het antwoord van de LLM.
  2. Uitbreiding: De ondersteunende gegevens worden gecombineerd met de aanvraag van de gebruiker, vaak met behulp van een sjabloon met aanvullende opmaak en instructies voor de LLM, om een prompt te maken.
  3. Generatie: de prompt wordt doorgegeven aan de LLM om een antwoord te genereren op de aanvraag van de gebruiker.

De stroom van een RAG-toepassing van gebruikersaanvraag naar het ophalen en reageren van gegevens.

RAG-voordelen

RAG verbetert LLM's op de volgende manieren:

  • Eigen kennis: RAG kan eigendomsinformatie bevatten die niet in eerste instantie wordt gebruikt voor het trainen van de LLM, zoals memo's, e-mailberichten en documenten om domeinspecifieke vragen te beantwoorden.
  • Actuele informatie: Een RAG-toepassing kan de LLM voorzien van informatie uit een bijgewerkte knowledge base.
  • Bronvermeldingen: MET RAG kunnen LLM's specifieke bronnen citeren, zodat gebruikers de feitelijke nauwkeurigheid van reacties kunnen controleren.
  • ACL's (Data Security and Access Control Lists): De ophaalstap kan worden ontworpen om selectief persoonlijke of bedrijfseigen gegevens op te halen op basis van gebruikersreferenties.

RAG-onderdelen

Een typische RAG-toepassing omvat verschillende fasen:

  1. Gegevenspijplijn: documenten, tabellen of andere gegevens vooraf verwerken en indexeren voor snelle en nauwkeurige ophaalbewerking.

  2. RAG-keten (ophalen, augmentatie, generatie): roep een reeks (of keten) met stappen aan om:

    • De vraag van de gebruiker begrijpen.
    • Ondersteunende gegevens ophalen.
    • Breid de prompt uit met ondersteunende gegevens.
    • Genereer een antwoord van een LLM met behulp van de verrijkte prompt.
  3. Evaluatie en bewaking: Evalueer de RAG-toepassing om de kwaliteit, kosten en latentie te bepalen om ervoor te zorgen dat deze voldoet aan uw bedrijfsvereisten.

  4. Governance en LLMOps: de levenscyclus van elk onderdeel bijhouden en beheren, inclusief gegevensherkomst en toegangsbeheer.

Diagram van RAG-toepassingsonderdelen.

Typen RAG-gegevens: gestructureerd en ongestructureerd

Rag-architectuur kan werken met niet-gestructureerde of gestructureerde ondersteunende gegevens. De gegevens die u met RAG gebruikt, zijn afhankelijk van uw use-case.

Ongestructureerde gegevens: gegevens zonder een specifieke structuur of organisatie.

  • PDF-bestanden
  • Google/Office-documenten
  • Wikia
  • Afbeeldingen
  • Video's

gestructureerde gegevens: tabelgegevens gerangschikt in rijen en kolommen met een specifiek schema, zoals tabellen in een database.

  • Klantrecords in een BI- of Data Warehouse-systeem
  • Transactiegegevens uit een SQL-database
  • Gegevens uit toepassings-API's (bijvoorbeeld SAP, Salesforce, enzovoort)

Evaluatie en monitoring

Met evaluatie en bewaking kunt u bepalen of uw RAG-toepassing voldoet aan uw vereisten voor kwaliteit, kosten en latentie. Evaluatie vindt plaats tijdens de ontwikkeling, terwijl de bewaking plaatsvindt zodra de toepassing in productie is geïmplementeerd.

RAG over ongestructureerde gegevens heeft veel onderdelen die van invloed zijn op de kwaliteit. Wijzigingen in gegevensopmaak kunnen bijvoorbeeld van invloed zijn op de opgehaalde segmenten en de mogelijkheid van de LLM om relevante antwoorden te genereren. Het is dus belangrijk om afzonderlijke onderdelen naast de algehele toepassing te evalueren.

Zie Mosaic AI Agent Evaluation (MLflow 2) voor meer informatie.

RAG op Databricks

Databricks biedt een end-to-end-platform voor RAG-ontwikkeling, waaronder:

Volgende stappen