Snabbstart: Formigenkänning JAVAScript-klientbiblioteks-SDK:er v3.0 | Förhandsgranska

Anteckning

Formigenkänning v3.0 finns för närvarande i offentlig förhandsversion. Vissa funktioner kanske inte stöds eller har begränsade funktioner.

Referensdokumentation | Bibliotekskällkod | Paket (NuGet) | Prover

Kom igång med Azure Formigenkänning med programmeringsspråket JavaScript. Azure Formigenkänning är en molnbaserad Azure Applied AI-tjänst som använder maskininlärning för att extrahera och analysera formulärfält, text och tabeller från dina dokument. Du kan enkelt anropa Formigenkänning modeller genom att integrera våra klientbiblioteks-SDks i dina arbetsflöden och program. Vi rekommenderar att du använder den kostnadsfria tjänsten när du lär dig tekniken. Kom ihåg att antalet kostnadsfria sidor är begränsat till 500 per månad.

Mer information om Formigenkänning och utvecklingsalternativ finns på översiktssidan.

I den här snabbstarten använder du följande funktioner för att analysera och extrahera data och värden från formulär och dokument:

  • 🆕 dokument Analysera och extrahera text, tabeller, struktur, nyckel/värde-par och namngivna entiteter.

  • Layout– Analysera och extrahera tabeller, linjer, ord och markeringsmarkeringar som alternativknappar och kryssrutor i formulärdokument, utan att du behöver träna en modell.

  • Förbyggd faktura Analysera och extrahera vanliga fält från fakturor med hjälp av en förtränad fakturamodell.

Förutsättningar

  • Azure-prenumeration – Skapa en utan kostnad.

  • Den senaste versionen av Visual Studio Code eller önskad IDE.

  • Den senaste LTS-versionen av Node.js

  • En Cognitive Services eller Formigenkänning resurs. När du har din Azure-prenumeration kan du skapa en resurs för Formigenkänning tjänst eller flera tjänster i Azure Portal för att hämta din nyckel och slutpunkt. Du kan använda den kostnadsfria prisnivån ( F0 ) för att prova tjänsten och senare uppgradera till en betald nivå för produktion.

    Tips

    Skapa en Cognitive Services resurs om du planerar att komma åt flera kognitiva tjänster under en enda slutpunkt/nyckel. För Formigenkänning åtkomst skapar du en Formigenkänning resurs. Observera att du behöver en resurs för en enskild tjänst om du planerar att använda Azure Active Directory autentisering.

  • När resursen har distribuerats väljer du Gå till resurs. Du behöver nyckeln och slutpunkten från resursen som du skapar för att ansluta ditt program till Formigenkänning API. Du klistrar in nyckeln och slutpunkten i koden nedan senare i snabbstarten:

    Skärmbild: Nycklar och slutpunktsplats i Azure Portal.

Konfigurera

  1. Skapa ett nytt Node.js program. I ett konsolfönster (till exempel cmd, PowerShell eller Bash) skapar du en ny katalog för din app och navigerar till den.

    mkdir form-recognizer-app && cd form-recognizer-app
    
  2. Kör kommandot npm init för att skapa ett nodprogram med en package.json -fil.

    npm init
    
  3. Installera ai-form-recognizer npm-paketet för klientbiblioteket:

    npm install @azure/ai-form-recognizer@4.0.0-beta.1 @azure/identity
    
    • Appens package.json fil uppdateras med beroendena.
  4. Skapa en fil med index.js namnet , öppna den och lägg till följande bibliotek:

    const { AzureKeyCredential, DocumentAnalysisClient } = require("@azure/ai-form-recognizer");
    
  5. Skapa variabler för resursens Azure-slutpunkt och nyckel:

    const apiKey = "PASTE_YOUR_FORM_RECOGNIZER_SUBSCRIPTION_KEY_HERE";
    const endpoint = "PASTE_YOUR_FORM_RECOGNIZER_ENDPOINT_HERE";
    

