Delen via


Azure AI Content Understanding client library for JavaScript - versie 1.0.0

Azure AI Content Understanding is een multimodale AI-dienst die semantische inhoud extrahert uit documenten, video-, audio- en afbeeldingsbestanden. Het transformeert ongestructureerde inhoud in gestructureerde, machineleesbare data die geoptimaliseerd is voor retrieval-augmented generation (RAG) en geautomatiseerde workflows.

Gebruik de clientbibliotheek voor Azure AI Content Understanding om:

  • Documentinhoud extraheren - Tekst, tabellen, figuren, lay-outinformatie en gestructureerde markdown uit documenten halen (PDF, afbeeldingen met tekst of handgeschreven tekst, Office-documenten en meer)
  • Transcribeer en analyseer audio - Converteer audio-inhoud naar doorzoekbare transcripties met spreker-diarisatie en timinginformatie
  • Analyseer videocontent - Haal visuele frames uit, transcribeer audiotracks en genereer gestructureerde samenvattingen uit videobestanden
  • Benut vooraf gebouwde analyzers - Gebruik productieklare kant-en-klare analyzers in sectoren, waaronder finance en belasting (facturen, bonnetjes, belastingformulieren), identiteitsverificatie (paspoorten, rijbewijzen), hypotheken en leningen (leningaanvragen, taxaties), inkoop en contracten (inkooporders, overeenkomsten) en nutsvoorzieningen (factuurafschriften)
  • Maak aangepaste analyzers - Bouw domeinspecifieke analyzers voor gespecialiseerde contentextractiebehoeften over alle vier de modaliteiten (documenten, video, audio en afbeeldingen)
  • Documenten en video classificeren - Automatisch documenten en video categoriseren en extraheren van informatie op type

Sleutelkoppelingen:

Getting started

Momenteel ondersteunde omgevingen

Zie ons supportbeleid voor meer details.

Vereiste voorwaarden

Installeer het @azure/ai-content-understanding-pakket

Installeer de clientbibliotheek van Azure Content Understanding voor JavaScript met npm:

npm install @azure/ai-content-understanding

Configureer je Microsoft Foundry-bron

Voordat je de Content Understanding SDK gebruikt, moet je een Microsoft Foundry-bron opzetten en de benodigde grote taalmodellen implementeren. Content Understanding gebruikt momenteel OpenAI GPT-modellen (zoals gpt-4.1, gpt-4.1-mini en text-embedding-3-large).

Stap 1: Maak Microsoft Foundry-bron aan

