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.
Note
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 AI-bővítési folyamatok beépített készségeket és egyéni képességeket is tartalmazhatnak, amelyeket ön hoz létre és tesz közzé. Az egyéni kód a keresési szolgáltatáson kívül fut (például Azure függvényként), de fogadja a bemeneteket, és kimeneteket küld a képességkészletnek, ugyanúgy, mint bármely más képességnek. Az adatokat azon földrajzi helyen dolgozzák fel, ahol a modell üzembe van helyezve.
Az egyéni készségek összetettnek tűnhetnek, de könnyen implementálhatók. Ha már rendelkezik olyan csomagokkal, amelyek mintaegyezési vagy besorolási modelleket biztosítanak, a blobokból kinyert tartalmat átadhatja ezeknek a modelleknek feldolgozás céljából. Mivel az AI-gazdagítás Azure-alapú, a modellt is az Azure-ban kell üzemeltetnie. A gyakori üzemeltetési lehetőségek közé tartozik a Azure Functions vagy kontainers.
Ha egyéni készséget fejleszt, ez a cikk azt a felületet ismerteti, a segítségével integrálhatja a képességet a folyamatba. Az elsődleges követelmény a bemenetek elfogadása és a kimenetek olyan módon történő kibocsátása, amelyet a képességkészlet teljes mértékben felhasználhat. Ezért a cikk középpontjában a bővítési folyamat által igényelt bemeneti és kimeneti formátumok áll.
Az egyéni készségek előnyei
Az egyéni képességek létrehozása lehetővé teszi a tartalomra jellemző egyedi átalakítások beillesztését. Létrehozhat például egyéni besorolási modelleket az üzleti és pénzügyi szerződések és dokumentumok megkülönböztetéséhez, vagy hozzáadhat olyan beszédfelismerési képességet, amely részletesebben keres releváns tartalmakat a hangfájlokban. A lépésről-lépésre példát lásd : Egyéni képesség létrehozása AI-bővítéshez.
A végpont és az időtúllépés időközének beállítása
Adja meg az egyéni képességek felületét a Custom Web API-képességen keresztül.
"@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
"description": "This skill has a 230-second timeout",
"uri": "https://[your custom skill uri goes here]",
"authResourceId": "[for managed identity connections, your app's client ID goes here]",
"timeout": "PT230S",
Az URI a függvény vagy alkalmazás HTTPS-végpontja. Az URI beállításakor győződjön meg arról, hogy az URI biztonságos (HTTPS). Ha egy Azure függvényalkalmazásban üzemelteti a kódot, a kérés engedélyezéséhez adjon meg egy API-kulcsot a fejlécben vagy URI-paraméterként az URI-ban.
Ha a függvény vagy alkalmazás Azure felügyelt identitásokat és Azure szerepköröket használ a hitelesítéshez és az engedélyezéshez, az egyéni képesség egy hitelesítési jogkivonatot is tartalmazhat a kérelemben. A következő pontok a megközelítés követelményeit írják le:
Az indexelő nevében a kérelmet küldő keresési szolgáltatást úgy kell konfigurálni, hogy felügyelt identitást használjon (rendszer vagy felhasználó által hozzárendelt), hogy Microsoft Entra ID hitelesíteni tudja a hívót.
Konfigurálnia kell a függvényt vagy az alkalmazást a Microsoft Entra ID-hez.
Az egyéni képességdefiníciónak tartalmaznia kell egy tulajdonságot
authResourceId. Ez a tulajdonság egy támogatott formátumú alkalmazásazonosítót használ:api://<appId>.
Győződjön meg arról, hogy uri az alkalmazás által azonosított authResourceIdvégpontra mutat. A nem egyező értékek hitelesítési hibákat vagy kéréseket okozhatnak egy nem kívánt végpontnak. A biztonsági útmutatásért, az ajánlott eljárásokért és a konfiguráció ellenőrzésének lépéseiért tekintse meg a felügyelt identitás hitelesítésének biztonsági szempontjait.
Alapértelmezés szerint időtúllépés történik, ha a válasz nem érkezik 30 másodpercen belül (PT30S). Az indexelési folyamat szinkron, és az indexelés időtúllépési hibát okoz, ha az adott időkeretben nem érkezik válasz. Az intervallumot a paraméter (timeout) beállításával PT230S legfeljebb 230 másodpercre növelheti.
Ha egy IP-hozzáférési korlátozásokkal védett végpont nem válaszol, ideiglenesen állítson be timeout egy rövid értéket, például PT10Saz időtúllépési hiba gyorsabb felszínre hozásához. Egy Azure függvényalkalmazás esetén kezelje a bejövő IP-szabályokat a Beállítások>hálózatkezelési>hozzáférési korlátozások területen. Az IP-címek engedélyezéséhez lásd: IP-tűzfalszabályok konfigurálása indexelő kapcsolatok engedélyezéséhez.
Webes API-bemenetek formázása
A webes API-nak rekordtömböt kell elfogadnia a feldolgozáshoz. Minden rekordon belül adjon meg egy tulajdonságcsomagot a webes API bemeneteként.
Tegyük fel, hogy létre szeretne hozni egy alapszintű bővítőt, amely azonosítja a szerződés szövegében említett első dátumot. Ebben a példában az egyéni képesség egyetlen bemenetet fogad el. contractText A képesség egyetlen kimenettel is rendelkezik, amely a szerződés dátuma. A gazdagító érdekesebbé tétele érdekében térjen vissza contractDate egy többrészes összetett típus formájában.
A webes API-nak készen kell állnia a bemeneti rekordok kötegének fogadására. A tömb minden tagja values egy adott rekord bemenetét jelöli. Minden rekordhoz a következő elemek szükségesek:
Egy
recordIdtag, amely egy adott rekord egyedi azonosítója. Amikor a dúsító eredményeket ad vissza, tartalmaznia kell ezt a(z)recordIdelemet, hogy a hívó össze tudja rendelni a rekordok eredményeit a bemenetekkel.Egy
dataelem, amely az egyes rekordokhoz tartozó beviteli mezők gyűjteménye.
Az eredményként kapott webes API-kérés a következőképpen nézhet ki:
{
"values": [
{
"recordId": "a1",
"data":
{
"contractText":
"This is a contract that was issued on November 3, 2023 and that involves... "
}
},
{
"recordId": "b5",
"data":
{
"contractText":
"In the City of Seattle, WA on February 5, 2018 there was a decision made..."
}
},
{
"recordId": "c3",
"data":
{
"contractText": null
}
}
]
}
A gyakorlatban a kód több száz vagy több ezer rekorddal hívható meg az itt látható három helyett.
Webes API-kimenetek formázása
A kimeneti formátum olyan rekordok készlete, amelyek egy recordId és egy tulajdonságcsomagot tartalmaznak. Ez a példa csak egy kimenettel rendelkezik, de több tulajdonságot is visszaadhat. Ajánlott eljárásként érdemes lehet hibaüzeneteket és figyelmeztető üzeneteket visszaadni, ha egy rekordot nem sikerült feldolgozni.
{
"values":
[
{
"recordId": "b5",
"data" :
{
"contractDate": { "day" : 5, "month": 2, "year" : 2018 }
}
},
{
"recordId": "a1",
"data" : {
"contractDate": { "day" : 3, "month": 11, "year" : 2023 }
}
},
{
"recordId": "c3",
"data" :
{
},
"errors": [ { "message": "contractText field required "} ],
"warnings": [ {"message": "Date not found" } ]
}
]
}
Egyéni képesség hozzáadása egy készségkészlethez
Webes API-bővítő létrehozásakor a kérés részeként HTTP-fejléceket és paramétereket határozhat meg. Az alábbi kódrészlet bemutatja, hogyan vehetők fel a kérelemparaméterek és az opcionális HTTP-fejlécek a képességkészlet definíciójában. A HTTP-fejléc beállítása hasznos, ha át kell adnia a kódnak a konfigurációs beállításokat.
{
"skills": [
{
"@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
"name": "myCustomSkill",
"description": "This skill calls an Azure function, which in turn calls TA sentiment",
"uri": "https://indexer-e2e-webskill.azurewebsites.net/api/DateExtractor?language=en",
"context": "/document",
"httpHeaders": {
"DateExtractor-Api-Key": "foo"
},
"inputs": [
{
"name": "contractText",
"source": "/document/content"
}
],
"outputs": [
{
"name": "contractDate",
"targetName": "date"
}
]
}
]
}
Note
Amikor GET-tel kéri le a tudáskészletet, a szolgáltatás minden <redacted> értékhez httpHeaders értéket ad vissza, a hitelesítő adatok felfedésének megelőzése érdekében. Ha a készséget a tárolt fejlécértékek módosítása nélkül szeretné frissíteni, állítsa az egyes értékeket a következőre <unchanged>: . További részletekért és példákért lásd: Custom Web API skill – Skill parameters.
Videó megtekintése
A bevezető videó és a bemutató megtekintéséhez nézze meg az alábbi demót.
Következő lépések
Ez a cikk az egyéni készségek készségkészletbe való integrálásához szükséges felületi követelményeket ismerteti. Az egyéni készségekről és a képességkészletek összetételéről az alábbi forrásokból tudhat meg többet: