Blog

Att tänka på kring RAG-system inom produkt- och tjänsteutveckling

JUN 14, 2024

I dagens snabbrörliga digitala landskap blir det allt viktigare att använda innovativa AI-verktyg, som system för Retrieval-Augmented Generation (RAG) och agenter som bygger på dem. Att enbart använda LLM:er ger inget värde i ett företagssammanhang.

Kalle Mäkelä

Kalle is an automation-driven engineer who drives BEVs, marvels at space whenever he can, and always looks on the bright side of life.

Dessa system erbjuder en unik kombination av modeller för informationshämtning och Generative AI. Men att kombinera frågor kring datastyrning vid användning av RAG med valet mellan lokala och molnbaserade varianter innebär viktiga beslut och ett omfattande implementeringsarbete.

Det här blogginlägget guidar dig genom nyanserna i att integrera RAG-system effektivt och säkert i din organisation.

Drift av RAG-system medför betydande frågor kring styrning

RAG-system är utmärkta tillgångar för applikationer som kräver heltäckande svar. Implementeringen varierar dock avsevärt beroende på om systemen driftas lokalt eller i molnet, samt vilka metoder och processer för datasäkerhet du har.

En avgörande aspekt av datasäkerheten i dessa system är att implementera rollbaserad åtkomstkontroll (RBAC). RBAC tillför ett extra säkerhetslager genom att säkerställa att åtkomsten till känsliga data begränsas till behöriga roller i organisationen, vilket minskar risken för dataintrång. Varje roll tilldelas specifika rättigheter och användarna kan endast se den information som behövs för deras roll, vilket förhindrar obehörig åtkomst till data.

RBAC är dock bara en funktion som du behöver utforma ett hållbart arbetssätt för, för att få en säker och användbar RAG- och agentlösning. Sammanfattningsvis kan den tekniska implementeringen av RBAC verka ”trivial”, men kärnan i problemet är att förena RBAC och RAG, med all dess data, med företagets sociologiska sida: människor, processer och verktygsintegrationer.

Governance of LLM

Lokala och molnbaserade driftsättningsalternativ

Ett lokalt RAG-system driftas på företagets egna servrar och hanteras av den interna IT-personalen. Denna variant ger bättre kontroll över dina data, vilket är avgörande för känslig information. Den kan dock kräva betydande kapitalinvesteringar och teknisk expertis för installation och underhåll, och kan begränsa skalbarheten på grund av hårdvarubegränsningar.

Du kan till exempel bygga ett sådant system med vektordatabaser med öppen källkod, som Weaviate, och en LLM-körmiljö som vLLM eller Ollama för att köra dina lokala modeller. Därefter kan du integrera RAG-systemet med Keycloak för skalbarhet och för att framtidssäkra din RBAC-lösning.

Molnbaserade RAG-system som Azure Open AI Service eller AWS Q driftas på tjänsteleverantörens servrar. De erbjuder skalbarhet, kostnadseffektivitet genom en betala-efter-användning-modell och enkel installation. Beroende på arbetets karaktär och molnleverantörens policyer kan organisationer dock ställas inför frågor kring datasäkerhet och compliance.

Ännu viktigare är att överväga om du vill koda in företagets kultur i en plattform som du inte själv kontrollerar. Att använda molnbaserade RAG-system kan också medföra betydande kostnader.

Steg för att införa RAG- och agentsystem

Utvärdera

Utvärdera dina behov och identifiera områden där RAG-system kan gynna verksamheten. Bedöm om organisationens krav på datasäkerhet och skalbarhet passar bättre för en lokal eller molnbaserad variant.

Data embeddings

Du behöver bearbeta dina data i ett vektorformat så att de blir tillgängliga för LLM:er. Det är grundläggande för att ditt RAG-system ska skapa värde i användningsfall inom ditt värdeflöde för mjukvaruutveckling.

Beroende på om du använder en lokal eller molnbaserad lösning behöver du välja rätt metoder, verktyg och bibliotek för att chunking och indexering ska fungera så bra som möjligt när du använder systemet.

Expertis och utbildning

Säkerställ att teamet har de kunskaper som krävs för att hantera det RAG-system du väljer. Det kan innebära att utbilda befintliga medarbetare eller rekrytera nya. Börja i liten skala, även i dina lokala miljöer, använd era egna datorer och experimentera med metoder för data embeddings.

Välj rätt modeller för ditt LLM-system

Ta hänsyn till varje modells specifika funktionalitet, exempelvis kod, användarguider och specifikationer, och anpassa den efter organisationens behov. Inom en snar framtid kommer du att ha tiotals eller hundratals sådana modeller som körs inom organisationen.

Integration

Integrera RAG-systemet i din befintliga infrastruktur och RBAC-lösning. Detta steg varierar avsevärt beroende på om du väljer ett lokalt eller molnbaserat system.

Oavsett driftsättningsstrategi måste du ge dina befintliga DevOps-team rätt förutsättningar att drifta dessa system. Du behöver också bygga processer för livscykelhantering kring verktygen. Självklart bör hanteringen i molnet och lokalt ske med Infrastructure-as-Code (IaC)-verktyg som är integrerade med CI/CD-verktyg. 

Balance

Validering

Nyckeln här är att använda befintliga eller GenAI-enhanced DevOps-processer som skyddsnät. Du behöver genomföra omfattande tester för att säkerställa att systemet fungerar korrekt och anpassas utifrån resultaten i ditt värdeflöde för mjukvaruutveckling.

Det är god praxis att använda det socioteknologiska systemet som vägledning. Du måste kontinuerligt validera resultatet från din RAG-stödda organisation på alla nivåer.

AI Validation

Utbilda organisationen

Utbilda organisationens medarbetare i hur de interagerar med och använder RAG-systemet. Skapa återigen medvetenhet om dessa RAG-systems möjligheter och transparens, så att de inte uppfattas som helt svarta lådor av användarna.

Att förstå hur och varför prompting (användarindata) påverkar slutresultatet är avgörande för att lyckas använda AI-assisterade verktyg. Många applikationer tillhandahåller promptmallar i bakgrunden, så att användarna oftast inte behöver förstå allt. Men om något går fel behöver du personer som vet vad de gör.

Övervaka och förbättra

Övervaka regelbundet systemets prestanda, prompter och svar, och gör nödvändiga förbättringar för att optimera nyttan. Kom ihåg att iterera med systemprompter och ge inte upp på grund av dåliga resultat.

Oavsett om du väljer ett lokalt eller molnbaserat RAG- och agentsystem är nyckeln att förstå organisationens behov och förbereda för integrationen. Med genomtänkt planering och kontinuerliga förbättringar kan din organisation utnyttja LLM-systems fulla potential och förbättra utveckling, operativ effektivitet och beslutsprocesser.

  • DevOps
  • Software development
  • Cloud

Subscribe to our newsletter