Azure AI Content Understanding client library for JavaScript - verzió 1.1.0

Az Azure AI Content Understanding egy multimodális MI szolgáltatás, amely szemantikai tartalmat nyer ki dokumentumokból, videókból, hangokból és képfájlokból. Strukturálatlan tartalmat alakít át strukturált, géppel olvasható adatokká, amelyek optimalizáltak a lekérdezéssel bővített generálásra (RAG) és automatizált munkamenetekre.

Használd az Azure AI Content Understanding klienskönyvtárát a következőkhöz:

  • Dokumentumtartalom kinyerése – Szöveg, táblázatok, ábrak, elrendezési információk és strukturált markdown kinyerése dokumentumokból (PDF, képek szöveggel vagy kézzel írt szöveggel, Office dokumentumok és még sok más)
  • Hang átírása és elemzése – A hangtartalmat kereshető átiratokká alakítsa át beszélőnaplózással és időzítési információkkal
  • Videótartalom elemzése – Vizuális képkörök kinyerése, hangsávok átírása, és strukturált összefoglalók generálása videófájlokból
  • Előre összeszerelt elemzők - Gyártásra kész, előre összeszerelt elemzőket használjunk különböző iparágakban, beleértve a finance és az adózást (számlák, számlák, adópapírok), személyazonosság-ellenőrzést (útlevelek, jogosítványokat), jelzáloghitelt és hitelezést (hitelkérelmek, értékbecslések), beszerzést és szerződéseket (beszerzési megrendelések, megállapodások), valamint közműveket (számlázási kivonatok)
  • Egyedi elemzők készítése – Területspecifikus elemzők fejlesztése speciális tartalomkivonási igényekhez mind a négy modalitásban (dokumentumok, videó, hang és képek)
  • Dokumentumok és videók osztályozása – Automatikusan kategorizálni és kinyerni információkat dokumentumokból és videókból típus szerint

Főbb hivatkozások:

Kezdő lépések

Jelenleg támogatott környezetek

További részletekért lásd a támogató szabályzatunkat

Előfeltételek

Telepítsd a @azure/ai-content-understanding csomagot

Telepítsd a Azure Content Understanding klienskönyvtárát JavaScripthez npm segítségével:

npm install @azure/ai-content-understanding

Konfiguráld a Microsoft Foundry erőforrásodat

A Content Understanding SDK használata előtt be kell állítani egy Microsoft Foundry erőforrást, és telepíteni kell a szükséges nagy nyelvi modelleket. A Tartalom Megértése jelenleg OpenAI GPT modelleket használ (például gpt-4.1, gpt-4.1-mini és szövegbeágyazás-3-large).

1. lépés: Microsoft Foundry erőforrás létrehozása

