Partager via


Azure AI Content Understanding client library for JavaScript - version 1.0.0

Azure AI Content Understanding est un service d’IA multimodal qui extrait du contenu sémantique à partir de documents, de fichiers vidéo, audio et images. Il transforme le contenu non structuré en données structurées et lisibles par la machine, optimisées pour la génération augmentée par récupération (RAG) et les flux de travail automatisés.

Utilisez la bibliothèque client pour la compréhension du contenu Azure AI afin de :

  • Extraire le contenu du document - Extraire texte, tableaux, figures, informations de mise en page et marquage structuré à partir de documents (PDF, images avec texte ou texte manuscrit, documents Office et plus encore)
  • Transcrire et analyser l’audio - Convertir le contenu audio en transcriptions consultables avec informations sur la diarisation et le timing du locuteur
  • Analyser le contenu vidéo - Extraire des images visuelles, transcrire des pistes audio et générer des résumés structurés à partir de fichiers vidéo
  • Analyseurs préassemblés - Utiliser des analyseurs préassemblés prêts pour la production dans divers secteurs, y compris les finance et les impôts (factures, reçus, formulaires fiscaux), la vérification d'identité (passeports, permis de conduire), les prêts hypothécaires et prêts (demandes de prêt, évaluations), les marchés publics et contrats (bons d'achat, accords) et les services publics (relevés de facturation)
  • Créer des analyseurs personnalisés - Construire des analyseurs spécifiques à un domaine pour les besoins spécialisés d’extraction de contenu dans les quatre modalités (documents, vidéo, audio et images)
  • Classifier les documents et la vidéo - Catégoriser et extraire automatiquement les informations des documents et des vidéos par type

Liens clés :

Getting started

Environnements actuellement pris en charge

  • < versions c0>LTS de Node.js
  • Dernières versions de Safari, Chrome, Edge et Firefox.

Consultez notre politique support pour plus de détails.

Prerequisites

Installez le paquet @azure/ai-content-understanding

Installez la bibliothèque client Azure Content Understanding pour JavaScript avec npm :

npm install @azure/ai-content-understanding

Configurez votre ressource Microsoft Foundry

Avant d’utiliser le Content Understanding SDK, vous devez configurer une ressource Microsoft Foundry et déployer les grands modèles de langage requis. Content Understanding utilise actuellement des modèles OpenAI GPT (tels que gpt-4.1, gpt-4.1-mini et text-embedding-3-large).

Étape 1 : Créer une ressource Microsoft Foundry

