Retrieval-Augmented Generation
forkortelse for RAG
Retrieval-augmented generation (RAG) er en teknik, hvor en sprogmodel udvides med en ekstern vidensbase for at forbedre nøjagtigheden og reducere hallucinationer.
Kort fortalt
Kort fortalt: RAG er en metode, der kombinerer en søgemaskine med en sprogmodel, så modellen kan hente relevante oplysninger i stedet for at gætte.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En arkitektur, der kombinerer en retriever (søgning) med en generator (sprogmodel) for at producere svar baseret på hentet kontekst.
- RAG-modellen henter først relevante dokumenter fra en vektordatabase og genererer derefter svar baseret på dem. — Lewis et al., 2020
- Virksomheder implementerer ofte RAG for at give deres chatbots adgang til interne dokumenter.
Hvornår bruges det
RAG bruges typisk i chatbots og Q&A-systemer, hvor modellen skal besvare spørgsmål baseret på en specifik dokumentdatabase. Det forbedrer faktuel nøjagtighed og giver mulighed for at opdatere viden uden at gen-træne modellen.
Kodeeksempel
import vecstore
import llm
def rag_query(query):
docs = vecstore.search(query, k=3)
context = "\n".join(doc.text for doc in docs)
prompt = f"Baseret på følgende: {context}\nSvar på: {query}"
return llm.generate(prompt)Simpel RAG-implementering: først søges i en vektordatabase, derefter genereres svar med kontekst.
Oprindelse
Udtrykket blev introduceret i en 2020-artikel af Lewis et al., der beskrev en hybrid model med retrieval-komponent.
Afledte ord
3Kilder
1- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (Lewis et al., 2020)