Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Megjegyzés:
A tudástárak olyan másodlagos tárolók, amelyek az Azure Storage-ban léteznek, és tartalmazzák az Azure AI Keresés-képességkészletek kimeneteit. Ezek különböznek a tudásforrásoktól és a tudásbázisoktól, amelyeket ügynöki lekéréses munkafolyamatokban használnak.
Az Azure AI Keresésben az "adatok alakítása" a tudástár munkafolyamatának egy olyan lépését ismerteti, amely az Azure Storage-ban táblákba, objektumokba és fájlokba kivetíteni kívánt tartalom adatmegjelenítőjét hozza létre.
A képességek végrehajtásakor a kimenetek egy csomópontok hierarchiájában lévő bővítőfára lesznek írva, és bár a bővítési fát teljes egészében szeretné megtekinteni és felhasználni, valószínűbb, hogy finomabb szemcseméretre lesz szüksége, és csomópontok részhalmazait hozza létre különböző forgatókönyvekhez, például a lefordított szöveghez vagy kinyert entitásokhoz kapcsolódó csomópontokat adott táblákba helyezi.
A bővítési fa önmagában nem tartalmaz olyan logikát, amely meghatározná, hogy tartalma miként jelenik meg egy tudástárban. Az adatalakzatok úgy töltik ki ezt a rést, hogy megadja az egyes táblákba, objektumokba és fájlvetítésekbe tartozó sémát. Az adatalakzatok egyéni definícióként vagy a bővített adatok nézeteként is felfoghatók. Tetszőleges számú alakzatot létrehozhat, majd hozzárendelheti őket egy tudásbázis-definícióban lévő kivetítésekhez.
Az alakzatok létrehozásának megközelítései
A bővített tartalmakat kétféleképpen alakíthatja úgy, hogy az egy tudástárba legyen vetítve:
A Shaper-képesség használatával csomópontokat hozhat létre egy kifejezetten kivetítéshez használt bővítőfán. A legtöbb képesség új tartalmat hoz létre. Ezzel szemben egy Shaper-képesség a meglévő csomópontokkal működik, általában több csomópont egyetlen összetett objektumba való összevonásához. Ez olyan táblák esetében hasznos, amelyekben több csomópont kimenetét szeretné fizikailag kifejezni a tábla oszlopaiként.
Használjon beágyazott alakzatot a kivetítés definíciójában.
A Shaper képesség használata külsővé teszi az alakzatot, így több kivetítésnél vagy akár más képességeknél is használható. Azt is biztosítja, hogy a gazdagítási fa összes mutációja a képességen belül legyen, és hogy a kimenet egy újra felhasználható objektum legyen. Ezzel szemben a soros formázással létrehozhatja a kívánt alakzatot, de egy névtelen objektum, és csak annak a vetületnek érhető el, amelyhez definiálták.
A megközelítések együtt vagy külön is használhatók. Ez a cikk mindkettőt bemutatja: a táblavetítések Shaper-készségeit, valamint a táblázatvetítés kulcskifejezéseivel való beágyazott formázást.
Shaper-képesség használata
Az alakító képességek általában egy képességkészlet végére kerülnek, létrehozva egy nézetet az adatokról, amelyeket továbbítani szeretne egy kivetítéshez. Ez a példa egy "tableprojection" nevű alakzatot hoz létre, amely a következő csomópontokat tartalmazza: "reviews_text", "reviews_title", "AzureSearch_DocumentKey", valamint hangulatpontszámokat és kulcskifejezéseket a lapozott véleményekből.
{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"name": "#5",
"description": null,
"context": "/document",
"inputs": [
{
"name": "reviews_text",
"source": "/document/reviews_text",
"sourceContext": null,
"inputs": []
},
{
"name": "reviews_title",
"source": "/document/reviews_title",
"sourceContext": null,
"inputs": []
},
{
"name": "AzureSearch_DocumentKey",
"source": "/document/AzureSearch_DocumentKey",
"sourceContext": null,
"inputs": []
},
{
"name": "pages",
"source": null,
"sourceContext": "/document/reviews_text/pages/*",
"inputs": [
{
"name": "Sentiment",
"source": "/document/reviews_text/pages/*/Sentiment",
"sourceContext": null,
"inputs": []
},
{
"name": "LanguageCode",
"source": "/document/Language",
"sourceContext": null,
"inputs": []
},
{
"name": "Page",
"source": "/document/reviews_text/pages/*",
"sourceContext": null,
"inputs": []
},
{
"name": "keyphrase",
"sourceContext": "/document/reviews_text/pages/*/Keyphrases/*",
"inputs": [
{
"source": "/document/reviews_text/pages/*/Keyphrases/*",
"name": "Keyphrases"
}
]
}
]
}
],
"outputs": [
{
"name": "output",
"targetName": "tableprojection"
}
]
}
SourceContext tulajdonság
A Shaper-képességen belül egy bemenet tartalmazhat egy sourceContext elemet. Ugyanez a tulajdonság sorba illesztett alakzatokban is használható vetítési megoldásokban.
sourceContext többszintű, beágyazott objektumok létrehozására szolgál egy bővítési folyamatban. Ha a bemenet más kontextusban van, mint a képességkörnyezet, használja a sourceContext parancsot. A sourceContext használatához meg kell határoznia egy beágyazott bemenetet, amelynek az adott elemét forrásként kezeli.
Az előző példában a hangulatelemzés és a kulcskifejezések kinyerése olyan szövegeken történt, amelyeket oldalakra osztottak a hatékonyabb elemzés érdekében. Feltéve, hogy a pontszámokat és kifejezéseket táblázatba szeretné vetíteni, a környezetet beágyazott bemenetre kell állítania, amely megadja a pontszámot és a kifejezést.
Alakzat kivetítése több táblába
Az előző szakaszban definiált tableprojection csomóponttal a outputs csomópont részeit különálló, kapcsolódó táblákká szeletelheti.
"projections": [
{
"tables": [
{
"tableName": "hotelReviewsDocument",
"generatedKeyName": "Documentid",
"source": "/document/tableprojection"
},
{
"tableName": "hotelReviewsPages",
"generatedKeyName": "Pagesid",
"source": "/document/tableprojection/pages/*"
},
{
"tableName": "hotelReviewsKeyPhrases",
"generatedKeyName": "KeyPhrasesid",
"source": "/document/tableprojection/pages/*/keyphrase/*"
}
]
}
]
Soron belüli alakzat táblázat kivetítésekhez
A közvetlen alakzatkialakítás az a képesség, hogy új alakzatokat alakítsunk ki magában a vetületi meghatározásban. A beágyazott formázás az alábbi jellemzőkkel rendelkezik:
- Az alakzatot csak az azt tartalmazó kivetítés használja.
- Az alakzat megegyezhet azzal, amit egy Shaper-képesség előállít.
Az inline alakzatot a sourceContext és inputs segítségével hozza létre.
| Tulajdonság | Leírás |
|---|---|
| forrásszövegkörnyezet | Beállítja a kivetítés gyökerét. |
| Bemenetek | Minden bemenet egy oszlop a táblában. A név az oszlop neve. A forrás az értéket biztosító bővítési csomópont. |
Ha ugyanazokat az adatokat szeretné kivetíteni, mint az előző példában, a beágyazott vetítési lehetőség a következőképpen nézne ki:
"projections": [
{
"tables": [
{
"tableName": "hotelReviewsInlineDocument",
"generatedKeyName": "Documentid",
"sourceContext": "/document",
"inputs": [
{
"name": "reviews_text",
"source": "/document/reviews_text"
},
{
"name": "reviews_title",
"source": "/document/reviews_title"
},
{
"name": "AzureSearch_DocumentKey",
"source": "/document/AzureSearch_DocumentKey"
}
]
},
{
"tableName": "hotelReviewsInlinePages",
"generatedKeyName": "Pagesid",
"sourceContext": "/document/reviews_text/pages/*",
"inputs": [
{
"name": "Sentiment",
"source": "/document/reviews_text/pages/*/Sentiment"
},
{
"name": "LanguageCode",
"source": "/document/Language"
},
{
"name": "Page",
"source": "/document/reviews_text/pages/*"
}
]
},
{
"tableName": "hotelReviewsInlineKeyPhrases",
"generatedKeyName": "KeyPhraseId",
"sourceContext": "/document/reviews_text/pages/*/Keyphrases/*",
"inputs": [
{
"name": "Keyphrases",
"source": "/document/reviews_text/pages/*/Keyphrases/*"
}
]
}
]
}
]
Mindkét megközelítés egyik megfigyelése, hogy a "Keyphrases" értékei hogyan lesznek kivetítve a "sourceContext" használatával. A sztringgyűjteményt tartalmazó "Keyphrases" csomópont maga a lap szövegének gyermeke. Mivel azonban a kivetítések JSON-objektumot igényelnek, és a lap egy primitív (sztring), a "sourceContext" a kulcskifejezés elnevezett tulajdonsággal rendelkező objektumba való befuttatására szolgál. Ez a technika lehetővé teszi, hogy még a primitívek is egymástól függetlenül legyenek kivetítve.
Vonalbeli alakzat objektumvetítésekhez
Létrehozhat egy új alakzatot az Shaper szakértelemmel, vagy használhatja az objektumvetítés beágyazott formázását. Míg a táblázatos példa bemutatta az alakzatok és szeletelés létrehozásának megközelítését, ez a példa bemutatja a beágyazott formázás használatát.
Az inline alakítás az a képesség, hogy új alakzatokat hozzunk létre egy kivetítés bemeneteinek definíciójában. A beágyazott formázás egy névtelen objektumot hoz létre, amely megegyezik azzal, amit egy Shaper-képesség létrehozna (ebben az esetben projectionShape). A beágyazott formázás akkor hasznos, ha olyan alakzatot definiál, amelyet nem tervez újra felhasználni.
A vetülettulajdonság egy tömb. Ez a példa egy új vetületpéldányt ad hozzá a tömbhöz, ahol a KnowledgeStore definíciója beágyazott előrejelzéseket tartalmaz. Beágyazott vetítések használatakor kihagyhatja a Shaper képességet.
"knowledgeStore" : {
"storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<Acct Name>;AccountKey=<Acct Key>;",
"projections": [
{
"tables": [ ],
"objects": [
{
"storageContainer": "sampleobject",
"source": null,
"generatedKeyName": "myobject",
"sourceContext": "/document",
"inputs": [
{
"name": "metadata_storage_name",
"source": "/document/metadata_storage_name"
},
{
"name": "metadata_storage_path",
"source": "/document/metadata_storage_path"
},
{
"name": "content",
"source": "/document/content"
},
{
"name": "keyPhrases",
"source": "/document/merged_content/keyphrases/*"
},
{
"name": "entities",
"source": "/document/merged_content/entities/*/name"
},
{
"name": "ocrText",
"source": "/document/normalized_images/*/text"
},
{
"name": "ocrLayoutText",
"source": "/document/normalized_images/*/layoutText"
}
]
}
],
"files": []
}
]
}
Következő lépések
Ez a cikk a vetítési alakzatok fogalmait és alapelveit ismerteti. Következő lépésként tekintse meg, hogyan alkalmazzák ezeket a táblák, objektumok és fájlvetítések mintáiban.