Fontos: A Microsoft Foundry erőforrásodat olyan régióban kell létrehoznod, amely támogatja a Tartalom Megértését. Az elérhető régiók listájáért lásd: Azure Tartalom Megértés régió és nyelvi támogatás.

  1. Kövesd a Azure Tartalom Megértés gyorsindítása lépéseit, hogy Microsoft Foundry erőforrást hozz létre a Azure portal
  2. Szerezze meg a Foundry erőforrás végpont URL-jét az Azure Portal-ról:
    • Menj Azure Portal
    • Navigálj a Microsoft Foundry forrásodhoz
    • Menj az Erőforrás-kezelő>kulcsok és a végpont oldalra
    • Másold ki a Endpoint URL-et (általában https://<your-resource-name>.services.ai.azure.com/)

Fontos: Szükséges engedélyek megadása

Miután létrehozta a Microsoft Foundry erőforrást, meg kell adnod magadnak a Kognitív Szolgáltatások Felhasználói szerepét, hogy engedélyezd az API-hívásokat az alapértelmezett modell telepítések beállításához:

  1. Menj Azure Portal
  2. Navigálj a Microsoft Foundry forrásodhoz
  3. Menj a bal oldali menüben a Access Control (IAM) menühöz
  4. Kattintson a Szerepkör-hozzárendelés hozzáadása elemre>
  5. Válaszd ki a Kognitív Szolgáltatások Felhasználói szerepét
  6. Rendeld hozzá magadnak (vagy annak a felhasználó/szolgáltatási alapfelének, aki futtatja az alkalmazást).

Megjegyzés: Ez a szereposztás akkor is kötelező, ha te vagy az erőforrás tulajdonosa. E szerep nélkül nem tudod hívni a Content Understanding API-t előre összeállított elemzők modelltelepítésének konfigurálásához.

2. lépés: Telepítsd a szükséges modelleket

Fontos: Az előre összeszerelt és egyedi analizátorok nagy nyelvi modell telepítést igényelnek. Legalább ezeket a modelleket kell telepíteni, mielőtt előre összeszerelt és egyedi analizátorokat használnánk:

  • prebuilt-documentSearch, prebuilt-imageSearch, prebuilt-audioSearch, prebuilt-videoSearchgpt-4.1-mini és text-embedding-3-large igény
  • Más előre összeszerelt analizátorok, mint prebuilt-invoice, prebuilt-receiptgpt-4.1-et és szövegbeágyazás-3-large rendszert igényelnek

Modell üzembe helyezése:

  1. Microsoft Foundry-ben menj a Deployments>Deploy model>Deploy base model oldalra
  2. Keresd meg és válaszd ki azt a modellt, amit telepíteni szeretnél. Jelenleg az előre összeszerelt analizátoroknak olyan modelleket igényelnek, mint gpt-4.1, gpt-4.1-mini, és text-embedding-3-large
  3. Fejezd be a telepítést a preferált beállításokkal
  4. Figyeld meg a választott telepítés nevét (konvenció szerint a modell nevét használd telepítés névként, például gpt-4.1 a gpt-4.1 modellnél)

Ismételd meg ezt a folyamatot minden előre összeállított analizátorod által szükséges modellnél.

További információért a modellek telepítéséről lásd: Create model deployments in Microsoft Foundry portal.

3. lépés: Modelltelepítések konfigurálása (előre összeszerelt analizátorokhoz szükséges)

FONTOS: Ez egy egyszeri beállítás a Microsoft Foundry erőforrás alapján, amely a telepített modelleket az előre összeszerelt elemzők és egyedi modellek igényeihez köti. Ha több Microsoft Foundry erőforrásod van, mindegyiket külön kell konfigurálnod.

Be kell állítanod az alapértelmezett modellleképezéseket a Microsoft Foundry erőforrásodban. Ez programozott módon is megvalósítható az SDK-val. A konfiguráció a telepített modelleket (jelenleg gpt-4.1, gpt-4.1-mini, és text-embedding-3-large) a nagy nyelvi modellekhez köti előre összeszerelt analizátorokat.

A modelltelepítések kóddal történő konfigurálásához lásd a Update Defaults sample teljes példáját. Íme egy gyors áttekintés:

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

Megjegyzés: A konfiguráció a Microsoft Foundry erőforrásodban megőrizhető, így ezt csak egyszer kell futtatnod erőforrásonként (vagy amikor megváltoztatod a telepítés neveit).

Az ügyfél hitelesítése

Az ügyfél hitelesítéséhez szükséged van a Microsoft Foundry erőforrás végpontjára és a hitelesítőkártyádra. Használhatsz API kulcsot vagy Microsoft Entra ID hitelesítést.

DefaultAzureCredential használata

A hitelesítés legegyszerűbb módja a , használata DefaultAzureCredential, amely több hitelesítési módszert támogat, és jól működik helyi fejlesztési és gyártási környezetekben egyaránt.

Az alábbi DefaultAzureCredential szolgáltató vagy más, Azure SDK-val ellátott hitelesítő szolgáltatók használatához kérjük, telepítsék a @azure/identity csomagot:

npm install @azure/identity

A Node.js és a csomópontszerű környezetek használatával a DefaultAzureCredential osztály használatával hitelesítheti az ügyfelet.

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

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

Böngészőkörnyezetekhez használd a InteractiveBrowserCredential csomag @azure/identity számát az autentifikációhoz.

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

API kulcs használata

Hitelesítést is használhatsz egy API kulcs használatával a Microsoft Foundry erőforrásodból:

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

Az API kulcs megszerzéséhez:

  1. Menj Azure Portal
  2. Navigálj a Microsoft Foundry forrásodhoz
  3. Menj az Erőforrás-kezelő>kulcsok és a végpont oldalra
  4. Másolj le valamelyik kulcsot (Key1 vagy Key2)

További információért a hitelesítésről lásd: Azure Identity klienskönyvtár.

JavaScript-csomag

Ahhoz, hogy ezt az ügyfélkódtárat a böngészőben használhassa, először egy kötegelőt kell használnia. A részletekért to do ezekről kérjük, tekintse meg csomagolási dokumentációnkat.

Fő fogalmak

Előre összeállított elemzők

A Content Understanding gazdag előre összeszerelt elemzőkészletet kínál, amelyek konfiguráció nélkül is használhatók. Ezek az elemzők több ezer valós dokumentum példát tartalmazó tudásbázison alapulnak, lehetővé téve számukra a dokumentumszerkezet megértését, valamint a formátum és tartalom eltéréseihez való alkalmazkodást.

Az előre összeszerelt analizátorok több kategóriába vannak szervezve:

  • RAG analizátorok – Optimalizáltak a visszakereséssel bővített generálási forgatókönyvekre, szemantikai elemzéssel és markdown kivonással. Ezek az elemzők minden tartalom esetében árverést és egy bekezdést Summary adnak vissza:
    • prebuilt-documentSearch - Dokumentumokból (PDF, képek, Office dokumentumok) kivonatot nyer ki elrendezés megőrzésével, táblázatfelismeréssel, ábraelemzéssel és strukturált markdown kimenetel. RAG helyzetekre optimalizálva.
    • prebuilt-imageSearch - Elemezi az önálló képeket, és egy bekezdéses leírást ad a képtartalomról. Kép megértésére és keresési helyzetekre optimalizálva. Szöveget tartalmazó képekhez (beleértve kézzel írt szöveget is) használj prebuilt-documentSearch.
    • prebuilt-audioSearch - Hanganyag átírása beszélőnaplózással, időzítési információkkal és beszélgetésösszefoglalókkal. Támogatja a többnyelvű átírást.
    • prebuilt-videoSearch - Elemzi a videótartalmat vizuális képkocka-eltávolítással, hangátirattal és strukturált összefoglalókkal. Időbeli igazítást biztosít a vizuális és hangos tartalom között, és több szegmens is vissza tud adni videónként.
  • Tartalomkivonási elemzők – A hangsúly az OCR-re és az elrendezés elemzésére (pl. prebuilt-read, ) prebuilt-layout
  • Alap analizátorok – Alapvető tartalomfeldolgozási képességek, amelyeket egyedi elemzők szülőelemzőként használnak (pl. prebuilt-document, , prebuilt-image, prebuilt-audio, prebuilt-video)
  • Domainspecifikus elemzők – előre konfigurált elemzők gyakori dokumentumkategóriákhoz, beleértve a pénzügyi dokumentumokat (számlák, nyugták, bankszámlakivonatokat), személyazonossági dokumentumokat (útlevelek, jogosítványokat), adózási űrlapokat, jelzálog-dokumentumokat és szerződéseket, valamint közműveket (számlázási kivonatok)
  • Hasznos analizátorok – Speciális eszközök sémák generálására és mezőkinyerésére (pl. prebuilt-documentFieldSchema, ) prebuilt-documentFields

Az elérhető előre összeszerelt analizátorok teljes listájáért lásd a Előre összeszerelt analizátorok dokumentációját.

Egyedi analizátorok

Egyedi elemzőket hozhatsz létre speciális mezősémákkal, amelyek multimodális tartalomfeldolgozáshoz (dokumentumok, képek, hang, videók). Egyedi elemzők lehetővé teszik, hogy a használati esetedhez igazított domainspecifikus információkat nyerj ki.

Tartalomtípusok

Az API a bemenet alapján különböző tartalomtípusokat ad vissza:

  • document - Dokumentumfájlok (PDF, HTML, képek, Office dokumentumok, mint Word, Excel, PowerPoint és mások). Alapvető információkat nyújt, mint például az oldalszám és a MIME típus. Részletes információkat gyűjts, beleértve oldalakat, táblázatokat, ábrákat, bekezdéseket és még sok mást.
  • audioVisual - Hang- és videófájlokhoz. Alapvető információkat nyújt, mint például időzítési információk (kezdő/végidők) és képkockaméretek (videó esetén). Részletes információkat szerezzen le, beleértve az átiratok kifejezéseit, időzítési információkat, videóhoz pedig kulcsképkocka-hivatkozásokat és még sok mást.

Aszinkron műveletek

A Tartalom Megértési műveletek aszinkron, hosszú ideig futó műveletek. A munkafolyamat a következő:

  1. Kezdje meg az elemzést – Indítsa el az elemzési műveletet (azonnal visszaadja a művelet helyét)
  2. Eredmények felmérése – Kérdezze az operáció helyét, amíg az elemzés be nem fejeződik
  3. Folyamateredmények – Kivonatold és megjelenítse a strukturált eredményeket

Az SDK olyan pollertípusokat kínál, amelyek automatikusan kezelik a lekérdezést a pollUntilDone()használatával . Elemzési műveletekhez az SDK egy pollert ad vissza, amely access ad az művelet azonosítójának. Ez az operatív azonosító használható és getResultFiledeleteResult a metódusokkal.

Fő osztályok

  • ContentUnderstandingClient - A fő kliens a tartalomelemzésre, valamint az analizátorok létrehozására, kezelésére és konfigurálására
  • AnalysisResult - Tartalmazza egy elemzési művelet strukturált eredményeit, beleértve a tartalmi elemeket, a markdown-okat és a metaadatokat

Szálbiztonság

Garantáljuk, hogy minden kliens instance metódus szálbiztonságú és független egymástól. Ez biztosítja, hogy az ügyfélpéldányok újrafelhasználására vonatkozó javaslat mindig biztonságos legyen, akár több szálon is.

További fogalmak

Ügyfélopciók | Válasz elérése | Hosszú működésű műveletek | Hibák kezelése | Diagnosztika | Ügyfél élettartama

Példák

Különböző API-kkal ismerkedhetsz meg a Samples segítségével.

A minták a következőket mutatják:

  • Konfiguráció – Modelltelepítési alapadatok konfigurálása előre összeállított és egyedi analizátorokhoz
  • Dokumentumtartalom kivonása – Strukturált markdown tartalmat extract ki PDF-ekből és képekből, prebuilt-documentSearchoptimalizálva RAG (Retrieval-Augmented Generation) alkalmazásokra
  • Multimodális tartalomelemzés – Elemzed tartalmat URL-ekből minden modalitásban: dokumentumokból, képekből, hangból és videóból származó markdownokat és összefoglalókat , prebuilt-documentSearch, prebuilt-imageSearch, és használatával prebuilt-audioSearch, , ésprebuilt-videoSearch
  • Domain-Specific Elemzés – Strukturált mezők kivonása számlákból prebuilt-invoice
  • Fejlett dokumentumfunkciók – Kivonatok diagramok, hiperhivatkozások, képletek és jegyzetek eltávolítása dokumentumokból
  • Egyedi analizátorok – Egyedi analizátorok készítése mező sémákkal speciális kivonási igényekhez
  • Dokumentumbesorolás – Hozz létre és használj osztályozókat dokumentumok kategorizálására
  • Elemző menedzsment – Elemzők felvétele, listázása, frissítése, másolása és törlése
  • Eredménykezelés – Eredményfájlok letöltése videóelemzésből és elemzési eredmények törlése

Markdown tartalom kinyerése dokumentumokból

Használd az prebuilt-documentSearch analizátort a markdown tartalma kinyerésére a dokumentumokból:

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

Strukturált mezők kivonása számlákból

Használd az prebuilt-invoice elemzőt strukturált számlamezők kinyerésére:

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

A teljes példákért lásd a samples könyvtárat

Hibaelhárítás

Gyakori problémák

Error: "Access elutasítva érvénytelen előfizetési kulcs vagy rossz API végpont miatt"

  • Ellenőrizd, hogy a végpont URL-je helyes, és tartalmazza a lecsapást
  • Győződj meg róla, hogy az API kulcsod érvényes-e, vagy hogy a Microsoft Entra ID hitelesítéseidnek megfelelő jogosultságai vannak
  • Győződj meg róla, hogy a Cognitive Services User szerep van hozzárendelve a fiókodhoz

Hiba: "Model telepítés nem talált" vagy "Alapértelmezett modell telepítés nem konfigurálva"

  • Győződj meg róla, hogy telepítetted a szükséges modelleket (gpt-4.1, gpt-4.1-mini, text-embedding-3-large) a Microsoft Foundry-ben
  • Ellenőrizd, hogy beállítottad az alapértelmezett modelltelepítéseket (lásd: Modell telepítések konfigurálása)
  • Ellenőrizd, hogy a telepítési nevek egyeznek-e az alapértelmezettben beállított nevekkel

Hiba: "Művelet sikertelen" vagy időkorlát

  • Tartalom megértési műveletek aszinkronok, és időbe telhet
  • Győződj meg róla, hogy megfelelően szavazol az eredményekre a poller objektumon pollUntilDone()
  • Nézd meg a működési állapotot a hibás részletekért

Logging

A naplózás engedélyezése segíthet a hibákról szóló hasznos információk feltárásában. A HTTP-kérések és válaszok naplójának megtekintéséhez állítsa a környezeti változót a AZURE_LOG_LEVEL következőre info: . Alternatívaként a naplózás futásidőben engedélyezhető úgy, hogy a setLogLevel@azure/logger hívják:

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

setLogLevel("info");

A naplók engedélyezéséhez részletes utasításokat kereshetsz a @azure/logger csomag docs oldalán.

Testing

Ez az SDK átfogó teszteket tartalmaz, amelyek különböző módokban futtathatók.

Gyors kezdés

# 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

Tesztmódok

  • Lejátszási mód (alapértelmezett): Előre rögzített HTTP interakciókat használ, nincs szükség Azure erőforrásra
  • Record Mode: Élő Azure szolgáltatások ellen fut, és rögzíti a interakciókat a jövőbeni lejátszáshoz
  • Live Mode: Élő Azure szolgáltatások ellen fut felvétel nélkül

Környezet beállítása élő/rekordtesztekhez

  1. Másolástest/sample.env:test/.env

    cp test/sample.env test/.env
    
  2. Szerkesztés test/.env és kitöltés a tényleges értékeid:

    • CONTENTUNDERSTANDING_ENDPOINT: A Microsoft Foundry erőforrás végpontod
    • CONTENTUNDERSTANDING_KEY: Az API kulcsod (opcionális, ha DefaultAzureCredentialot használsz)
    • Modelltelepítési nevek (előre összeszerelt analizátorokhoz szükséges)

Tesztek futtatása rekord módban

Új tesztinterakciók rögzítéséhez vagy a meglévők frissítéséhez:

# Run tests in record mode
TEST_MODE=record pnpm test

Tesztek futtatása lejátszási módban

Tesztek futtatásához Azure erőforrások nélkül (előre felvett interakciók használatával):

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

# Or explicitly set playback mode
TEST_MODE=playback pnpm test

Csomag-hatótávolságú / gyorsabb munkafolyamatok

  • Csak ezt a csomagot és annak függőségeit építsd fel:

    npx turbo build --filter=@azure/ai-content-understanding... --token 1
    
  • Csak Node teszteket futtass a gyorsabb iteráció érdekében (hagyd ki a böngészőteszteket):

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

Környezeti változók

Többféleképpen állíthatod be a jogosultságokat:

  1. Preferált: Készítstest/.env képet az értékek másolásával test/sample.env és kitöltésével

  2. Tartalék: Helyezd el az a-t .env a csomag gyökerén (ugyanaz a könyvtár, mint package.json)

  3. Shell export: Exportáld a hitelesítéseket közvetlenül a shelledbe:

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

Hibakeresési tippek

A teszteket rekord módban futtatva figyeld a tesztbeállítás által kinyomtatott hibakeresési sorokat:

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

Fontos: NE kötelezz el valódi kulcsokat. Tartsd test/sample.env meg a sablont, és győződj meg test/.env róla, hogy benne .gitignorevan.

Hibaelhárítási tesztek

  • "kulcs nem üres string kell legyen": A tesztfolyamat nem találta meg a CONTENTUNDERSTANDING_KEY. Ellenőrizd test/.env , hogy a package-root .env jelen van, és tartalmazza a kulcsot (vagy exportálod a shellben), mielőtt teszteket futtatsz.
  • "Invalid request" LRO hibák: Győződj meg róla, hogy a szolgáltatásod/régiód támogatja a tesztek által használt elemzőt, és hogy hálózati access elérhető legyen URL-alapú bemenetekhez.

Helyi minták futtatása

A mintakönyvtárak kizárva vannak a pnpm munkaterületből, hogy elkerüljék a függőségi konfliktusokat. A csomag helyi fejlesztő verziójával végzett minták futtatásához:

Megjegyzés: A Samples mappák futtatása pnpm link és pnpm install belseje frissíti a helyi fájlokat, mint package.json a mintakönyvtárak alatt.pnpm-lock.yaml Ezek a változtatások csak helyi tesztelésre vonatkoznak, és nem szabad bejelentkezni. Ha véletlenül módosítod őket, használd git restore <path> a visszaállítást.

  1. Építsd el a csomagot:

    npx turbo build --filter=@azure/ai-content-understanding...
    
  2. Kapcsolja össze a helyi csomagot a mintakönyvtárakban:

    cd sdk/contentunderstanding/ai-content-understanding/samples/v1/typescript
    pnpm link ../../../
    cd ../javascript
    pnpm link ../../../
    
  3. Telepítsd a dependenceket a mintakönyvtárakba:

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

Alternatíva (nincs package.json/lockfile változtatás)

Ha a helyi csomagot szeretnéd használni mintamódosítás package.json nélkül, vagy pnpm-lock.yaml, telepíthetsz egy csomagolt tarballból mentés nélkül:

  1. Építsd el a csomagot:

    npx turbo build --filter=@azure/ai-content-understanding...
    
  2. Hozzon létre egy helyi tarballt:

    cd sdk/contentunderstanding/ai-content-understanding
    pnpm pack --pack-destination /tmp
    
  3. Telepítsd a tarballt a mintákba (mentés nélkül, zárolófájl nélkül):

    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
    

Mintavétel futtatása

A függőségek telepítése után egyéni mintákat futtathatsz.

Környezeti változók beállítása:

Másold a sample.env fájlt, hogy fájlt .env hozz létre a mintakönyvtár gyökérjében. A következő parancsokat futtassuk a csomaggyökérből (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

Ezután szerkesztsd a .env fájlt, és töltsd ki a tényleges értékeket:

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

Megjegyzés: A .env fájlnak a mintamappagyökérnél kell lennie (ugyanazon a szinten, mint package.json), nem bent src/ vagy dist/.

TypeScript minták:

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

JavaScript minták:

cd samples/v1/javascript
node analyzeBinary.js

A teljes beállítási utasításokért és elérhető mintákért lásd:

Következő lépések

Közreműködés

Ha szeretnél hozzájárulni ehhez a könyvtárhoz, kérjük, olvasd el a hozzájárulás útmutatót hogy többet megtudj arról, hogyan lehet elkészíteni és tesztelni a kódot.