Claude er trent på store mengder offentlig tilgjengelig tekst — men den vet ingenting om dine interne dokumenter, kundehistorikk eller bedriftens rutiner. RAG løser dette ved å hente relevant informasjon fra dine egne kilder og gi det til Claude som kontekst.
1. Indeksering — dine dokumenter deles opp i mindre biter og konverteres til vektorer (tall som representerer meningsinnhold).
2. Søk — når brukeren stiller et spørsmål, søkes det etter de mest relevante tekstbitene.
3. Generering — de relevante bitene sendes til Claude som kontekst, og Claude formulerer et svar.
import anthropic
# Dine dokumenter (normalt hentet fra en vektorbase)
dokumenter = [
"Returfristen er 30 dager fra kjopsdato.",
"Gratis frakt pa alle ordrer over 500 kr.",
"Kundeservice er apent mandag-fredag 09-17."
]
sporsmaal = "Kan jeg returnere en vare etter 3 uker?"
# Bygg kontekst
kontekst = "
".join(dokumenter)
client = anthropic.Anthropic()
svar = client.messages.create(
model="claude-opus-4-5",
max_tokens=512,
messages=[{
"role": "user",
"content": f"Basert pa folgende informasjon:
{kontekst}
Sporsmal: {sporsmaal}"
}]
)
print(svar.content[0].text)
For store dokumentsamlinger trenger du en vektorbase som ChromaDB, Pinecone eller pgvector. Disse lar deg søke semantisk — ikke bare på nøkkelord, men på mening.
pip install chromadb
ChromaDB er enkel å starte med lokalt og passer godt for mindre prosjekter.
Når Claude svarer basert på dokumenter du har gitt den, reduseres hallusinering dramatisk. Claude blir ikke smartere — men den får riktig informasjon å jobbe med. Det er forskjellen mellom å gjette og å vite.
La kjærligheten lede veien, og alt annet vil falle på plass.— Florence Scovel Shinn