Formázó kognitív képesség
A Shaper-képesség a képességkészlet által létrehozott memóriabeli dúsítási fa szerkezetének átalakítására vagy módosítására szolgál. Ha a képességkimenetek nem képezhetők le közvetlenül a keresési mezőkre, hozzáadhat egy Shaper-képességet a keresési indexhez vagy a tudástárhoz szükséges adatalakzat létrehozásához.
A képesség elsődleges használati esetei a következők:
Egy tudástárat hoz létre. A tudástár tábláinak és objektumainak fizikai struktúráját kivetítések határozzák meg. A Shaper-képesség részletességet ad a kivetítésekbe leküldhető adatalakzatok létrehozásával.
Több készségkimenetet szeretne egyetlen struktúrába képezni a keresési indexben, általában egy összetett típusba, az 1. forgatókönyvben leírtak szerint.
A készségek több kimenetet is létrehoznak, de egyetlen mezőbe szeretne egyesíteni (nem kell összetett típusnak lennie), a 2. forgatókönyvben leírtak szerint. A címek és a szerzők egyesítése például egyetlen mezőbe.
A készségek több kimenetet hoznak létre gyermekelemekkel, és ezeket szeretné kombinálni. Ezt a használati esetet a 3. forgatókönyv szemlélteti.
A Shaper-képesség kimeneti neve mindig "kimenet". A folyamat belsőleg egy másik nevet is megfeleltethet, például az "analyzedText" nevet az alábbi példákban látható módon, de maga az Shaper-képesség "kimenetet" ad vissza a válaszban. Ez akkor lehet fontos, ha bővített dokumentumokat keres, és észleli az elnevezési eltérést, vagy ha egyéni készséget hoz létre, és saját maga strukturálja a választ.
Feljegyzés
Ez a képesség nem kötődik az Azure AI-szolgáltatásokhoz. Nem számlázható, és nincs Azure AI-szolgáltatások kulcskövetelménye.
@odata.type
Microsoft.Skills.Util.ShaperSkill
1. forgatókönyv: összetett típusok
Fontolja meg azt a forgatókönyvet, amelyben egy analyzedText nevű struktúrát szeretne létrehozni, amelynek két tagja van: a szöveg és a hangulat. Egy indexben a többrészes kereshető mezőket összetett típusnak nevezzük, és gyakran akkor jönnek létre, ha a forrásadatoknak megfelelő összetett struktúrájuk van, amely megfelelteti azokat.
Az összetett típusok létrehozásának másik módszere azonban a Shaper-képesség . Ha ezt a képességet egy készségkészletbe is beépíti, a képességkészlet-feldolgozás memóriabeli műveletei beágyazott struktúrákkal képesek adatalakzatokat kihozni, amelyeket aztán az index egy összetett típusára lehet leképezni.
A következő példa készségdefiníciója adja meg a tagneveket bemenetként.
{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"context": "/document/content/phrases/*",
"inputs": [
{
"name": "text",
"source": "/document/content/phrases/*"
},
{
"name": "sentiment",
"source": "/document/content/phrases/*/sentiment"
}
],
"outputs": [
{
"name": "output",
"targetName": "analyzedText"
}
]
}
Mintaindex
A képességkészleteket egy indexelő hívja meg, az indexelők pedig indexet igényelnek. Az index összetett mezőábrázolása az alábbi példához hasonlóan nézhet ki.
"name":"my-index",
"fields":[
{ "name":"myId", "type":"Edm.String", "key":true, "filterable":true },
{ "name":"analyzedText", "type":"Edm.ComplexType",
"fields":[
{
"name":"text",
"type":"Edm.String",
"facetable":false,
"filterable":false,
"searchable":true,
"sortable":false },
{
"name":"sentiment",
"type":"Edm.Double",
"facetable":true,
"filterable":true,
"searchable":true,
"sortable":true }
}
Készségbemenet
A Shaper-képességhez használható bemenetet biztosító bejövő JSON-dokumentum a következő lehet:
{
"values": [
{
"recordId": "1",
"data": {
"text": "this movie is awesome",
"sentiment": 0.9
}
}
]
}
Képességkimenet
A Shaper-képesség létrehoz egy új, elemzett szöveg nevű elemet a szöveg és a hangulat együttes elemeivel. Ez a kimenet megfelel az indexsémának. A rendszer importálja és indexeli egy Azure AI Search-indexben.
{
"values": [
{
"recordId": "1",
"data":
{
"analyzedText":
{
"text": "this movie is awesome" ,
"sentiment": 0.9
}
}
}
]
}
2. forgatókönyv: bemeneti konszolidáció
Egy másik példában képzelje el, hogy a folyamatfeldolgozás különböző szakaszaiban kinyerte egy könyv címét, és fejezetcímeket a könyv különböző oldalain. Most már létrehozhat egyetlen struktúrát, amely ezekből a különböző kimenetekből áll.
A forgatókönyv Shaper-képességdefiníciója a következő példához hasonlóan nézhet ki:
{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"context": "/document",
"inputs": [
{
"name": "title",
"source": "/document/content/title"
},
{
"name": "chapterTitles",
"source": "/document/content/pages/*/chapterTitles/*/title"
}
],
"outputs": [
{
"name": "output",
"targetName": "titlesAndChapters"
}
]
}
Képességkimenet
Ebben az esetben a Shaper az összes fejezetcímet simítja egyetlen tömb létrehozásához.
{
"values": [
{
"recordId": "1",
"data": {
"titlesAndChapters": {
"title": "How to be happy",
"chapterTitles": [
"Start young",
"Laugh often",
"Eat, sleep and exercise"
]
}
}
}
]
}
3. forgatókönyv: beágyazott környezetekből származó bemeneti konszolidáció
Tegyük fel, hogy egy könyv fejezetcímei és fejezetszámai vannak, és entitásfelismerést és kulcskifejezéseket futtat a tartalomon, és most a különböző képességek eredményeit egyetlen alakzatba kell összesítenie a fejezet nevével, entitásaival és kulcskifejezéseivel.
Ez a példa egy opcionális sourceContext
tulajdonságot ad hozzá a "chapterTitles" bemenethez. A source
tulajdonságok kölcsönösen sourceContext
kizárják egymást. Ha a bemenet a képesség kontextusában van, használhatja source
a . Ha a bemenet más kontextusban van, mint a képességkörnyezet, használja a következőtsourceContext
: . Ehhez sourceContext
meg kell határoznia egy beágyazott bemenetet, amelyben minden bemenet rendelkezik egy source
olyan elemtel, amely azonosítja a megnevezett csomópont feltöltéséhez használt konkrét elemet.
A forgatókönyv Shaper-képességdefiníciója a következő példához hasonlóan nézhet ki:
{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"context": "/document",
"inputs": [
{
"name": "title",
"source": "/document/content/title"
},
{
"name": "chapterTitles",
"sourceContext": "/document/content/pages/*/chapterTitles/*",
"inputs": [
{
"name": "title",
"source": "/document/content/pages/*/chapterTitles/*/title"
},
{
"name": "number",
"source": "/document/content/pages/*/chapterTitles/*/number"
}
]
}
],
"outputs": [
{
"name": "output",
"targetName": "titlesAndChapters"
}
]
}
Képességkimenet
Ebben az esetben az Alakzatkezelő egy összetett típust hoz létre. Ez a struktúra a memóriában létezik. Ha egy tudástárba szeretné menteni, létre kell hoznia egy előrejelzést a tudáskészletben, amely meghatározza a tárolási jellemzőket.
{
"values": [
{
"recordId": "1",
"data": {
"titlesAndChapters": {
"title": "How to be happy",
"chapterTitles": [
{ "title": "Start young", "number": 1},
{ "title": "Laugh often", "number": 2},
{ "title": "Eat, sleep and exercise", "number": 3}
]
}
}
}
]
}