Pustaka klien Pemahaman Konten AI Azure untuk JavaScript - versi 1.1.0

Azure AI Content Understanding adalah layanan AI multimoda yang mengekstrak konten semantik dari dokumen, video, audio, dan file gambar. Ini mengubah konten tidak terstruktur menjadi data terstruktur dan dapat dibaca mesin yang dioptimalkan untuk pengambilan generasi yang ditambah (RAG) dan alur kerja otomatis.

Gunakan pustaka klien untuk Pemahaman Konten Azure AI untuk:

  • Ekstrak konten dokumen - Ekstrak teks, tabel, gambar, informasi tata letak, dan penurunan harga terstruktur dari dokumen (PDF, gambar dengan teks atau teks tulisan tangan, dokumen Office, dan lainnya)
  • Transkripsikan dan analisis audio - Ubah konten audio menjadi transkrip yang dapat dicari dengan informasi diarisasi dan waktu pembicara
  • Menganalisis konten video - Mengekstrak bingkai visual, menyalin trek audio, dan membuat ringkasan terstruktur dari file video
  • Manfaatkan penganalisis bawaan - Gunakan penganalisis bawaan siap produksi di seluruh industri termasuk finance dan pajak (faktur, tanda terima, formulir pajak), verifikasi identitas (paspor, SIM), hipotek dan pinjaman (aplikasi pinjaman, penilaian), pengadaan dan kontrak (pesanan pembelian, perjanjian), dan utilitas (laporan tagihan)
  • Buat penganalisis kustom - Buat penganalisis khusus domain untuk kebutuhan ekstraksi konten khusus di keempat modalitas (dokumen, video, audio, dan gambar)
  • Mengklasifikasikan dokumen dan video - Secara otomatis mengkategorikan dan mengekstrak informasi dari dokumen dan video berdasarkan jenisnya

Tautan kunci:

Memulai Langkah Pertama

Lingkungan yang didukung saat ini

Lihat kebijakan support kami untuk detail selengkapnya.

Prasyarat

Instal paket @azure/ai-content-understanding

Instal pustaka klien Pemahaman Konten Azure untuk JavaScript dengan npm:

npm install @azure/ai-content-understanding

Mengonfigurasi sumber daya Microsoft Foundry Anda

Sebelum menggunakan Content Understanding SDK, Anda perlu menyiapkan sumber daya Microsoft Foundry dan menyebarkan model bahasa besar yang diperlukan. Pemahaman Konten saat ini menggunakan model OpenAI GPT (seperti gpt-4.1, gpt-4.1-mini, dan text-embedding-3-large).

Langkah 1: Buat sumber daya Microsoft Foundry

