Adatimportálás az Azure AI Keresés

Megjegyzés

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

Az Azure AI Keresés lekérdezéseket egy keresési indexbe betöltött tartalmon vagy távoli tudásbázison keresztül hajtanak végre, ha agentikus lekérést használ.

Ez a cikk egy keresési szolgáltatás index feltöltésének két alapvető munkafolyamatáról szól: push (programozottan) az adatokat az indexbe, vagy pull az adatokat egy keresőindexelő használatával.

Mindkét módszer egy külső adatforrásból tölti be a dokumentumokat. Bár létrehozhat egy üres indexet, a tartalom hozzáadásáig nem kérdezhető le.

Megjegyzés

Ha az AI-bővítés vagy az integrált vektorizálás megoldási követelmények, az index betöltéséhez a lekéréses modellt (indexelőket) kell használnia. A képességkészletek indexelőkhöz vannak csatolva, és nem futnak egymástól függetlenül.

Adatok elküldése egy indexbe

A leküldéses modell API-kkal tölti fel a dokumentumokat egy meglévő keresési indexbe. A dokumentumokat egyenként vagy kötegekben is feltöltheti, kötegenként legfeljebb 1000 dokumentumot vagy 16 MB-ot, attól függően, hogy melyik az első.

A következő fő előnyöket nyújtják:

  • Nincs korlátozás az adatforrás típusára. A payloadnak JSON-dokumentumokból kell, hogy álljon, amelyek megfelelnek az indexsémának, de az adatok forrása bármi lehet.

  • Nincs korlátozás a végrehajtás gyakoriságára. Tetszőleges gyakorisággal továbbíthat módosításokat az indexeknek. Az alacsony késési követelményekkel rendelkező alkalmazások esetében (például ha az indexnek szinkronban kell lennie a termékleltár-ingadozásokkal), a leküldéses modell az egyetlen lehetőség.

  • A kapcsolatok és a dokumentumok biztonságos lekérése teljes mértékben Ön felügyelete alatt áll. Ezzel szemben az indexelő kapcsolatok hitelesítése a Azure AI Keresés megadott biztonsági funkciókkal történik.

Adatok leküldése Azure AI Keresés indexbe

Az alábbi API-k segítségével tölthet be egy vagy több dokumentumot egy indexbe:

Az adatok Azure portal keresztüli leküldése nem támogatott.

A leküldéses API-k bemutatása:

Indexelési műveletek: feltöltés, egyesítés, mergeOrUpload, törlés

Az indexelési művelet típusát dokumentumonként szabályozhatja, megadva, hogy a dokumentumot teljes egészében fel kell-e tölteni, össze kell-e egyesíteni a meglévő dokumentumtartalommal, vagy törölni kell őket.

Függetlenül attól, hogy REST API-t vagy Azure SDK-t használ, az adatimportáláshoz a következő dokumentumműveletek támogatottak:

  • Feltöltés, hasonló egy "upsert"-hez, ahol a dokumentum, ha új, be lesz szúrva, és ha létezik, frissítve vagy cserélve. Ha a dokumentum nem rendelkezik az index által igényelt értékekkel, a dokumentummező értéke null értékre van állítva.

  • az egyesítés frissíti a már létező dokumentumot, és nem található dokumentum esetén hibát jelez. Az egyesítés lecseréli a meglévő értékeket. Ezért mindenképpen ellenőrizze, hogy a gyűjteménymezők több értéket tartalmaznak-e, például a típusmezőket Collection(Edm.String). Ha például egy tags mező értéke ["budget"]-vel kezdődik, és egy egyesítést hajt végre ["economy", "pool"] segítségével, akkor a tags mező végső értéke ["economy", "pool"]. Nem lesz ["budget", "economy", "pool"].

  • A mergeOrUpload úgy viselkedik, mint az egyesítés , ha a dokumentum létezik, és feltölti , ha a dokumentum új.

  • törlés eltávolítja a teljes dokumentumot az indexből. Ha el szeretne távolítani egy egyéni mezőt, használja az egyesítést , és állítsa a kérdéses mezőt null értékre.

Adatok lekérése indexbe

A lekéréses modell indexelőket és Logic Apps-munkafolyamatokat használ, amelyek egy támogatott adatforráshoz csatlakoznak, és automatikusan feltöltik az adatokat az indexbe.

A Microsoft indexelői az alábbi platformokon érhetők el:

Ha egy indexelt tudásbázist konfigurál ügynöki lekéréshez, Azure AI Keresés létrehoz egy indexelő folyamatot, és betölt egy indexet a tudásbázis tulajdonságaival.

A Microsoft-partnerek által fejlesztett és karbantartott Logic Apps-munkafolyamatokat vagy külső összekötőket is használhatja. További információkért és hivatkozásokért tekintse meg az Adatforrástárat.

Ezekkel az automatizált módszerekkel az indexet egy adatforráshoz (általában egy táblához, nézethez, tárolóhoz vagy azzal egyenértékű struktúrához) csatlakoztathatja, és a forrásmezőket az index egyenértékű mezőire képezheti le. A végrehajtás során a sorkészlet automatikusan át lesz alakítva JSON formátumba, és be lesz töltve a meghatározott indexbe. Minden indexelő támogatja az ütemezést, így megadhatja, hogy milyen gyakran kell frissíteni az adatokat. A legtöbb indexelő change tracking biztosít, ha az adatforrás támogatja azt. Az új dokumentumok felismerésén kívül az indexelők a meglévő dokumentumok módosításainak és a törléseinek nyomon követésével küszöbölik ki az aktív adatkezelés szükségességét az indexben.

Adatok lekérése Azure AI Keresés indexbe

Az indexelőalapú indexeléshez használja az alábbi eszközöket és API-kat:

Az indexelő funkció az Azure portalon, a REST API-n és a .NET SDK-n érhető el.

A Azure portal használatának előnye, hogy a Azure AI Keresés általában létrehozhat egy alapértelmezett indexsémát a forrásadatkészlet metaadatainak olvasásával.

Adatimportálás ellenőrzése a Kereséskezelővel

A dokumentumfeltöltés előzetes ellenőrzésének gyors módja a Search explorer használata a Azure portal.

A Search Explorer parancs képernyőképe az Azure portal.

A keresési ablak segítségével bármiféle kód írása nélkül kérdezheti le az indexeket. A keresési felület az alapértelmezett beállításokon alapul, például a simple szintaxison és az alapértelmezett searchMode lekérdezési paraméteren. A rendszer az eredményeket JSON-formátumban adja vissza, így a teljes dokumentum vizsgálható.

Íme egy példa lekérdezés, amelyet a Search Explorerben futtathat JSON nézetben. A "HotelId" a szállodai mintaindex dokumentumkulcsa. A szűrő egy adott dokumentum dokumentumazonosítóját adja meg:

{
  "search": "*",
  "filter": "HotelId eq '50'"
}

Ha REST-et használ, ez a Keresési lekérdezés ugyanazt a célt szolgálja.