Nu bör JavaScript-programmet innehålla följande kodrader:

const { AzureKeyCredential, DocumentAnalysisClient } = require("@azure/ai-form-recognizer");

const endpoint = "PASTE_YOUR_FORM_RECOGNIZER_ENDPOINT_HERE";
const apiKey = "PASTE_YOUR_FORM_RECOGNIZER_SUBSCRIPTION_KEY_HERE";

Välj ett kodexempel som du vill kopiera och klistra in i programmet:

Viktigt

Kom ihåg att ta bort nyckeln från koden när du är klar och aldrig publicera den offentligt. För produktion använder du säkra metoder för att lagra och komma åt dina autentiseringsuppgifter. Se vår Cognitive Services säkerhetsartikel för mer information.

Prova: Allmän dokumentmodell

  • I det här exemplet behöver du en formulärdokumentfil på en URI. Du kan använda vårt exempelformulärdokument för den här snabbstarten.
  • Om du vill analysera en viss fil med en URI använder du beginExtractGenericDocument metoden .
  • Vi har lagt till fil-URI-värdet formUrl till variabeln längst upp i filen.
  • En lista över alla fält som stöds och motsvarande typer finns på sidan allmänt dokumentkoncept.

Lägg till följande kod i ditt allmänna dokumentprogram på raden under apiKey variabeln


const formUrl = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-layout.pdf"

async function main() {
    const client = new DocumentAnalysisClient(endpoint, new DefaultAzureCredential(apiKey));

    const poller = await client.beginExtractGenericDocument(formUrl);

    const {
        keyValuePairs,
        entities
    } = await poller.pollUntilDone();

    if (keyValuePairs.length <= 0) {
        console.log("No key-value pairs were extracted from the document.");
    } else {
        console.log("Key-Value Pairs:");
        for (const {
                key,
                value,
                confidence
            } of keyValuePairs) {
            console.log("- Key  :", `"${key.content}"`);
            console.log("  Value:", `"${value?.content ?? "<undefined>"}" (${confidence})`);
        }
    }

    if (entities.length <= 0) {
        console.log("No entities were extracted from the document.");
    } else {
        console.log("Entities:");
        for (const entity of entities) {
            console.log(
                `- "${entity.content}" ${entity.category} - ${entity.subCategory ?? "<none>"} (${
          entity.confidence
        })`
            );
        }
    }
}

main().catch((error) => {
    console.error("An error occurred:", error);
    process.exit(1);
});

Prova: Layoutmodell

  • I det här exemplet behöver du en formulärdokumentfil på en URI. Du kan använda vårt exempelformulärdokument för den här snabbstarten.
  • Vi har lagt till fil-URI-värdet formUrl till variabeln längst upp i filen.
  • Om du vill analysera en viss fil med en URI använder du beginExtractLayout metoden .

Lägg till följande kod i layoutprogrammet på raden under apiKey variabeln


const formUrl = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-layout.pdf"

async function main() {
    const client = new DocumentAnalysisClient(endpoint, new AzureKeyCredential(apiKey));

    const poller = await client.beginExtractLayout(formUrl);

    const {
        pages,
        tables
    } = await poller.pollUntilDone();

    if (pages.length <= 0) {
        console.log("No pages were extracted from the document.");
    } else {
        console.log("Pages:");
        for (const page of pages) {
            console.log("- Page", page.pageNumber, `(unit: ${page.unit})`);
            console.log(`  ${page.width}x${page.height}, angle: ${page.angle}`);
            console.log(`  ${page.lines.length} lines, ${page.words.length} words`);
        }
    }

    if (tables.length <= 0) {
        console.log("No tables were extracted from the document.");
    } else {
        console.log("Tables:");
        for (const table of tables) {
            console.log(
                `- Extracted table: ${table.columnCount} columns, ${table.rowCount} rows (${table.cells.length} cells)`
            );
        }
    }
}

main().catch((error) => {
    console.error("An error occurred:", error);
    process.exit(1);
});

Prova: Förbyggd modell