Itu penting: Anda harus membuat sumber daya Microsoft Foundry di wilayah yang mendukung Pemahaman Konten. Untuk daftar wilayah yang tersedia, lihat Azure Dukungan wilayah dan bahasa Pemahaman Konten.

  1. Ikuti langkah-langkah dalam mulai cepat Pemahaman Konten Azure untuk membuat sumber daya Microsoft Foundry di Azure portal
  2. Dapatkan URL titik akhir sumber daya Foundry Anda dari portal Azure:
    • Buka portal Azure
    • Navigasikan ke sumber daya Microsoft Foundry Anda
    • Buka Kunci Manajemen> Sumber Dayadan Titik Akhir
    • Salin URL Endpoint (biasanya https://<your-resource-name>.services.ai.azure.com/)

Penting: Berikan izin yang diperlukan

Setelah membuat sumber daya Microsoft Foundry, Anda harus memberi diri Anda peran Pengguna Cognitive Services untuk mengaktifkan panggilan API untuk mengatur penyebaran model default:

  1. Buka portal Azure
  2. Navigasikan ke sumber daya Microsoft Foundry Anda
  3. Buka Access Control (IAM) di menu sebelah kiri
  4. Klik Tambahkan>penetapan peran
  5. Pilih peran Pengguna Cognitive Services
  6. Tetapkan untuk diri Anda sendiri (atau pengguna/perwakilan layanan yang akan menjalankan aplikasi)

Catatan: Penetapan peran ini diperlukan bahkan jika Anda adalah pemilik sumber daya. Tanpa peran ini, Anda tidak akan dapat memanggil Content Understanding API untuk mengonfigurasi penyebaran model untuk penganalisis bawaan.

Langkah 2: Terapkan model yang diperlukan

Itu penting: Penganalisis bawaan dan kustom memerlukan penyebaran model bahasa yang besar. Anda harus menyebarkan setidaknya model ini sebelum menggunakan penganalisis bawaan dan penganalisis kustom:

  • prebuilt-documentSearch, prebuilt-imageSearch, prebuilt-audioSearch, prebuilt-videoSearch memerlukan gpt-4.1-mini dan text-embedding-3-large
  • Penganalisis bawaan lainnya seperti prebuilt-invoice, prebuilt-receipt memerlukan gpt-4.1 dan text-embedding-3-large

Untuk menerapkan model:

  1. Di Microsoft Foundry, buka Penyebaran>Menyebarkan model>Sebarkan model dasar
  2. Cari dan pilih model yang ingin Anda sebarkan. Saat ini, penganalisis bawaan memerlukan model seperti gpt-4.1, gpt-4.1-mini, dan text-embedding-3-large
  3. Selesaikan penyebaran dengan pengaturan pilihan Anda
  4. Catat nama penyebaran yang Anda pilih (menurut konvensi, gunakan nama model sebagai nama penyebaran, misalnya, gpt-4.1 untuk gpt-4.1 model)

Ulangi proses ini untuk setiap model yang diperlukan oleh penganalisis bawaan Anda.

Untuk informasi selengkapnya tentang menyebarkan model, lihat Membuat penyebaran model di portal Microsoft Foundry.

Langkah 3: Mengonfigurasi penyebaran model (diperlukan untuk penganalisis bawaan)

PENTING: Ini adalah penyiapan satu kali per sumber daya Microsoft Foundry yang memetakan model yang disebarkan ke model yang diperlukan oleh penganalisis bawaan dan model kustom. Jika Anda memiliki beberapa sumber daya Microsoft Foundry, Anda perlu mengonfigurasi masing-masing secara terpisah.

Anda perlu mengonfigurasi pemetaan model default di sumber daya Microsoft Foundry Anda. Ini dapat dilakukan secara terprogram menggunakan SDK. Konfigurasi memetakan model yang Anda sebarkan (saat ini gpt-4.1, gpt-4.1-mini, dan text-embedding-3-large) ke model bahasa besar yang diperlukan oleh penganalisis bawaan.

Untuk mengonfigurasi penyebaran model menggunakan kode, lihat sampel Update Defaults untuk contoh lengkap. Berikut ikhtisar singkatnya:

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

Catatan: Konfigurasi dipertahankan di sumber daya Microsoft Foundry Anda, jadi Anda hanya perlu menjalankannya sekali per sumber daya (atau setiap kali Anda mengubah nama penyebaran).

Mengautentikasi klien

Untuk mengautentikasi klien, Anda memerlukan titik akhir dan kredensial sumber daya Microsoft Foundry Anda. Anda dapat menggunakan kunci API atau autentikasi Microsoft Entra ID.

Menggunakan DefaultAzureCredential

Cara paling sederhana untuk mengautentikasi adalah menggunakan DefaultAzureCredential, yang mendukung beberapa metode autentikasi dan bekerja dengan baik di lingkungan pengembangan dan produksi lokal.

Untuk menggunakan penyedia DefaultAzureCredential yang ditunjukkan di bawah ini, atau penyedia kredensial lain yang disertakan dengan Azure SDK, instal paket @azure/identity:

npm install @azure/identity

Dengan menggunakan lingkungan Node.js dan seperti Node, Anda dapat menggunakan kelas DefaultAzureCredential untuk mengautentikasi klien.

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

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

Untuk lingkungan browser, gunakan InteractiveBrowserCredential dari paket @azure/identity untuk mengautentikasi.

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

Menggunakan kunci API

Anda juga dapat mengautentikasi menggunakan kunci API dari sumber daya Microsoft Foundry Anda:

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

Untuk mendapatkan kunci API Anda:

  1. Buka portal Azure
  2. Navigasikan ke sumber daya Microsoft Foundry Anda
  3. Buka Kunci Manajemen> Sumber Dayadan Titik Akhir
  4. Salin salah satu Kunci (Kunci1 atau Kunci2)

Untuk informasi selengkapnya tentang autentikasi, lihat Azure Pustaka klien identitas.

Bundel JavaScript

Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara to do ini, silakan lihat dokumentasi bundling kami.

Konsep utama

Penganalisis bawaan

Pemahaman Konten menyediakan serangkaian penganalisis bawaan yang kaya yang siap digunakan tanpa konfigurasi apa pun. Penganalisis ini didukung oleh basis pengetahuan dari ribuan contoh dokumen dunia nyata, memungkinkan mereka untuk memahami struktur dokumen dan beradaptasi dengan variasi format dan konten.

Penganalisis bawaan diatur ke dalam beberapa kategori:

  • Penganalisis RAG - Dioptimalkan untuk skenario generasi yang ditambah pengambilan dengan analisis semantik dan ekstraksi penurunan harga. Penganalisis ini mengembalikan penurunan harga dan satu paragraf Summary untuk setiap item konten:
    • prebuilt-documentSearch - Mengekstrak konten dari dokumen (PDF, gambar, dokumen Office) dengan pelestarian tata letak, deteksi tabel, analisis gambar, dan output penurunan harga terstruktur. Dioptimalkan untuk skenario RAG.
    • prebuilt-imageSearch - Menganalisis gambar mandiri dan menampilkan deskripsi satu paragraf tentang konten gambar. Dioptimalkan untuk pemahaman gambar dan skenario pencarian. Untuk gambar yang berisi teks (termasuk teks tulisan tangan), gunakan prebuilt-documentSearch.
    • prebuilt-audioSearch - Mentranskripsikan konten audio dengan diarisasi pembicara, informasi waktu, dan ringkasan percakapan. Mendukung transkripsi multibahasa.
    • prebuilt-videoSearch - Menganalisis konten video dengan ekstraksi bingkai visual, transkripsi audio, dan ringkasan terstruktur. Menyediakan penyelarasan temporal konten visual dan audio dan dapat mengembalikan beberapa segmen per video.
  • Penganalisis ekstraksi konten - Fokus pada OCR dan analisis tata letak (misalnya, prebuilt-read, ) prebuilt-layout
  • Penganalisis dasar - Kemampuan pemrosesan konten dasar yang digunakan sebagai penganalisis induk untuk penganalisis kustom (misalnya, prebuilt-document, prebuilt-imageprebuilt-audioprebuilt-video)
  • Penganalisis khusus domain - Penganalisis yang telah dikonfigurasi sebelumnya untuk kategori dokumen umum termasuk dokumen keuangan (faktur, tanda terima, laporan bank), dokumen identitas (paspor, SIM), formulir pajak, dokumen hipotek, dan kontrak, serta utilitas (laporan tagihan)
  • Penganalisis utilitas - Alat khusus untuk pembuatan skema dan ekstraksi lapangan (misalnya, prebuilt-documentFieldSchema, ) prebuilt-documentFields

Untuk daftar lengkap penganalisis bawaan yang tersedia dan kemampuannya, lihat dokumentasi penganalisis bawaan .

Penganalisis khusus

Anda dapat membuat penganalisis kustom dengan skema bidang tertentu untuk pemrosesan konten multi-modal (dokumen, gambar, audio, video). Penganalisis kustom memungkinkan Anda mengekstrak informasi khusus domain yang disesuaikan dengan kasus penggunaan Anda.

Jenis konten

API mengembalikan jenis konten yang berbeda berdasarkan input:

  • document - Untuk file dokumen (PDF, HTML, gambar, dokumen Office seperti Word, Excel, PowerPoint, dan lainnya). Memberikan informasi dasar seperti jumlah halaman dan jenis MIME. Ambil informasi terperinci termasuk halaman, tabel, gambar, paragraf, dan banyak lainnya.
  • audioVisual - Untuk file audio dan video. Memberikan informasi dasar seperti informasi waktu (waktu mulai/berakhir) dan dimensi bingkai (untuk video). Ambil informasi terperinci termasuk frasa transkrip, informasi waktu, dan untuk video, referensi bingkai kunci, dan banyak lagi.

Operasi asinkron

Operasi Pemahaman Konten adalah operasi jangka panjang asinkron. Alur kerjanya adalah:

  1. Mulai Analisis - Mulai operasi analisis (segera kembali dengan lokasi operasi)
  2. Jajak pendapat untuk hasil - Polling lokasi operasi hingga analisis selesai
  3. Hasil Proses - Ekstrak dan tampilkan hasil terstruktur

SDK menyediakan jenis poller yang menangani polling secara otomatis saat menggunakan pollUntilDone(). Untuk operasi analisis, SDK mengembalikan poller yang menyediakan access ke ID operasi. ID operasi ini dapat digunakan dengan getResultFile metode dan deleteResult .

Kelas utama

  • ContentUnderstandingClient - Klien utama untuk menganalisis konten, serta membuat, mengelola, dan mengonfigurasi penganalisis
  • AnalysisResult - Berisi hasil terstruktur dari operasi analisis, termasuk elemen konten, penurunan harga, dan metadata

Keamanan Benang

Kami menjamin bahwa semua metode instans klien aman untuk utas dan independen satu sama lain. Ini memastikan bahwa rekomendasi memanfaatkan kembali instance klien selalu aman, bahkan di seluruh utas.

Konsep tambahan

Opsi klien | Mengakses respons | Operasi yang berjalan lama | Menangani kegagalan | Diagnostik | Seumur hidup klien

Contoh

Anda dapat membiasakan diri dengan API yang berbeda menggunakan Samples.

Sampel menunjukkan:

  • Konfigurasi - Mengonfigurasi default penyebaran model untuk penganalisis bawaan dan penganalisis kustom
  • Ekstraksi Konten Dokumen - Ekstrak konten penurunan harga terstruktur dari PDF dan gambar menggunakan prebuilt-documentSearch, dioptimalkan untuk aplikasi RAG (Retrieval-Augmented Generation)
  • Analisis Konten Multi-Modal - Analisis konten dari URL di semua modalitas: ekstrak penurunan harga dan ringkasan dari dokumen, gambar, audio, dan video menggunakan prebuilt-documentSearch, prebuilt-imageSearch, prebuilt-audioSearch, dan prebuilt-videoSearch
  • AnalisisDomain-Specific - Ekstrak bidang terstruktur dari faktur menggunakan prebuilt-invoice
  • Fitur Dokumen Lanjutan - Ekstrak bagan, hyperlink, rumus, dan anotasi dari dokumen
  • Penganalisis Kustom - Buat penganalisis kustom dengan skema bidang untuk kebutuhan ekstraksi khusus
  • Klasifikasi Dokumen - Membuat dan menggunakan pengklasifikasi untuk mengkategorikan dokumen
  • Manajemen Penganalisis - Dapatkan, daftarkan, perbarui, salin, dan hapus penganalisis
  • Manajemen Hasil - Mengambil file hasil dari analisis video dan menghapus hasil analisis

Ekstrak konten penurunan harga dari dokumen

Gunakan prebuilt-documentSearch penganalisis untuk mengekstrak konten penurunan harga dari dokumen:

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

Mengekstrak bidang terstruktur dari faktur

Gunakan prebuilt-invoice penganalisis untuk mengekstrak bidang faktur terstruktur:

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

Lihat direktori samples untuk contoh lengkap.

Troubleshooting

Masalah umum

Error: "Access ditolak karena kunci langganan yang tidak valid atau titik akhir API yang salah"

  • Memverifikasi URL endpoint Anda benar dan menyertakan garis miring di belakang
  • Pastikan kunci API Anda valid atau kredensial Microsoft Entra ID Anda memiliki izin yang benar
  • Pastikan Anda memiliki peran Pengguna Cognitive Services yang ditetapkan ke akun Anda

Kesalahan: "Penyebaran model tidak ditemukan" atau "Penyebaran model default tidak dikonfigurasi"

  • Pastikan Anda telah menyebarkan model yang diperlukan (gpt-4.1, gpt-4.1-mini, text-embedding-3-large) di Microsoft Foundry
  • Verifikasi bahwa Anda telah mengonfigurasi penyebaran model default (lihat Mengonfigurasi Penyebaran Model)
  • Periksa apakah nama penyebaran Anda cocok dengan apa yang Anda konfigurasikan di default

Kesalahan: "Operasi gagal" atau batas waktu

  • Operasi Pemahaman Konten bersifat asinkron dan mungkin memerlukan waktu untuk diselesaikan
  • Pastikan Anda melakukan polling dengan benar untuk hasil menggunakan pollUntilDone() objek poller
  • Periksa status operasi untuk detail lebih lanjut tentang kegagalan

Penebangan kayu

Mengaktifkan pengelogan dapat membantu menemukan informasi yang berguna tentang kegagalan. Untuk melihat log permintaan dan respons HTTP, atur variabel lingkungan AZURE_LOG_LEVEL ke info. Atau, pengelogan dapat diaktifkan saat runtime dengan memanggil setLogLevel di @azure/logger:

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

setLogLevel("info");

Untuk petunjuk lebih rinci tentang cara mengaktifkan log, Anda dapat melihat dokumen paket @azure/logger.

Testing

SDK ini mencakup pengujian komprehensif yang dapat dijalankan dalam mode yang berbeda.

Cepat Mulai

# 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

Mode pengujian

  • Mode Pemutaran (default): Menggunakan interaksi HTTP yang direkam sebelumnya, tidak diperlukan sumber daya Azure
  • Mode Rekam: Berjalan melawan layanan Azure langsung dan merekam interaksi untuk pemutaran di masa mendatang
  • Live Mode: Berjalan melawan layanan live Azure tanpa merekam

Menyiapkan lingkungan untuk pengujian langsung/rekaman

  1. Salin test/sample.env ke test/.env:

    cp test/sample.env test/.env
    
  2. Edit test/.env dan isi nilai aktual Anda:

    • CONTENTUNDERSTANDING_ENDPOINT: Titik akhir sumber daya Microsoft Foundry Anda
    • CONTENTUNDERSTANDING_KEY: Kunci API Anda (opsional jika menggunakan DefaultAzureCredential)
    • Nama penyebaran model (diperlukan untuk penganalisis bawaan)

Jalankan pengujian dalam mode rekam

Untuk merekam interaksi pengujian baru atau memperbarui interaksi yang sudah ada:

# Run tests in record mode
TEST_MODE=record pnpm test

Menjalankan pengujian dalam mode pemutaran

Untuk menjalankan pengujian tanpa sumber daya Azure (menggunakan interaksi yang direkam sebelumnya):

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

# Or explicitly set playback mode
TEST_MODE=playback pnpm test

Alur kerja cakupan paket / lebih cepat

  • Bangun hanya paket ini dan dependensinya:

    npx turbo build --filter=@azure/ai-content-understanding... --token 1
    
  • Jalankan hanya pengujian Node untuk iterasi yang lebih cepat (lewati pengujian browser):

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

Variabel lingkungan

Anda dapat mengatur kredensial dengan beberapa cara:

  1. Lebih disukai: Buat test/.env dengan menyalin test/sample.env dan mengisi nilai Anda

  2. Fallback: Tempatkan a .env di root paket (direktori yang sama dengan package.json)

  3. Ekspor Shell: Ekspor kredensial langsung di shell Anda:

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

Kiat debug

Saat menjalankan pengujian dalam mode rekam, perhatikan baris debug yang dicetak oleh pengaturan pengujian:

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

Itu penting: JANGAN melakukan kunci nyata. Simpan test/sample.env sebagai templat dan pastikan test/.env ada di ..gitignore

Pengujian pemecahan masalah

  • "key must be a non-empty string": Proses pengujian tidak dapat menemukan CONTENTUNDERSTANDING_KEY. Pastikan test/.env atau package-root .env ada dan berisi kunci (atau ekspor di shell Anda) sebelum menjalankan pengujian.
  • Error LRO "Permintaan tidak valid": Pastikan layanan/wilayah Anda mendukung penganalisis yang digunakan oleh pengujian dan access jaringan tersedia untuk input berbasis URL.

Menjalankan Sampel Secara Lokal

Direktori sampel dikecualikan dari ruang kerja pnpm untuk menghindari konflik dependensi. Untuk menjalankan sampel dengan versi pengembangan lokal paket:

Catatan: Berjalan pnpm link dan pnpm install di dalam folder sampel akan memperbarui file lokal seperti package.json dan pnpm-lock.yaml di bawah direktori sampel. Perubahan ini hanya untuk pengujian lokal dan tidak boleh didaftarkan. Jika Anda tidak sengaja memodifikasinya, gunakan git restore <path> untuk mengembalikan.

  1. Buat paket:

    npx turbo build --filter=@azure/ai-content-understanding...
    
  2. Tautkan paket lokal di direktori sampel:

    cd sdk/contentunderstanding/ai-content-understanding/samples/v1/typescript
    pnpm link ../../../
    cd ../javascript
    pnpm link ../../../
    
  3. Instal dependensi di direktori sampel:

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

Alternatif (tidak ada perubahan package.json/lockfile)

Jika Anda ingin menggunakan paket lokal tanpa memodifikasi sampel package.json atau pnpm-lock.yaml, instal dari tarball yang dikemas tanpa menyimpan:

  1. Buat paket:

    npx turbo build --filter=@azure/ai-content-understanding...
    
  2. Buat tarball lokal:

    cd sdk/contentunderstanding/ai-content-understanding
    pnpm pack --pack-destination /tmp
    
  3. Instal tarball di sampel (tidak ada penyimpanan, tidak ada file kunci):

    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
    

Menjalankan sampel

Setelah menginstal dependensi, Anda dapat menjalankan sampel individual.

Menyiapkan variabel lingkungan:

Salin sample.env file untuk membuat .env file di root direktori sampel. Jalankan perintah berikut dari root paket (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

Kemudian edit .env file dan isi nilai aktual Anda:

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

Catatan:.env File harus berada di root folder sampel (level yang sama dengan package.json), bukan di dalam src/ atau dist/.

Contoh TypeScript:

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

Contoh JavaScript:

cd samples/v1/javascript
node analyzeBinary.js

Untuk petunjuk penyiapan lengkap dan sampel yang tersedia, lihat:

Langkah selanjutnya

  • Jelajahi direktori sample untuk contoh kode lengkap
  • Baca dokumentasi Pemahaman Konten AI Azure untuk informasi layanan terperinci

Contributing

Jika Anda ingin berkontribusi ke library ini, silakan baca panduan contributor untuk mempelajari lebih lanjut cara membuat dan menguji kode.