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.

Projections expressed in Azure Storage

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.

  1. 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).

  2. 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.

  3. 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 (api-version=2020-06-30-preview vagy újabb) 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).

  4. 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.

    1. 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.

    2. 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.

  5. 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.

  6. 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.

  7. 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.