Példa: Form Recognizer egyéni képesség létrehozása (archiválva)
Ez a példa archiválva van, és nem támogatott. Ismertette, hogyan hozhat létre Form Recognizer egyéni képességeket a C# és a Visual Studio használatával.
Előfeltételek
- Visual Studio (bármely kiadás).
- Legalább öt azonos típusú forma. Az útmutatóban megadott mintaadatokat használhatja.
Form Recognizer-erőforrás létrehozása
Lásd: Form Recognizer-erőforrás létrehozása
A modell betanítása
A képesség használatához be kell tanítania egy Form Recognizer modellt a bemeneti űrlapokkal. A modellek betanítása Form Recognizer modellekkel. Használhat mintaadatokat, vagy saját adatokat is megadhat.
A modell betanítása után másolja az azonosító értékét egy biztonságos helyre.
Az egyéni képesség beállítása
Ez az oktatóanyag az Azure Search Power Skills GitHub-adattárBan található AnalyzeForm projektet használja. Klónozza ezt az adattárat a helyi gépre, és lépjen a Vision/AnalyzeForm/ helyre a projekt eléréséhez. Ezután nyissa meg az AnalyzeForm.csproj fájlt a Visual Studióban. Ez a projekt létrehoz egy Azure-függvényerőforrást, amely megfelel az egyéni képességi felületnek, és Azure Cognitive Search bővítéshez használható. A dokumentumokat bemenetként, a megadott kulcs-érték párokat pedig (szövegként) adja ki.
Először adjon hozzá projektszintű környezeti változókat. Keresse meg az AnalyzeForm projektet a bal oldali panelen, kattintson rá a jobb gombbal, és válassza a Tulajdonságok lehetőséget. A Tulajdonságok ablakban válassza a Hibakeresés lapot, majd keresse meg a Környezeti változók mezőt. Válassza a Hozzáadás lehetőséget a következő változók hozzáadásához:
-
FORMS_RECOGNIZER_ENDPOINT_URL
a végpont URL-címére beállított értékkel. -
FORMS_RECOGNIZER_API_KEY
az előfizetési kulcsra beállított értékkel. -
FORMS_RECOGNIZER_MODEL_ID
a betanított modell azonosítójára beállított értékkel. -
FORMS_RECOGNIZER_RETRY_DELAY
1000 értékre van állítva. Ez az érték az az idő ezredmásodpercben, amíg a program megvárja a lekérdezés újrapróbálkozását. -
FORMS_RECOGNIZER_MAX_ATTEMPTS
100-ra van állítva. Ez az érték azt jelzi, hogy a program hányszor kérdezi le a szolgáltatást, miközben sikeres választ próbál kapni.
Ezután nyissa meg az AnalyzeForm.cs fájlt , és keresse meg a fieldMappings
változót, amely a field-mappings.json fájlra hivatkozik . Ez a fájl (és az arra hivatkozó változó) határozza meg az űrlapokból kinyerni kívánt kulcsok listáját és az egyes kulcsok egyéni címkéjét. Például egy érték { "Address:", "address" }, { "Invoice For:", "recipient" }
azt jelenti, hogy a szkript csak az észlelt Address:
és Invoice For:
a mezők értékeit menti, és az és "recipient"
a címkével "address"
fogja megjelölni az értékeket.
Végül jegyezze fel a változót contentType
. Ez a szkript a megadott Form Recognizer modellt futtatja az URL-címmel hivatkozott távoli dokumentumokon, így a tartalomtípus a következőapplication/json
: . Ha a helyi fájlokat úgy szeretné elemezni, hogy a bájtstreameket bele szeretné venni a HTTP-kérésekbe, a fájlt a megfelelő MIME-típusra kell módosítaniacontentType
.
A függvény tesztelése a Visual Studióból
Miután szerkesztette a projektet, mentse, és állítsa be az AnalyzeForm projektet indítási projektként a Visual Studióban (ha még nincs beállítva). Ezután nyomja le az F5 billentyűt a függvény helyi környezetben való futtatásához. A függvény meghívásához használjon egy REST-szolgáltatást, például a Postmant .
HTTP-kérés
A függvény meghívására a következő kérést fogja küldeni.
POST http://localhost:7071/api/analyze-form
A kérés törzse
Kezdje a kérelem törzssablonjával
{
"values": [
{
"recordId": "record1",
"data": {
"formUrl": "<your-form-url>",
"formSasToken": "<your-sas-token>"
}
}
]
}
Itt meg kell adnia egy olyan űrlap URL-címét, amely ugyanolyan típusú, mint a betanított űrlapok. Tesztelési célokra használhatja az egyik betanítási űrlapot. Ha követte a cURL rövid útmutatóját, az űrlapok egy Azure Blob Storage fiókban lesznek elhelyezve. Nyissa meg Azure Storage Explorer, keresse meg az űrlapfájlt, kattintson rá a jobb gombbal, és válassza a Közös hozzáférésű jogosultságkód lekérése lehetőséget. A következő párbeszédpanelen megjelenik egy URL-cím és egy SAS-jogkivonat. Adja meg ezeket a sztringeket a "formUrl"
kérelemtörzs és "formSasToken"
mezőiben.
Ha olyan távoli dokumentumot szeretne elemezni, amely nem szerepel Azure Blob Storage, illessze be az URL-címét a "formUrl"
mezőbe, és hagyja üresen a "formSasToken"
mezőt.
Megjegyzés
Ha a képesség integrálva van egy képességcsoportba, az URL-címet és a jogkivonatot a Cognitive Search biztosítja.
Reagálás
Az alábbi példához hasonló választ kell látnia:
{
"values": [
{
"recordId": "record1",
"data": {
"address": "1111 8th st. Bellevue, WA 99501 ",
"recipient": "Southridge Video 1060 Main St. Atlanta, GA 65024 "
},
"errors": null,
"warnings": null
}
]
}
A függvény közzététele az Azure-ban
Ha elégedett a függvény viselkedésével, közzéteheti.
- A Visual Studio Megoldáskezelő kattintson a jobb gombbal a projektre, és válassza a Közzététel lehetőséget. Válassza az Új>közzététel létrehozása lehetőséget.
- Ha még nem csatlakoztatta a Visual Studiót az Azure-fiókjához, válassza a Fiók hozzáadása... lehetőséget.
- Kövesse a képernyőn megjelenő utasításokat. Adjon meg egy egyedi nevet az App Service-nek, az Azure-előfizetésnek, az erőforráscsoportnak, az üzemeltetési csomagnak és a használni kívánt tárfióknak. Ha még nem rendelkezik ezekkel, létrehozhat egy új erőforráscsoportot, egy új üzemeltetési csomagot és egy új tárfiókot. Ha végzett, válassza a Létrehozás lehetőséget.
- Az üzembe helyezés befejezése után figyelje meg a webhely URL-címét. Ez az URL-cím az Azure-beli függvényalkalmazás címe. Mentse egy ideiglenes helyre.
- A Azure Portal keresse meg az erőforráscsoportot, és keresse meg a
AnalyzeForm
közzétett függvényt. A Kezelés szakaszban a Gazdagépkulcsok elemnek kell megjelennie. Másolja ki az alapértelmezett gazdagépkulcsot, és mentse egy ideiglenes helyre.
Csatlakozás a folyamathoz
Ha ezt a képességet egy Cognitive Search-folyamatban szeretné használni, hozzá kell adnia egy képességdefiníciót a képességcsoporthoz. Az alábbi JSON-blokk egy minta készségdefiníció (frissítenie kell a bemeneteket és a kimeneteket, hogy tükrözze az adott forgatókönyvet és képességcsoport-környezetet). Cserélje le AzureFunctionEndpointUrl
a elemet a függvény URL-címére, a helyére AzureFunctionDefaultHostKey
pedig a gazdakulcsot.
{
"description":"Skillset that invokes the Form Recognizer custom skill",
"skills":[
"[... your existing skills go here]",
{
"@odata.type":"#Microsoft.Skills.Custom.WebApiSkill",
"name":"formrecognizer",
"description":"Extracts fields from a form using a pre-trained form recognition model",
"uri":"[AzureFunctionEndpointUrl]/api/analyze-form?code=[AzureFunctionDefaultHostKey]",
"httpMethod":"POST",
"timeout":"PT30S",
"context":"/document",
"batchSize":1,
"inputs":[
{
"name":"formUrl",
"source":"/document/metadata_storage_path"
},
{
"name":"formSasToken",
"source":"/document/metadata_storage_sas_token"
}
],
"outputs":[
{
"name":"address",
"targetName":"address"
},
{
"name":"recipient",
"targetName":"recipient"
}
]
}
]
}