Det här exemplet visar hur du analyserar data från vissa vanliga dokumenttyper med en förtränad modell med hjälp av en faktura som exempel.

  • I det här exemplet analyserar vi ett fakturadokument med hjälp av en förbyggd modell. Du kan använda vårt exempelfakturadokument för den här snabbstarten.
  • Vi har lagt till fil-URI-värdet invoiceUrl i variabeln överst i filen.
  • Om du vill analysera en viss fil på en URI använder du metoden beginAnalyzeDocuments och skickar PrebuiltModels.Invoice som modell-ID. Det returnerade värdet är ett result objekt som innehåller data om det skickade dokumentet.
  • För enkelhetens skull visas inte alla nyckel/värde-par som tjänsten returnerar här. En lista över alla fält som stöds och motsvarande typer finns på vår sida fakturakoncept.

Välj det fördefinierade modell-ID:t för fakturan

Du är inte begränsad till fakturor – det finns flera fördefinierade modeller att välja mellan, där var och en har en egen uppsättning fält som stöds. Vilken modell som ska användas för analysåtgärden beror på vilken typ av dokument som ska analyseras. Här är modell-ID:erna för de fördefinierade modeller som för närvarande stöds av Formigenkänning tjänsten:

  • prebuilt-invoice:extraherar text, markeringsmarkeringar, tabeller, nyckel/värde-par och nyckelinformation från fakturor.
  • prebuilt-receipt:extraherar text- och nyckelinformation från kvitton.
  • prebuilt-idDocument:extraherar text- och nyckelinformation från drivrutinslicenser och internationella pass.
  • prebuilt-businessCard:extraherar text och viktig information från visitkort.

Lägg till följande kod i det fördefinierade fakturaprogrammet under apiKey variabeln


const {PreBuiltModels} = require("@azure/ai-form-recognizer");

// Use of PrebuiltModels.Receipt above (rather than the raw model ID), adds strong typing of the model's output

const invoiceUrl = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-invoice.pdf";

async function main() {

    const client = new DocumentAnalysisClient(endpoint, new AzureKeyCredential(apiKey));

    const poller = await client.beginAnalyzeDocuments(PrebuiltModels.Invoice, invoiceUrl);

    const {
        documents: [result]
    } = await poller.pollUntilDone();

    if (result) {
        const invoice = result.fields;

        console.log("Vendor Name:", invoice.vendorName?.value);
        console.log("Customer Name:", invoice.customerName?.value);
        console.log("Invoice Date:", invoice.invoiceDate?.value);
        console.log("Due Date:", invoice.dueDate?.value);

        console.log("Items:");
        for (const {
                properties: item
            } of invoice.items?.values ?? []) {
            console.log("-", item.productCode?.value ?? "<no product code>");
            console.log("  Description:", item.description?.value);
            console.log("  Quantity:", item.quantity?.value);
            console.log("  Date:", item.date?.value);
            console.log("  Unit:", item.unit?.value);
            console.log("  Unit Price:", item.unitPrice?.value);
            console.log("  Tax:", item.tax?.value);
            console.log("  Amount:", item.amount?.value);
        }

        console.log("Subtotal:", invoice.subTotal?.value);
        console.log("Previous Unpaid Balance:", invoice.previousUnpaidBalance?.value);
        console.log("Tax:", invoice.totalTax?.value);
        console.log("Amount Due:", invoice.amountDue?.value);
    } else {
        throw new Error("Expected at least one receipt in the result.");
    }
}

main().catch((error) => {
    console.error("An error occurred:", error);
    process.exit(1);
});

Köra ditt program

  1. Navigera till mappen där du har programmet för form känna igen (form-recognizer-app).

  2. Skriv följande kommando i terminalen:

node index.js

Grattis! I den här snabbstarten använde du Formigenkänning JavaScript SDK för att analysera olika former på olika sätt. Utforska sedan referensdokumentationen för att lära dig mer om Formigenkänning v3.0 API.

Nästa steg