RAG
forkortelse for Retrieval-Augmented Generation
RAG (Retrieval-Augmented Generation) er en teknik, hvor en sprogmodel suppleres med ekstern viden hentet fra en database for at forbedre svar.
Kort fortalt
RAG gør en AI bedre til at svare på spørgsmål ved først at slå fakta op i en database, så den ikke kun stoler på sin egen hukommelse.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Teknik i naturlig sprogbehandling, hvor en retriever henter relevante dokumenter fra en ekstern vidensbase, som derefter bruges som kontekst for en generator (typisk en stor sprogmodel) til at producere et svar.
- RAG-modellen hentede relevante dokumenter fra en videnbase før generering af svaret.
- Ved at kombinere en retriever med en generator reducerer RAG hallucinationer i sprogmodeller.
Hvornår bruges det
Bruges typisk i chatbotter, søgemaskiner og spørgsmålssystemer for at give mere præcise og opdaterede svar, især når viden ændrer sig ofte. I praksis består en RAG-pipeline af en retriever (ofte en embeddings-baseret søgning) og en generator (typisk en LLM).
Kodeeksempel
def rag(query, retriever, generator):
docs = retriever.retrieve(query)
context = " ".join(docs)
prompt = f"Answer based on context: {context}\nQuestion: {query}"
return generator.generate(prompt)En simpel implementering af RAG i pseudokode, der viser retriever- og generator-trinnet.
Oprindelse
Ordet RAG er en forkortelse for Retrieval-Augmented Generation, introduceret i en forskningsartikel fra 2020 af Lewis et al.