Important : Vous devez créer votre ressource Microsoft Foundry dans une région qui soutient la compréhension du contenu. Pour une liste des régions disponibles, voir Azure Content Understanding region and language support.

  1. Suivez les étapes du Azure Compréhension du contenu pour créer une ressource Microsoft Foundry dans le Azure portal
  2. Obtenez l'URL du point de terminaison de votre ressource Foundry depuis Azure Portal :
    • Allez à Azure Portal
    • Accédez à votre ressource Microsoft Foundry
    • Aller dans Clés de gestion>des ressources et Terminaison
    • Copiez l’URL Endpoint (généralement https://<your-resource-name>.services.ai.azure.com/)

Important : Accorder les autorisations requises

Après avoir créé votre ressource Microsoft Foundry, vous devez vous accorder le rôle d’Utilisateur des Services Cognitifs pour permettre les appels API afin de définir les déploiements de modèles par défaut :

  1. Allez à Azure Portal
  2. Accédez à votre ressource Microsoft Foundry
  3. Allez à Access Control (IAM) dans le menu de gauche
  4. Cliquez sur Ajouter une>attribution de rôle
  5. Sélectionnez le rôle d’utilisateur des services cognitifs
  6. Assignez-le à vous-même (ou à l’utilisateur/principal du service qui fera tourner l’application)

Note : Cette attribution de rôle est requise même si vous êtes le propriétaire de la ressource. Sans ce rôle, vous ne pourrez pas appeler l’API Content Understanding pour configurer les déploiements de modèles pour les analyseurs préconstruits.

Étape 2 : Déploiement des modèles requis

Important : Les analyseurs préassemblés et personnalisés nécessitent de grands déploiements de modèles de langage. Vous devez déployer au moins ces modèles avant d’utiliser des analyseurs préassemblés et des analyseurs personnalisés :

  • prebuilt-documentSearch, prebuilt-imageSearch, prebuilt-audioSearch, prebuilt-videoSearch nécessitent gpt-4.1-mini et text-embedding-3-large
  • D’autres analyseurs préconstruits comme prebuilt-invoice, prebuilt-receipt nécessitent gpt-4.1 et text-embedding-3-large

Pour déployer un modèle :

  1. Dans Microsoft Foundry, allez dans Déploiements> Modèle >Modèle de base
  2. Recherchez et sélectionnez le modèle que vous souhaitez déployer. Actuellement, les analyseurs préconstruits nécessitent des modèles tels que gpt-4.1, gpt-4.1-mini, et text-embedding-3-large
  3. Terminez le déploiement avec vos réglages préférés
  4. Notez le nom de déploiement que vous avez choisi (par convention, utilisez le nom du modèle comme nom de déploiement, par exemple gpt-4.1 pour le gpt-4.1 modèle)

Répétez ce processus pour chaque modèle requis par vos analyseurs préconstruits.

Pour plus d’informations sur le déploiement des modèles, voir Créer des déploiements de modèles dans le portail Microsoft Foundry.

Étape 3 : Configurer les déploiements de modèles (nécessaire pour les analyseurs préassemblés)

IMPORTANT : Il s’agit d’une configuration unique selon la ressource Microsoft Foundry qui mappe vos modèles déployés à ceux requis par les analyseurs préconstruits et les modèles personnalisés. Si vous avez plusieurs ressources Microsoft Foundry, vous devez configurer chacune séparément.

Vous devez configurer les mappages de modèles par défaut dans votre ressource Microsoft Foundry. Cela peut se faire de manière programmatique en utilisant le SDK. La configuration mappe vos modèles déployés (actuellement gpt-4.1, gpt-4.1-mini et text-embedding-3-large) aux grands modèles de langage requis par les analyseurs préconstruits.

Pour configurer les déploiements de modèles à l’aide du code, voir l’exemple Update Defaults pour un exemple complet. Voici un aperçu rapide :

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!");

Note : La configuration est conservée dans votre ressource Microsoft Foundry, donc vous n’avez besoin de l’exécuter qu’une seule fois par ressource (ou chaque fois que vous changez les noms de votre déploiement).

Authentifier le client

Pour authentifier le client, vous avez besoin de votre point de terminaison de ressources Microsoft Foundry et de vos identifiants. Vous pouvez utiliser soit une clé API, soit une authentification Microsoft Entra ID.

Utilisation de DefaultAzureCredential

La manière la plus simple d’authentifier est d’utiliser DefaultAzureCredential, qui prend en charge plusieurs méthodes d’authentification et fonctionne bien aussi bien en développement local qu’en environnements de production.

Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous, ou d’autres fournisseurs d’accréditations fournis avec le SDK Azure, veuillez installer le paquet @azure/identity :

npm install @azure/identity

À l’aide de Node.js et d’environnements de type Nœud, vous pouvez utiliser la classe DefaultAzureCredential pour authentifier le client.

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

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

Pour les environnements de navigateur, utilisez le InteractiveBrowserCredential du paquet @azure/identity pour authentifier.

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);

Utilisation de la clé API

Vous pouvez également vous authentifier en utilisant une clé API de votre ressource Microsoft Foundry :

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));

Pour obtenir votre clé API :

  1. Allez à Azure Portal
  2. Accédez à votre ressource Microsoft Foundry
  3. Aller dans Clés de gestion>des ressources et Terminaison
  4. Copiez l’une des clés (Clé1 ou Clé2)

Pour plus d’informations sur l’authentification, voir Azure Identity client library.

Offre groupée JavaScript

Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus de détails sur la manière to do cela, veuillez consulter notre documentation regroupement.

Concepts clés

Analyseurs prédéfinis

Content Understanding fournit un ensemble complet d’analyseurs préassemblés, prêts à être utilisés sans aucune configuration. Ces analyseurs sont alimentés par des bases de connaissances comprenant des milliers d’exemples réels de documents, leur permettant de comprendre la structure du document et de s’adapter aux variations de format et de contenu.

