Tudástári "előrejelzések" az Azure AI Searchben
A kivetítések határozzák meg azokat a fizikai táblákat, objektumokat és fájlokat egy tudástárban , amely egy Azure AI Search-bővítési folyamat tartalmát fogadja el. Ha tudástárat hoz létre, akkor a leképezések meghatározása és létrehozása jelenti a munka nagy részét.
Ez a cikk bemutatja a vetítési fogalmakat és a munkafolyamatot, hogy a kódolás megkezdése előtt háttérrel rendelkezzen.
A leképezések az Azure AI Search képességkészleteiben vannak definiálva, de a végeredmény az Azure Storage tábla-, objektum- és képfájl-kivetítése.
A vetítések és a használat típusai
A tudástár olyan logikai konstrukció, amely fizikailag táblák, JSON-objektumok vagy bináris képfájlok laza gyűjteményeként van kifejezve az Azure Storage-ban.
Vetület | Tárolás | Használat |
---|---|---|
Táblák | Azure Table Storage | Olyan adatokhoz használható, amelyek a legjobban sorokként és oszlopokként jelennek meg, vagy amikor részletes adatábrázolásra van szüksége (például adatkeretekként). A táblázatvetítések lehetővé teszik a sémaalapú alakzatok definiálását egy Shaper-képesség használatával , vagy beágyazott formázással oszlopok és sorok megadására. A tartalmat több táblába is rendezheti a megszokott normalizálási alapelvek alapján. Az ugyanabban a csoportban lévő táblák automatikusan kapcsolódnak. |
Objektumok | Azure Blob Storage | Akkor használatos, ha egy JSON-dokumentumban az adatok és a gazdagítások teljes JSON-ábrázolására van szüksége. A táblavetületekhez hasonlóan csak az érvényes JSON-objektumok vethetők ki objektumként, és a formázás segíthet ebben. |
Fájlok | Azure Blob Storage | Akkor használatos, ha normalizált bináris képfájlokat kell mentenie. |
Kivetítés definíciója
Az előrejelzések egy készségkészlet "knowledgeStore" tulajdonságában vannak megadva. A leképezési definíciók az indexelő meghívása során használhatók objektumok létrehozására és betöltésére az Azure Storage-ban bővített tartalommal. Ha nem ismeri ezeket a fogalmakat, kezdje az AI-bővítéssel egy bevezetéshez.
Az alábbi példa a vetítések a KnowledgeStore-beli elhelyezését és az alapszintű konstrukciót mutatja be. A név, a típus és a tartalomforrás egy leképezési definíciót alkot.
"knowledgeStore" : {
"storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<Acct Name>;AccountKey=<Acct Key>;",
"projections": [
{
"tables": [
{ "tableName": "ks-museums-main", "generatedKeyName": "ID", "source": "/document/tableprojection" },
{ "tableName": "ks-museumEntities", "generatedKeyName": "ID","source": "/document/tableprojection/Entities/*" }
],
"objects": [
{ "storageContainer": "ks-museums", "generatedKeyName": "ID", "source": "/document/objectprojection" }
],
"files": [ ]
}
]
Vetítési csoportok
A kivetítések összetett gyűjtemények tömbjei, ami azt jelenti, hogy minden típusból több készletet is megadhat. Gyakori, hogy csak egy vetítési csoportot használ, de több is használható, ha a tárolási követelmények különböző eszközöket és forgatókönyveket támogatnak. Használhat például egy csoportot egy készségkészlet tervezéséhez és hibakereséséhez, míg egy második csoport egy online alkalmazás kimenetét gyűjti össze, a harmadik pedig az adatelemzési számítási feladatokhoz.
Ugyanezzel a képességkészlet-kimenettel tölthető fel az összes csoport az előrejelzések alatt. Az alábbi példában kettő látható.
"knowledgeStore" : {
"storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<Acct Name>;AccountKey=<Acct Key>;",
"projections": [
{
"tables": [],
"objects": [],
"files": []
},
{
"tables": [],
"objects": [],
"files": []
}
]
}
A vetületi csoportok a kölcsönös kizárólagosság és a kapcsolódóság alábbi fő jellemzőivel rendelkeznek.
Alapelv | Leírás |
---|---|
Kölcsönös kizárólagosság | Minden csoport teljesen el van különítve a többi csoporttól a különböző adatformálási forgatókönyvek támogatása érdekében. Ha például különböző táblázatstruktúrákat és kombinációkat tesztel, mindegyik halmazt egy másik kivetítőcsoportba helyezheti az AB-teszteléshez. Minden csoport ugyanabból a forrásból (bővítőfáról) szerez be adatokat, de teljesen el van különítve a társvetítési csoportok tábla-objektum-fájl kombinációjától. |
Kapcsolódóság | A vetítési csoportban a táblák, objektumok és fájlok tartalmai kapcsolódnak. A tudástár létrehozott kulcsokat használ referenciaként egy közös szülőcsomópontra. Vegyük például azt a forgatókönyvet, amikor képeket és szöveget tartalmazó dokumentumot használ. A szöveget táblákra és képekre is kivetítheti bináris fájlokra, és mind a táblák, mind az objektumok rendelkeznek egy oszlopmal/tulajdonságmal, amely tartalmazza a fájl URL-címét. |
Kivetítés "forrás"
A forrásparaméter a vetületdefiníció harmadik összetevője. Mivel a leképezések egy AI-bővítési folyamat adatait tárolják, a kivetítés forrása mindig egy képesség kimenete. Így a kimenet lehet egyetlen mező (például lefordított szöveg mezője), de gyakran egy adatalakzatra mutató hivatkozás.
Az adatalakzatok a készségkészletből származnak. Az Azure AI Searchben rendelkezésre álló összes beépített képesség között megtalálható az adatalakzatok létrehozásához használt Shaper-képesség nevű segédprogram. A tudástárban lévő előrejelzések támogatásához a Shaper-készségeket (amennyire csak szüksége van) is használhatja.
Az alakzatokat gyakran használják táblavetítésekhez, ahol az alakzat nem csak azt határozza meg, hogy mely sorok kerüljenek a táblázatba, hanem azt is, hogy mely oszlopok jönnek létre (az alakzatokat objektumvetítésnek is átadhatja).
Az alakzatok összetettek lehetnek, és a hatókörük nem terjed ki ezek részletes megvitatására, de az alábbi példa röviden egy alapszintű alakzatot mutat be. A Shaper-képesség kimenete táblavetítés forrásaként van megadva. Maga a táblázatvetület a "metadata-storage_path", a "reviews_text", a "reviews_title" és így tovább oszlop lesz az alakzatban megadott módon.
{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"name": "ShaperForTables",
"description": null,
"context": "/document",
"inputs": [
{
"name": "metadata_storage_path",
"source": "/document/metadata_storage_path",
"sourceContext": null,
"inputs": []
},
{
"name": "reviews_text",
"source": "/document/reviews_text"
},
{
"name": "reviews_title",
"source": "/document/reviews_title"
},
{
"name": "reviews_username",
"source": "/document/reviews_username"
},
],
"outputs": [
{
"name": "output",
"targetName": "mytableprojection"
}
]
}
Vetítési életciklus
A előrejelzések életciklusa az adatforrás forrásadataihoz van kötve. A forrásadatok frissítése és újraindexelése során a prognózisok frissülnek a gazdagítások eredményeivel, biztosítva, hogy a előrejelzések végül összhangban legyenek az adatforrás adataival. A kivetítések azonban egymástól függetlenül is tárolhatók az Azure Storage-ban. Nem törlődnek, ha az indexelő vagy maga a keresési szolgáltatás törlődik.
Felhasználás az alkalmazásokban
Az indexelő futtatása után csatlakozzon a kivetítésekhez, és használja fel az adatokat más alkalmazásokban és számítási feladatokban.
Az Azure Portal használatával ellenőrizheti az objektumok létrehozását és tartalmát az Azure Storage-ban.
Használja a Power BI-t az adatfeltáráshoz. Ez az eszköz akkor működik a legjobban, ha az adatok az Azure Table Storage-ban találhatóak. A Power BI-ban az adatokat könnyebben lekérdezhető és elemezhető új táblákba módosíthatja.
Bővített adatok használata blobtárolóban egy adatelemzési folyamatban. Betöltheti például a blobokból származó adatokat egy Pandas DataFrame-be.
Végül, ha az adatokat a tudástárból kell exportálnia, az Azure Data Factory összekötőkkel rendelkezik az adatok exportálásához és a választott adatbázisba való elhelyezéséhez.
Első lépések ellenőrzőlistája
Ne feledje, hogy az előrejelzések kizárólag a tudástárakra épülnek, és nem használják a keresési indexek strukturálására.
Az Azure Storage-ban szerezz be egy kapcsolati sztring az Access Keysből, és ellenőrizze, hogy a fiók StorageV2 -e (általános célú V2).
Az Azure Storage-ban ismerkedjen meg a tárolókban és táblákban lévő meglévő tartalommal, hogy ne kelljen más neveket választania a vetületekhez. A tudástár táblák és tárolók laza gyűjteménye. Fontolja meg az elnevezési konvenciók bevezetését a kapcsolódó objektumok nyomon követéséhez.
Az Azure AI Searchben engedélyezze a bővítési gyorsítótárazást (előzetes verzió) az indexelőben, majd futtassa az indexelőt a képességkészlet végrehajtásához és a gyorsítótár feltöltéséhez. Ez egy előzetes verziójú funkció, ezért mindenképpen használja az előzetes verziójú REST API-t az indexelő kérésben. A gyorsítótár feltöltése után ingyenesen módosíthatja a leképezési definíciókat egy tudástárban (feltéve, hogy maguk a készségek nem módosulnak).
A kódban az összes előrejelzés csak egy készségkészletben van definiálva. Nincsenek olyan indexelőtulajdonságok (például mezőleképezések vagy kimeneti mezőleképezések), amelyek a vetületekre vonatkoznak. A készségkészlet-definíción belül két területre összpontosít: a knowledgeStore tulajdonságra és a képességtömbre.
A KnowledgeStore területen adja meg a szakasz tábláit, objektumait és fájlvetítéseit
projections
. Az objektumtípust, az objektumnevet és a mennyiséget (a megadott vetületszám alapján) ebben a szakaszban határozzuk meg.A képességtömbből határozza meg, hogy mely képességkimenetekre kell hivatkozni az
source
egyes kivetítésekben. Minden előrejelzés rendelkezik forrással. A forrás lehet egy felsőbb rétegbeli képesség kimenete, de gyakran egy Shaper-képesség kimenete. A kivetítés összetételét alakzatok határozzák meg.
Ha előrejelzéseket ad hozzá egy meglévő készségkészlethez, frissítse a készségkészletet, és futtassa az indexelőt.
Ellenőrizze az eredményeket az Azure Storage-ban. A későbbi futtatások során kerülje az elnevezési ütközéseket az Azure Storage objektumainak törlésével vagy a projektnevek módosításával a képességkészletben.
Ha Táblavetületeket használ, tekintse meg a Table Service adatmodelljének, valamint a Table Storage méretezhetőségi és teljesítménycéljainak megértését annak érdekében, hogy az adatkövetelmények a Table Storage dokumentált korlátain belül legyenek.
Következő lépések
Tekintse át az egyes vetülettípusok szintaxisát és példáit.