Belangrijk: Je moet je Microsoft Foundry-bron aanmaken in een regio die Content Understanding ondersteunt. Voor een lijst van beschikbare regio's, zie Azure Content Understanding region and language support.

  1. Volg de stappen in de Azure Content Understanding quickstart om een Microsoft Foundry-bron in de Azure portal
  2. Haal de endpoint-URL van je Foundry-resource op via Azure Portal:
    • Ga naar Azure Portal
    • Ga naar je Microsoft Foundry-bron
    • Ga naar Resource Management>Keys en Endpoint
    • Kopieer de URL Endpoint (meestal https://<your-resource-name>.services.ai.azure.com/)

Belangrijk: Verleen vereiste toestemmingen

Na het aanmaken van je Microsoft Foundry-resource moet je jezelf de rol Cognitive Services User toewijzen om API-aanroepen voor het instellen van standaardmodelimplementaties mogelijk te maken:

  1. Ga naar Azure Portal
  2. Ga naar je Microsoft Foundry-bron
  3. Ga naar Access Control (IAM) in het linkermenu
  4. Klik op Roltoewijzing toevoegen>
  5. Selecteer de rol Gebruiker van cognitieve diensten
  6. Wijs het toe aan jezelf (of aan de gebruiker/servicehoofd die de applicatie zal draaien)

Opmerking: Deze roltoewijzing is vereist, zelfs als jij de eigenaar bent van de bron. Zonder deze rol kun je de Content Understanding API niet aanroepen om modelimplementaties voor kant-en-klare analyzers te configureren.

Stap 2: Rol de benodigde modellen uit

Belangrijk: De vooraf gebouwde en aangepaste analyzers vereisen grote taalmodelimplementaties. Je moet ten minste deze modellen implementeren voordat je vooraf gebouwde analyzers en aangepaste analyzers gebruikt:

  • prebuilt-documentSearch, prebuilt-imageSearch, prebuilt-audioSearch, vereisen prebuilt-videoSearchgpt-4.1-mini en text-embedding-3-large
  • Andere vooraf gebouwde analyzers zoals prebuilt-invoice, prebuilt-receipt vereisen gpt-4.1 en text-embedding-3-large

Een model implementeren:

  1. In Microsoft Foundry ga je naar Deployments>Deploy model>Deploy base model
  2. Zoek naar en selecteer het model dat je wilt inzetten. Momenteel vereisen vooraf gebouwde analyzers modellen zoals gpt-4.1, gpt-4.1-mini, en text-embedding-3-large
  3. Voltooi de uitrol met je voorkeursinstellingen
  4. Noteer de implementatienaam die je hebt gekozen (gebruik volgens conventie de modelnaam als deploymentnaam, bijvoorbeeld gpt-4.1 voor het gpt-4.1 model)

Herhaal dit proces voor elk model dat je vooraf gebouwde analyzers nodig hebben.

Voor meer informatie over het uitrollen van modellen, zie Create model-implementaties in het Microsoft Foundry-portaal.

Stap 3: Configureer modelimplementaties (vereist voor vooraf gebouwde analyzers)

BELANGRIJK: Dit is een eenmalige setup volgens Microsoft Foundry-bron die je geïmplementeerde modellen koppelt aan die welke vereist zijn door de vooraf gebouwde analyzers en aangepaste modellen. Als je meerdere Microsoft Foundry-bronnen hebt, moet je elk afzonderlijk configureren.

Je moet de standaard modelmappings configureren in je Microsoft Foundry-resource. Dit kan programmatisch worden gedaan met behulp van de SDK. De configuratie koppelt je geïmplementeerde modellen (momenteel gpt-4.1, gpt-4.1-mini en text-embedding-3-large) aan de grote taalmodellen die vereist zijn voor vooraf gebouwde analyzers.

Om modelimplementaties met code te configureren, zie het voorbeeld Update Defaults voor een volledig voorbeeld. Hier is een kort overzicht:

import { ContentUnderstandingClient } from "@azure/ai-content-understanding";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = process.env["CONTENTUNDERSTANDING_ENDPOINT"]!;
const client = new ContentUnderstandingClient(endpoint, new DefaultAzureCredential());

// Map your deployed models to the models required by prebuilt analyzers
const updatedDefaults = await client.updateDefaults({
  modelDeployments: {
    "gpt-4.1": process.env["GPT_4_1_DEPLOYMENT"]!,
    "gpt-4.1-mini": process.env["GPT_4_1_MINI_DEPLOYMENT"]!,
    "text-embedding-3-large": process.env["TEXT_EMBEDDING_3_LARGE_DEPLOYMENT"]!,
  },
});

console.log("Model deployments configured successfully!");

Opmerking: De configuratie wordt behouden in je Microsoft Foundry-resource, dus je hoeft dit maar één keer per resource uit te voeren (of telkens wanneer je je deployment-namen verandert).

De client verifiëren

Om de client te authenticeren, heb je je Microsoft Foundry resource-endpoint en inloggegevens nodig. Je kunt een API-sleutel gebruiken of Microsoft Entra ID-authenticatie.

Using DefaultAzureCredential

De eenvoudigste manier om te authenticeren is met DefaultAzureCredential, dat meerdere authenticatiemethoden ondersteunt en goed werkt in zowel lokale ontwikkelings- als productieomgevingen.

Om de hieronder weergegeven provider DefaultAzureCredential te gebruiken, of andere inloggegevens die bij de Azure SDK zijn geleverd, installeer dan het pakket @azure/identity:

npm install @azure/identity

Met Node.js- en Node-achtige omgevingen kunt u de DefaultAzureCredential-klasse gebruiken om de client te verifiëren.

import { ContentUnderstandingClient } from "@azure/ai-content-understanding";
import { DefaultAzureCredential } from "@azure/identity";

const client = new ContentUnderstandingClient("<endpoint>", new DefaultAzureCredential());

Voor browseromgevingen gebruik je de InteractiveBrowserCredential uit het @azure/identity-pakket om te authenticeren.

import { InteractiveBrowserCredential } from "@azure/identity";
import { ContentUnderstandingClient } from "@azure/ai-content-understanding";

const credential = new InteractiveBrowserCredential({
  tenantId: "<YOUR_TENANT_ID>",
  clientId: "<YOUR_CLIENT_ID>",
});
const client = new ContentUnderstandingClient("<endpoint>", credential);

Gebruik van API-sleutel

Je kunt ook authenticeren met een API-sleutel vanuit je Microsoft Foundry-bron:

import { ContentUnderstandingClient } from "@azure/ai-content-understanding";
import { AzureKeyCredential } from "@azure/core-auth";

const endpoint = process.env["CONTENTUNDERSTANDING_ENDPOINT"]!;
const apiKey = process.env["CONTENTUNDERSTANDING_KEY"]!;
const client = new ContentUnderstandingClient(endpoint, new AzureKeyCredential(apiKey));

Om uw API-sleutel te verkrijgen:

  1. Ga naar Azure Portal
  2. Ga naar je Microsoft Foundry-bron
  3. Ga naar Resource Management>Keys en Endpoint
  4. Kopieer een van de sleutels (sleutel1 of sleutel2)

Voor meer informatie over authenticatie, zie Azure Identity client library.

JavaScript-bundel

Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundelaar gebruiken. Voor details over hoe to do dit , raadpleeg onze bundling documentatie.

Belangrijke concepten

Vooraf gemaakte analyse

Content Understanding biedt een rijke set vooraf gebouwde analyzers die direct gebruikt kunnen worden zonder enige configuratie. Deze analyzers worden aangedreven door kennisbanken met duizenden voorbeelden uit de praktijk, waardoor ze de structuur van documenten kunnen begrijpen en zich kunnen aanpassen aan variaties in formaat en inhoud.

Vooraf gebouwde analyzers zijn georganiseerd in verschillende categorieën:

  • RAG-analyzers - Geoptimaliseerd voor scenario's van retrieval-augmented generatie met semantische analyse en markdown-extractie. Deze analyzers geven markdown en één alinea Summary terug voor elk inhoudsitem:
    • prebuilt-documentSearch - Extraheren van inhoud uit documenten (PDF, afbeeldingen, Office-documenten) met layoutbehoud, tabeldetectie, figuuranalyse en gestructureerde markdown-output. Geoptimaliseerd voor RAG-scenario's.
    • prebuilt-imageSearch - Analyseert losse afbeeldingen en geeft een beschrijving van één alinea van de beeldinhoud terug. Geoptimaliseerd voor beeldbegrip en zoekscenario's. Voor afbeeldingen die tekst bevatten (inclusief handgeschreven tekst), gebruik prebuilt-documentSearch.
    • prebuilt-audioSearch - Transcribeert audio-inhoud met sprekerdagboek, timinginformatie en gesprekssamenvattingen. Ondersteunt meertalige transcriptie.
    • prebuilt-videoSearch - Analyseert videocontent met visuele frame-extractie, audio-transcriptie en gestructureerde samenvattingen. Biedt temporele uitlijning van visuele en audio-inhoud en kan meerdere segmenten per video teruggeven.
  • Content extraction analyzers - Focus op OCR en lay-outanalyse (bijv. prebuilt-read, ) prebuilt-layout
  • Basisanalysatoren - Fundamentele contentverwerkingsmogelijkheden die worden gebruikt als ouderanalyseraars voor aangepaste analyzers (bijv. prebuilt-document, prebuilt-image, , prebuilt-audio) prebuilt-video
  • Domeinspecifieke analyzers - Vooraf geconfigureerde analyzers voor veelvoorkomende documentcategorieën, waaronder financiële documenten (facturen, bonnetjes, bankafschriften), identiteitsdocumenten (paspoorten, rijbewijzen), belastingformulieren, hypotheekdocumenten en contracten, en nutsvoorzieningen (factuurformulieren)
  • Utility-analyzers - Gespecialiseerde hulpmiddelen voor schemageneratie en veldextractie (bijv. prebuilt-documentFieldSchema, , prebuilt-documentFields)

Voor een volledige lijst van beschikbare kant-en-klare analyzers en hun mogelijkheden, zie de documentatie Prebuilt analyzers.

Aangepaste analyzers

Je kunt aangepaste analyzers maken met specifieke veldschema's voor multimodale contentverwerking (documenten, afbeeldingen, audio, video). Aangepaste analyzers stellen je in staat domeinspecifieke informatie te extraheren die is afgestemd op jouw gebruikssituatie.

Inhoudstypen

De API geeft verschillende contenttypes terug op basis van de invoer:

  • document - Voor documentbestanden (PDF, HTML, afbeeldingen, Office-documenten zoals Word, Excel, PowerPoint en meer). Geeft basisinformatie zoals paginatelling en MIME-type. Haal gedetailleerde informatie op, waaronder pagina's, tabellen, figuren, alinea's en vele anderen.
  • audioVisual - Voor audio- en videobestanden. Geeft basisinformatie zoals timing (start-/eindtijden) en frameafmetingen (voor video). Haal gedetailleerde informatie op, waaronder transcriptzinnen en timinginformatie en voor video, keyframereferenties en meer.

Asynchrone bewerkingen

Content Understanding-operaties zijn asynchrone, langlopende operaties. De werkstroom is:

  1. Begin Analyse - Start de analyse-operatie (geeft direct een operatielocatie terug)
  2. Peiling voor resultaten - Peil de operatielocatie totdat de analyse is afgerond
  3. Procesresultaten - Extraheren en weergeven van de gestructureerde resultaten

De SDK biedt pollertypes die polling automatisch afhandelen bij gebruik pollUntilDone()van . Voor analysebewerkingen levert de SDK een poller terug die access aan de operatie-ID geeft. Deze operatie-ID kan worden gebruikt met getResultFile en deleteResult methoden.

Hoofdklassen

  • ContentUnderstandingClient - De hoofdclient voor het analyseren van content, evenals het creëren, beheren en configureren van analyzers
  • AnalysisResult - Bevat de gestructureerde resultaten van een analysebewerking, inclusief inhoudselementen, markdown en metadata

Schroefdraadveiligheid

We garanderen dat alle clientinstantiemethoden thread-veilig en onafhankelijk van elkaar zijn. Dit zorgt ervoor dat de aanbeveling voor het hergebruik van clientexemplaren altijd veilig is, zelfs over threads.

Aanvullende concepten

Clientopties | Toegang tot de respons | Langlopende operaties | Afhandeling van storingen | Diagnostiek | Klantlevensduur

Voorbeelden

Je kunt jezelf vertrouwd maken met verschillende API's met Samples.

De voorbeelden tonen aan:

  • Configuratie - Configureer modelimplementatiestandaardinstellingen voor vooraf gebouwde analyzers en aangepaste analyzers
  • Documentinhoudextractie - Extraheren van gestructureerde markdown-inhoud uit PDF's en afbeeldingen met behulp van prebuilt-documentSearch, geoptimaliseerd voor RAG (Retrieval-Augmented Generatie) toepassingen
  • Multimodale inhoudsanalyse - Analyseer inhoud van URL's over alle modaliteiten: extraheer markdown en samenvattingen uit documenten, afbeeldingen, audio en video met behulp van prebuilt-documentSearch, prebuilt-imageSearch, prebuilt-audioSearch, en prebuilt-videoSearch
  • Domain-Specific Analyse - Extraheer gestructureerde velden uit facturen met behulp van prebuilt-invoice
  • Geavanceerde documentfuncties - Haal grafieken, hyperlinks, formules en annotaties uit documenten
  • Aangepaste analyzers - Maak aangepaste analyzers met veldschema's voor gespecialiseerde extractiebehoeften
  • Documentclassificatie - Maak classifiers aan en gebruik ze om documenten te categoriseren
  • Analyzer Management - Analyzers ophalen, lijsten, bijwerken, kopiëren en verwijderen
  • Resultaatbeheer - Haal resultaatbestanden op uit video-analyse en verwijder analyse-resultaten

Haal markdown-inhoud uit documenten

Gebruik de prebuilt-documentSearch analyzer om markdown-inhoud uit documenten te halen:

import { ContentUnderstandingClient } from "@azure/ai-content-understanding";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = process.env["CONTENTUNDERSTANDING_ENDPOINT"]!;
const client = new ContentUnderstandingClient(endpoint, new DefaultAzureCredential());

const documentUrl = "https://example.com/sample_invoice.pdf";

// Analyze document using prebuilt-documentSearch
const poller = client.analyze("prebuilt-documentSearch", [{ url: documentUrl }]);
const result = await poller.pollUntilDone();

// Extract markdown content
if (result.contents && result.contents.length > 0) {
  const content = result.contents[0];
  console.log("Markdown Content:");
  console.log(content.markdown);

  // Access document-specific properties
  if (content.kind === "document") {
    console.log(`Pages: ${content.startPageNumber} - ${content.endPageNumber}`);
  }
}

Haal gestructureerde velden uit facturen

Gebruik de prebuilt-invoice analyzer om gestructureerde factuurvelden te extraheren:

import {
  ContentUnderstandingClient,
  type DocumentContent,
  type ContentFieldUnion,
} from "@azure/ai-content-understanding";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = process.env["CONTENTUNDERSTANDING_ENDPOINT"]!;
const client = new ContentUnderstandingClient(endpoint, new DefaultAzureCredential());

const invoiceUrl = "https://example.com/invoice.pdf";

// Analyze invoice using prebuilt-invoice analyzer
const poller = client.analyze("prebuilt-invoice", [{ url: invoiceUrl }]);
const result = await poller.pollUntilDone();

if (result.contents && result.contents.length > 0) {
  const content = result.contents[0] as DocumentContent;

  // Helper function to extract field values
  const getFieldValue = (field: ContentFieldUnion | undefined): string | undefined => {
    if (!field) return undefined;
    if ("valueString" in field) return field.valueString;
    if ("valueDate" in field) return field.valueDate;
    if ("valueNumber" in field) return String(field.valueNumber);
    return undefined;
  };

  // Extract invoice fields
  const customerName = getFieldValue(content.fields?.["CustomerName"]);
  const invoiceTotal = getFieldValue(content.fields?.["InvoiceTotal"]);
  const invoiceDate = getFieldValue(content.fields?.["InvoiceDate"]);

  console.log(`Customer Name: ${customerName ?? "(None)"}`);
  console.log(`Invoice Total: ${invoiceTotal ?? "(None)"}`);
  console.log(`Invoice Date: ${invoiceDate ?? "(None)"}`);
}

Zie de directory samples voor volledige voorbeelden.

Probleemoplossingsproces

Veelvoorkomende problemen

Fout: "Access geweigerd vanwege ongeldige abonnementssleutel of verkeerd API-eindpunt"

  • Controleer of de URL van je endpoint correct is en de achterliggende slash bevat
  • Zorg ervoor dat je API-sleutel geldig is of dat je Microsoft Entra ID-inloggegevens de juiste rechten hebben
  • Zorg ervoor dat je de rol Gebruiker van Cognitieve Diensten aan je account hebt toegewezen

Fout: "Modelimplementatie niet gevonden" of "Standaardmodelimplementatie niet geconfigureerd"

  • Zorg ervoor dat je de vereiste modellen (gpt-4.1, gpt-4.1-mini, text-embedding-3-large) hebt geïmplementeerd in Microsoft Foundry
  • Controleer of je de standaardmodel-deployments hebt geconfigureerd (zie Configure Model Deployments)
  • Controleer of je implementatienamen overeenkomen met wat je in de standaardinstellingen hebt geconfigureerd

Fout: "Operatie mislukt" of time-out

  • Content Understanding-operaties zijn asynchroon en kunnen tijd kosten om te voltooien
  • Zorg ervoor dat je correct pollt op de poller met pollUntilDone() behulp van het poller-object
  • Controleer de bedrijfsstatus voor meer details over de storing

Loggen

Het inschakelen van logboekregistratie kan helpen nuttige informatie over fouten te ontdekken. Als u een logboek met HTTP-aanvragen en -antwoorden wilt zien, stelt u de omgevingsvariabele AZURE_LOG_LEVEL in op info. Alternatief kan logging tijdens runtime worden ingeschakeld door setLogLevel aan te roepen in de @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Voor meer gedetailleerde instructies over hoe je logs inschakelt, kun je kijken in de documentatie van het pakket @azure/logger.

Testing

Deze SDK bevat uitgebreide tests die in verschillende modi kunnen worden uitgevoerd.

Snel starten

# Install dependencies
pnpm install

# Build the SDK
npx turbo build --filter=@azure/ai-content-understanding...

# Run tests in playback mode (no Azure resources needed)
pnpm test

Testmodi

  • Playback Mode (standaard): Gebruikt vooraf opgenomen HTTP-interacties, geen Azure resources nodig
  • Record Mode: Werkt tegen live Azure services en neemt interacties op voor toekomstige weergave
  • Live Mode: Werkt tegen live Azure diensten zonder op te nemen

Het opzetten van de omgeving voor live/opnametests

  1. Kopieer test/sample.env naar test/.env:

    cp test/sample.env test/.env
    
  2. Bewerk test/.env en vul je werkelijke waarden in:

    • CONTENTUNDERSTANDING_ENDPOINT: Uw Microsoft Foundry resource endpoint
    • CONTENTUNDERSTANDING_KEY: Je API-sleutel (optioneel als je DefaultAzureCredential gebruikt)
    • Modelimplementatienamen (vereist voor vooraf gebouwde analyzers)

Voer tests uit in recordmodus

Om nieuwe testinteracties vast te leggen of bestaande bij te werken:

# Run tests in record mode
TEST_MODE=record pnpm test

Voer tests uit in afspeelmodus

Om tests uit te voeren zonder Azure-bronnen (met vooraf opgenomen interacties):

# Simply run tests (playback is the default mode)
pnpm test

# Or explicitly set playback mode
TEST_MODE=playback pnpm test

Pakket-scope / snellere workflows

  • Bouw alleen dit pakket en de afhankelijkheden ervan:

    npx turbo build --filter=@azure/ai-content-understanding... --token 1
    
  • Voer alleen Node-tests uit voor snellere iteratie (sla browsertests over):

    TEST_MODE=record pnpm test:node   # or TEST_MODE=playback pnpm test:node
    

Omgevingsvariabelen

Je kunt credentials op meerdere manieren instellen:

  1. Voorkeur: Maak het aan test/.env door je waarden te kopiëren test/sample.env en in te vullen

  2. Fallback: plaats een .env bij de package root (dezelfde map als package.json)

  3. Shell-export: Exporteer inloggegevens direct in je shell:

    export CONTENTUNDERSTANDING_ENDPOINT="https://<your-resource>.services.ai.azure.com/"
    export CONTENTUNDERSTANDING_KEY="<your_key_here>"
    TEST_MODE=record pnpm test:node
    

Debugtips

Let bij het uitvoeren van tests in recordmodus op debuglijnen die door de testopstelling zijn afgedrukt:

DEBUG ENV ENDPOINT DEFINED: true
DEBUG ENV KEY DEFINED: true

Belangrijk: Commit GEEN echte sleutels. Houd test/sample.env het sjabloon en zorg dat test/.env het in je .gitignoreomgeving zit.

Probleemoplossingstests

  • "sleutel moet een niet-lege string zijn": Het testproces kon uw CONTENTUNDERSTANDING_KEY. Zorg ervoor dat test/.env onze package-root .env aanwezig is en de sleutel bevat (of exporteer hem in je shell) voordat je tests uitvoert.
  • "Ongeldig verzoek" LRO-fouten: Zorg ervoor dat je dienst/regio de analyzer ondersteunt die door de tests wordt gebruikt en dat netwerk access beschikbaar is voor URL-gebaseerde invoer.

Lokale Samples Uitvoeren

De samples-mappen zijn uitgesloten van de pnpm-werkruimte om afhankelijkheidsconflicten te voorkomen. Om samples uit te voeren met de lokale ontwikkelversie van het pakket:

Opmerking: Als je de samples mappen draait pnpm linkpnpm install , worden lokale bestanden bijgewerkt zoals package.json onder pnpm-lock.yaml de samples-mappen. Deze wijzigingen zijn alleen bedoeld voor lokaal testen en mogen niet worden gecontroleerd. Als je ze per ongeluk apast, gebruik git restore <path> dan om terug te draaien.

  1. Bouw het pakket:

    npx turbo build --filter=@azure/ai-content-understanding...
    
  2. Link naar het lokale pakket in de voorbeelddirectories:

    cd sdk/contentunderstanding/ai-content-understanding/samples/v1/typescript
    pnpm link ../../../
    cd ../javascript
    pnpm link ../../../
    
  3. Installeer afhankelijkheden in de voorbeeldmappen:

    cd sdk/contentunderstanding/ai-content-understanding/samples/v1/typescript
    pnpm install
    cd ../javascript
    pnpm install
    

Alternatief (geen package.json/lockfile-wijzigingen)

Als je het lokale pakket wilt gebruiken zonder het sample package.json te wijzigen of pnpm-lock.yaml, installeer dan vanaf een verpakte tarball zonder op te slaan:

  1. Bouw het pakket:

    npx turbo build --filter=@azure/ai-content-understanding...
    
  2. Maak een lokale tarball:

    cd sdk/contentunderstanding/ai-content-understanding
    pnpm pack --pack-destination /tmp
    
  3. Installeer de tarball in de samples (geen save, geen lockfile):

    cd sdk/contentunderstanding/ai-content-understanding/samples/v1/typescript
    npm install --no-save --no-package-lock /tmp/azure-ai-content-understanding-*.tgz
    cd ../javascript
    npm install --no-save --no-package-lock /tmp/azure-ai-content-understanding-*.tgz
    

Een sample uitvoeren

Na het installeren van afhankelijkheden kun je individuele samples uitvoeren.

Omgevingsvariabelen opzetten:

Kopieer het sample.env bestand om een .env bestand aan te maken in de root-sample directory. Voer de volgende commando's uit vanuit de pakketwortel (sdk/contentunderstanding/ai-content-understanding):

# For TypeScript samples
cp sample.env samples/v1/typescript/.env

# For JavaScript samples
cp sample.env samples/v1/javascript/.env

Bewerk dan het .env bestand en vul je werkelijke waarden in:

CONTENTUNDERSTANDING_ENDPOINT=https://<your-resource>.services.ai.azure.com/
CONTENTUNDERSTANDING_KEY=<your-api-key>

Opmerking: Het .env bestand zou zich in de root van de voorbeeldmap moeten bevinden (op hetzelfde niveau als package.json), niet binnen src/ of dist/.

TypeScript-voorbeelden:

cd samples/v1/typescript
npm run build
node dist/analyzeBinary.js

JavaScript-voorbeelden:

cd samples/v1/javascript
node analyzeBinary.js

Voor volledige installatie-instructies en beschikbare voorbeelden, zie:

Volgende stappen

Contributing

Als je wilt bijdragen aan deze bibliotheek, lees dan de bijdragende gids om meer te weten te komen over hoe je de code bouwt en test.