Les analyseurs préassemblés sont organisés en plusieurs catégories :

  • Analyseurs RAG - Optimisés pour des scénarios de génération augmentés par récupération avec analyse sémantique et extraction par markdown. Ces analyseurs rendent le marquage et un paragraphe Summary pour chaque élément de contenu :
    • prebuilt-documentSearch - Extrait le contenu des documents (PDF, images, documents Office) avec préservation de la mise en page, détection de tables, analyse de figures et sortie structurée de markdown. Optimisé pour les scénarios RAG.
    • prebuilt-imageSearch - Analyse les images autonomes et renvoie une description d’un paragraphe du contenu de l’image. Optimisé pour la compréhension des images et les scénarios de recherche. Pour les images contenant du texte (y compris du texte manuscrit), utilisez prebuilt-documentSearch.
    • prebuilt-audioSearch - Transcrit le contenu audio avec la diarisation des locuteurs, les informations de timing et les résumés des conversations. Prend en charge la transcription multilingue.
    • prebuilt-videoSearch - Analyse le contenu vidéo avec extraction d’images visuelles, transcription audio et résumés structurés. Fournit un alignement temporel du contenu visuel et audio et peut renvoyer plusieurs segments par vidéo.
  • Analyseurs d’extraction de contenu - Focus sur l’OCR et l’analyse de mise en page (par exemple, prebuilt-read, prebuilt-layout)
  • Analyseurs de base - Capacités fondamentales de traitement de contenu utilisées comme analyseurs parents pour des analyseurs personnalisés (par exemple, prebuilt-document, prebuilt-image, prebuilt-audio, prebuilt-video)
  • Analyseurs spécifiques à un domaine - Analyseurs préconfigurés pour les catégories courantes de documents, y compris les documents financiers (factures, reçus, relevés bancaires), les documents d’identité (passeports, permis de conduire), les formulaires fiscaux, les documents hypothécaires et contrats, ainsi que les services publics (relevés de facturation)
  • Analyseurs utilitaires - Outils spécialisés pour la génération de schémas et l’extraction de champs (par exemple, prebuilt-documentFieldSchema, prebuilt-documentFields)

Pour une liste complète des analyseurs préconstruits disponibles et de leurs capacités, consultez la documentation analyseurs préassemblés.

Analyseurs personnalisés

Vous pouvez créer des analyseurs personnalisés avec des schémas de champs spécifiques pour le traitement multimodal du contenu (documents, images, audio, vidéo). Les analyseurs personnalisés vous permettent d’extraire des informations spécifiques au domaine adaptées à votre cas d’usage.

Types de contenu

L’API retourne différents types de contenu en fonction de l’entrée :

  • document - Pour les fichiers de documents (PDF, HTML, images, documents Office tels que Word, Excel, PowerPoint, et plus encore). Fournit des informations de base telles que le nombre de pages et le type MIME. Récupérez des informations détaillées, y compris des pages, tableaux, figures, paragraphes, et bien d’autres.
  • audioVisual - Pour les fichiers audio et vidéo. Fournit des informations de base telles que les informations de timing (heures de début/fin) et les dimensions des images (pour la vidéo). Récupérez des informations détaillées, y compris des phrases de transcription, des informations de synchronisation, ainsi que pour la vidéo, des références par images clés et plus encore.

Opérations asynchrones

Les opérations de compréhension du contenu sont des opérations asynchrones de longue durée. Le flux de travail est le suivant :

  1. Commencer l’analyse - Lancer l’opération d’analyse (retour immédiat avec un emplacement d’opération)
  2. Sondage pour les résultats - Interrogez le lieu de l’opération jusqu’à la fin de l’analyse
  3. Résultats du processus - Extraire et afficher les résultats structurés

Le SDK fournit des types de pollers qui gèrent automatiquement les sondages lors de l’utilisation pollUntilDone()de . Pour les opérations d’analyse, le SDK renvoie un sondeur qui donne accès à l’ID de l’opération. Cet ID d’opération peut être utilisé avec getResultFile et méthodes deleteResult .

Principales classes

  • ContentUnderstandingClient - Le principal client pour l’analyse du contenu, ainsi que pour la création, la gestion et la configuration des analyseurs
  • AnalysisResult - Contient les résultats structurés d’une opération d’analyse, incluant les éléments de contenu, le markdown et les métadonnées

Sécurité des threads

Nous garantissons que toutes les méthodes d’instance client sont sûres des threads et indépendantes les unes des autres. Cela garantit que la recommandation de réutilisation des instances clientes est toujours sécurisée, même entre les threads.

Concepts supplémentaires

Options client | Accès à la réponse | Opérations à long terme | Gestion des défaillances | Diagnostics | Durée de vie client

Exemples

