Megosztás a következőn keresztül:


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.

Azure Storage Explorer; pdf-dokumentum van kijelölve

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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"
        }
      ]
    }
  ]
}