Gör dina data sökbara

Slutförd

När du vill skapa en agent som använder dina egna data för att generera korrekta svar måste du kunna söka igenom dina data effektivt. När du skapar en agent med Azure AI Foundry kan du använda integreringen med Azure AI Search för att hämta relevant kontext i chattflödet.

Azure AI Search är en retriever som du kan inkludera när du skapar ett språkmodellprogram med promptflöde. Med Azure AI Search kan du ta med egna data, indexera dina data och fråga indexet för att hämta all information du behöver.

Diagram som visar ett index som efterfrågas för att hämta jordningsdata.

Använda ett vektorindex

Även om ett textbaserat index förbättrar sökeffektiviteten kan du vanligtvis uppnå en bättre lösning för datahämtning med hjälp av ett vektorbaserat index som innehåller inbäddningar som representerar texttoken i datakällan.

En inbäddning är ett särskilt format för datarepresentation som en sökmotor kan använda för att enkelt hitta relevant information. Mer specifikt är en inbäddning en vektor med flyttalsnummer.

Anta till exempel att du har två dokument med följande innehåll:

  • "Barnen lekte glatt i parken."
  • "Barn sprang gärna runt på lekplatsen."

Dessa två dokument innehåller texter som är semantiskt relaterade, även om olika ord används. Genom att skapa vektorbäddningar för texten i dokumenten kan relationen mellan orden i texten beräknas matematiskt.

Föreställ dig nyckelorden som extraheras från dokumentet och ritas som en vektor i ett flerdimensionellt utrymme:

Diagram över vektorbäddningar.

Avståndet mellan vektorer kan beräknas genom att mäta vinkelns cosiné mellan två vektorer, även kallat cosiniska likheter. Med andra ord beräknar cosinélikiteten den semantiska likheten mellan dokument och en fråga.

Genom att representera ord och deras betydelser med vektorer kan du extrahera relevant kontext från datakällan även när dina data lagras i olika format (text eller bild) och språk.

När du vill kunna använda vektorsökning för att söka efter dina data måste du skapa inbäddningar när du skapar ditt sökindex. Om du vill skapa inbäddningar för ditt sökindex kan du använda en Azure OpenAI-inbäddningsmodell som är tillgänglig i Azure AI Foundry.

Diagram som visar ett vektorindex som innehåller inbäddningar.

Skapa ett sökindex

I Azure AI Search beskriver ett sökindex hur ditt innehåll är organiserat för att göra det sökbart. Föreställ dig ett bibliotek som innehåller många böcker. Du vill kunna söka igenom biblioteket och hämta relevant bok enkelt och effektivt. För att göra biblioteket sökbart skapar du en katalog som innehåller relevanta data om böcker för att göra alla böcker enkla att hitta. Ett biblioteks katalog fungerar som sökindex.

Även om det finns olika metoder för att skapa ett index gör integreringen av Azure AI Search i Azure AI Foundry det enkelt för dig att skapa ett index som är lämpligt för språkmodeller. Du kan lägga till dina data i Azure AI Foundry, varefter du kan använda Azure AI Search för att skapa ett index i Azure AI Foundry-portalen med hjälp av en inbäddningsmodell. Indextillgången lagras i Azure AI Search och efterfrågas av Azure AI Foundry när den används i ett chattflöde.

Skärmbild av hur du skapar ett index i Azure AI Foundry.

Hur du konfigurerar ditt sökindex beror på vilka data du har och vilken kontext du vill att språkmodellen ska använda. Med nyckelordssökning kan du till exempel hämta information som exakt matchar sökfrågan. Semantisk sökning tar det redan ett steg längre genom att hämta information som matchar frågans innebörd i stället för det exakta nyckelordet med hjälp av semantiska modeller. För närvarande är den mest avancerade tekniken vektorsökning, vilket skapar inbäddningar för att representera dina data.

Dricks

Läs mer om vektorsökning.

Söka i ett index

Det finns flera sätt att fråga efter information i ett index:

  • Nyckelordssökning: Identifierar relevanta dokument eller avsnitt baserat på specifika nyckelord eller termer som anges som indata.
  • Semantisk sökning: Hämtar dokument eller avsnitt genom att förstå frågans innebörd och matcha den med semantiskt relaterat innehåll i stället för att enbart förlita sig på exakta nyckelordsmatchningar.
  • Vektorsökning: Använder matematiska representationer av text (vektorer) för att hitta liknande dokument eller passager baserat på deras semantiska betydelse eller kontext.
  • Hybridsökning: Kombinerar valfri eller alla andra söktekniker. Frågor körs parallellt och returneras i en enhetlig resultatuppsättning.

När du skapar ett sökindex i Azure AI Foundry vägleds du till att konfigurera ett index som är mest lämpligt att använda i kombination med en språkmodell. När sökresultaten används i ett generativt AI-program ger hybridsökning de mest exakta resultaten.

Hybridsökning är en kombination av nyckelord (och fulltext) och vektorsökning, där semantisk rangordning kan läggas till. När du skapar ett index som är kompatibelt med hybridsökning är den hämtade informationen exakt när exakta matchningar är tillgängliga (med hjälp av nyckelord) och fortfarande relevanta när endast konceptuellt liknande information kan hittas (med hjälp av vektorsökning).

Dricks

Läs mer om hybridsökning.