Vous pouvez vous familiariser avec différentes API en utilisant Samples.

Les échantillons démontrent :

  • Configuration - Configurer les paramètres par défaut de déploiement des modèles pour les analyseurs préassemblés et les analyseurs personnalisés
  • Extraction de contenu de document - Extraire le contenu marqué structuré à partir de PDF et d’images en utilisant prebuilt-documentSearch, optimisé pour les applications RAG (générationRetrieval-Augmented)
  • Analyse de contenu multimodale - Analyser le contenu des URLs à travers toutes les modalités : extraire des marquages et des résumés à partir de documents, images, audio et vidéo en utilisant prebuilt-documentSearch, prebuilt-imageSearch, prebuilt-audioSearch, et prebuilt-videoSearch
  • Domain-Specific Analyse - Extraire les champs structurés des factures en utilisant prebuilt-invoice
  • Fonctionnalités avancées du document - Extraire des graphiques, des hyperliens, des formules et des annotations à partir de documents
  • Analyseurs personnalisés - Créer des analyseurs personnalisés avec des schémas de champ pour les besoins d’extraction spécialisés
  • Classification des documents - Créer et utiliser des classificateurs pour catégoriser les documents
  • Gestion des analyseurs - Obtenir, lister, mettre à jour, copier et supprimer les analyseurs
  • Gestion des résultats - Récupérer les fichiers de résultats à partir de l’analyse vidéo et supprimer les résultats de l’analyse

Extraire le contenu des markdowns des documents

Utilisez l’analyseur prebuilt-documentSearch pour extraire le contenu à remarques à partir des documents :

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}`);
  }
}

Extraire les champs structurés des factures

Utilisez l’analyseur prebuilt-invoice pour extraire les champs de facturation structurés :

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)"}`);
}

Voir le répertoire exemples pour des exemples complets.

Résolution des problèmes

Problèmes courants

Erreur : « Access refusé en raison d’une clé d’abonnement invalide ou d’un point de terminaison API incorrect »

  • Vérifiez que votre URL de terminaison est correcte et inclut la barre oblique de fin
  • Assurez-vous que votre clé API est valide ou que vos identifiants Microsoft Entra ID ont les permissions correctes
  • Assurez-vous d’avoir le rôle Utilisateur des services cognitifs assigné à votre compte

Erreur : « Déploiement de modèle non trouvé » ou « Déploiement par défaut de modèle non configuré »

  • Assurez-vous d’avoir déployé les modèles requis (gpt-4.1, gpt-4.1-mini, text-embedding-3-large) dans Microsoft Foundry
  • Vérifiez que vous avez configuré les déploiements par défaut des modèles ( voir Configurer les déploiements de modèles)
  • Vérifiez que vos noms de déploiement correspondent à ceux configurés dans les paramètres par défaut

Erreur : « Opération échouée » ou délai d’attente

  • Les opérations de compréhension du contenu sont asynchrones et peuvent prendre du temps à être réalisées
  • Assurez-vous de bien interroger les résultats avec pollUntilDone() l’objet poller
  • Vérifiez l’état de l’exploitation pour plus de détails sur la défaillance

Logging

L’activation de la journalisation peut vous aider à découvrir des informations utiles sur les échecs. Pour afficher un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL sur info. Sinon, la journalisation peut être activée à l’exécution en appelant setLogLevel dans le @azure/logger :

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

setLogLevel("info");

Pour des instructions plus détaillées sur la façon d’activer les journaux, vous pouvez consulter le paquet @azure/logger docs.

Essai

Ce SDK inclut des tests complets pouvant être exécutés dans différents modes.

Démarrage rapide

# 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

Modes de test

  • Mode lecture (par défaut) : Utilise des interactions HTTP préenregistrées, aucune Azure de ressources requises
  • Mode enregistrement : S’exécute en fonction des services de Azure en direct et enregistre les interactions pour une lecture future
  • Mode en direct : Fonctionne avec des services de Azure en direct sans enregistrement

Mise en place de l’environnement pour des tests en direct/enregistrement

  1. Copie test/sample.env de test/.env:

    cp test/sample.env test/.env
    
  2. Modifiez test/.env et remplissez vos valeurs réelles :

    • CONTENTUNDERSTANDING_ENDPOINT: Votre point de terminaison de ressources Microsoft Foundry
    • CONTENTUNDERSTANDING_KEY: Votre clé API (optionnelle si vous utilisez DefaultAzureCredential)
    • Noms de déploiement de modèles (requis pour les analyseurs préconstruits)

