Share via


Hämtning av förhöjd generering och index

Kommentar

Azure AI Studio är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

I den här artikeln beskrivs vikten och behovet av hämtning av utökad generation (RAG) och index i generativ AI.

Vad är RAG?

Några grunderna först. Stora språkmodeller som ChatGPT tränas på offentliga Internetdata som var tillgängliga vid den tidpunkt då de tränades. De kan svara på frågor som rör de data som de har tränats på. Dessa offentliga data kanske inte räcker för att uppfylla alla dina behov. Du kanske vill ha svar på frågor baserat på dina privata data. Eller så kan offentliga data helt enkelt ha blivit inaktuella. Lösningen på det här problemet är RAG (Retrieval Augmented Generation), ett mönster som används i AI som använder en LLM för att generera svar med dina egna data.

Hur fungerar RAG?

RAG är ett mönster som använder dina data med en LLM för att generera svar som är specifika för dina data. När en användare ställer en fråga genomsöks datalagret baserat på användarens indata. Användarfrågan kombineras sedan med matchande resultat och skickas till LLM med hjälp av en uppmaning (explicita instruktioner till en AI- eller maskininlärningsmodell) för att generera önskat svar. Detta kan illustreras på följande sätt.

Screenshot of the RAG pattern.

Vad är ett index och varför behöver jag det?

RAG använder dina data för att generera svar på användarfrågan. För att RAG ska fungera bra måste vi hitta ett sätt att söka efter och skicka dina data på ett enkelt och kostnadseffektivt sätt till LLM:erna. Detta uppnås med hjälp av ett index. Ett index är ett datalager som gör att du kan söka efter data effektivt. Detta är mycket användbart i RAG. Ett index kan optimeras för LLM:er genom att skapa vektorer (text/data konverteras till talsekvenser med hjälp av en inbäddningsmodell). Ett bra index har vanligtvis effektiva sökfunktioner som nyckelordssökningar, semantiska sökningar, vektorsökningar eller en kombination av dessa. Det här optimerade RAG-mönstret kan illustreras på följande sätt.

Screenshot of the RAG pattern with index.

Azure AI tillhandahåller en indextillgång som ska användas med RAG-mönster. Indextillgången innehåller viktig information som var ditt index lagras, hur du kommer åt ditt index, vilka lägen indexet kan sökas i, har indexet vektorer, vilken inbäddningsmodell som används för vektorer osv. Azure AI-indexet använder Azure AI Search som primärt/rekommenderat indexarkiv. Azure AI Search är en Azure-resurs som stöder informationshämtning över dina vektor- och textdata som lagras i sökindex.

Azure AI Index har också stöd för FAISS (Facebook AI Similarity Search) som är ett öppen källkod bibliotek som tillhandahåller ett lokalt filbaserat arkiv. FAISS stöder endast sökfunktioner för vektorer och stöds endast via SDK.

Nästa steg