RAG i produktion
Du vill att en LLM ska svara utifrån era egna dokument - och du vill veta att svaren faktiskt blir bättre.
Retrieval-augmented generation är enkelt att demonstrera och svårt att göra pålitligt. Skillnaden mellan en demo och produktion ligger sällan i modellen, utan i ingestion, retrieval-kvalitet och en utvärderingsloop som fångar regressioner. Den här arkitekturen behandlar evals som en förstaklassdel, inte ett efterhandstillägg - för utan dem flyger varje promptändring blint.
Komponenter
Ingestion-pipeline
Hämtar, parsar och chunkar källdokument med metadata; körs om när källan ändras.
Embeddingmodell
Översätter chunkar till vektorer för semantisk sökning (t.ex. OpenAI- eller open-source-embeddings).
Vektordatabas
Lagrar och söker vektorer; pgvector i Postgres räcker långt innan en dedikerad butik behövs.
Retriever
Hämtar relevanta chunkar, gärna hybrid (vektor plus nyckelord) med omrankning för precision.
LLM med guardrails
Genererar svar utifrån hämtad kontext; instrueras att hålla sig till källorna och citera dem.
Eval-svit
Mäter träffsäkerhet och grundning på en uppsättning verkliga frågor vid varje ändring.
Avvägningar
Hybridsökning framför ren vektorsökning
- För
- Fångar både semantisk likhet och exakta termer (produktnamn, koder) som vektorer missar.
- Emot
- Mer att bygga och tuna - två system att balansera i stället för ett.
pgvector framför dedikerad vektordatabas
- För
- En databas mindre att driva; vektorer lever bredvid din relationsdata.
- Emot
- Vid miljontals vektorer och hög QPS börjar en specialiserad butik betala sig.
Mindre chunkar framför större
- För
- Mer precis retrieval och mindre brus i kontexten som skickas till modellen.
- Emot
- Risk att tappa sammanhang som spänner över chunkgränser - kräver överlapp.
Evals från dag ett framför att lägga till dem sedan
- För
- Varje prompt- och retrievaländring blir mätbar; du ser om en justering hjälper eller stjälper.
- Emot
- Kräver att någon kurerar och underhåller en uppsättning frågor med facit.
Kostnad
Embeddings är billiga (bråkdelar av en cent per tusen tokens), så ingestion av även stora dokumentmängder kostar lite. Den löpande kostnaden sitter i genereringen per fråga - typiskt några ören till någon krona per svar beroende på modell och kontextstorlek. Vektorlagring i pgvector ryms ofta i en befintlig Postgres utan extra rad på fakturan.
Ska vi bygga den här hos er?
En referensarkitektur är en startpunkt, inte en mall - det rätta valet beror på er last, ert team och era krav. Hör av dig så anpassar vi den efter sammanhanget.