Exécuter les tests en mode enregistrement

Pour enregistrer de nouvelles interactions de test ou mettre à jour celles existantes :

# Run tests in record mode
TEST_MODE=record pnpm test

Exécutez les tests en mode lecture

Pour exécuter des tests sans ressources Azure (en utilisant des interactions préenregistrées) :

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

# Or explicitly set playback mode
TEST_MODE=playback pnpm test

Workflows à portée de package / plus rapides

  • Construisez uniquement ce paquet et ses dépendances :

    npx turbo build --filter=@azure/ai-content-understanding... --token 1
    
  • Exécutez uniquement les tests Node pour une itération plus rapide (évitez les tests navigateur) :

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

Variables d'environnement

Vous pouvez définir les identifiants de plusieurs manières :

  1. Préférentiel : Créez test/.env en copiant et en remplissant test/sample.env vos valeurs

  2. Solution de secours : placer a .env à la racine du package (même répertoire que package.json)

  3. Export shell : Exportez les identifiants directement dans votre shell :

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

Conseils de débogage

Lorsque vous exécutez des tests en mode enregistrement, observez les lignes de débogage imprimées par la configuration du test :

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

Important : NE commet PAS de vraies clés. Gardez-le test/sample.env comme modèle et assurez-vous test/.env que c’est dans votre .gitignorefichier .

Tests de dépannage

  • « la clé doit être une chaîne non vide » : Le processus de test n’a pas pu trouver votre CONTENTUNDERSTANDING_KEYfichier . Assurez-vous test/.env que la racine .env du package est présente et contient la clé (ou exportez-la dans votre shell) avant de lancer des tests.
  • Erreurs LRO « Requête invalide » : Assurez-vous que votre service/région supporte l’analyseur utilisé par les tests et que le access réseau est disponible pour les entrées basées sur URL.

Analyse locale des échantillons

Les annuaires d’échantillons sont exclus de l’espace de travail pnpm afin d’éviter les conflits de dépendances. Pour exécuter des échantillons avec la version de développement local du package :

Note : L’exécution pnpm link et pnpm install l’intérieur des dossiers d’échantillons mettent à jour les fichiers locaux comme package.json et pnpm-lock.yaml sous les répertoires d’échantillons. Ces changements ne concernent que les tests locaux et ne doivent pas être enregistrés. Si vous les modifiez accidentellement, utilisez-les git restore <path> pour revenir en arrière.

  1. Construis le package :

    npx turbo build --filter=@azure/ai-content-understanding...
    
  2. Lien entre le paquet local dans les annuaires d’échantillons :

    cd sdk/contentunderstanding/ai-content-understanding/samples/v1/typescript
    pnpm link ../../../
    cd ../javascript
    pnpm link ../../../
    
  3. Installez les dépendances dans les répertoires d’exemples :

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

Alternative (pas de modifications package.json/lockfile)

Si vous souhaitez utiliser le package local sans modifier l’échantillon package.json ou pnpm-lock.yaml, installez depuis un tarball compacté sans sauvegarder :

  1. Construis le package :

    npx turbo build --filter=@azure/ai-content-understanding...
    
  2. Créez un tarball local :

    cd sdk/contentunderstanding/ai-content-understanding
    pnpm pack --pack-destination /tmp
    
  3. Installez la bille de bitre dans les échantillons (pas de sauvegarde, pas de fichier verrouillé) :

    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
    

Analyse d’un échantillon

Après avoir installé les dépendances, vous pouvez exécuter des échantillons individuels.

Configuration des variables d’environnement :

Copiez le sample.env fichier pour créer un .env fichier dans la racine du répertoire d’exemple. Exécutez les commandes suivantes depuis la racine du paquet (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

Ensuite, éditez le .env fichier et remplissez vos valeurs réelles :

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

Note : Le .env fichier doit se trouver à la racine du dossier d’échantillons (au même niveau que package.json), et non à l’intérieur src/ ou dist/à .

Exemples de TypeScript :

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

Exemples de JavaScript :

cd samples/v1/javascript
node analyzeBinary.js

Pour les instructions complètes de configuration et les exemples disponibles, voir :

Prochaines étapes

Contribution

Si vous souhaitez contribuer à cette bibliothèque, veuillez lire le guide contribution pour en savoir plus sur la construction et le test du code.