Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure AI İçerik Anlama, belgelerden, video, ses ve görüntü dosyalarından anlamsal içerik çıkaran çok modlu bir yapay zeka hizmetidir. Yapılandırılmamış içeriği, alınma ve artırılmış üretim (RAG) ve otomatik iş akışları için optimize edilmiş yapılandırılmış, makine tarafından okunabilir verilere dönüştürür.
Azure AI Content Understanding için istemci kütüphanesini şu şekilde kullanın:
- Belge içeriğini çıkarın - Belgelerden metin, tablolar, şekiller, düzen bilgileri ve yapılandırılmış işaretleme (PDF, metinli veya el yazısıyla metinli görseller, Office belgeleri ve daha fazlası) çıkarın.
- Ses yazısı ve analiz et - Sesli içeriği konuşmacı günlüğü ve zamanlama bilgileriyle aranabilir transkriptlere dönüştürün
- Video içeriğini analiz et - Görsel çerçeveleri çıkar, ses parçalarını transkribe et ve video dosyalarından yapılandırılmış özetler oluştur
- Hazır analiz cihazlarından yararlanın - finance ve vergi (faturalar, makbuzlar, vergi formları), kimlik doğrulama (pasaportlar, ehliyetler), ipotek ve kredi (kredi başvuruları, değerlemeler), satın alma ve sözleşmeler (satın alma emirleri, anlaşmalar) ve faturalandırma beyanları (fatura beyanları) dahil olmak üzere sektörler genelinde üretime hazır hazır hazır analiz cihazları kullanın
- Özel analizörler oluşturun - Tüm dört modalitede (belgeler, video, ses ve görüntüler) için özel içerik çıkarma ihtiyaçları için alan adına özel analizörler oluşturun
- Belgeleri ve videoyu sınıflandırın - Belge ve videodan türlerine göre otomatik olarak kategorize edin ve bilgileri çıkarın
Önemli bağlantılar:
- Kaynak kodu
- Paket (NPM)
- Ürün dokümantasyonu
- Samples
Başlangıç Yapmak
Şu anda desteklenen ortamlar
- LTS sürümleri Node.js
- Safari, Chrome, Edge ve Firefox'un en son sürümleri.
Daha fazla detay için destek politikamız adresimize bakınız.
Önkoşullar
- Bir Azure abonelik
destekli bir bölgede Microsoft Foundry kaynağı oluşturulmuştur>
@azure/ai-content-understanding paketini kur
JavaScript için Azure Content Understanding istemci kütüphanesini npm ile kurun:
npm install @azure/ai-content-understanding
Microsoft Foundry kaynağınızı yapılandırmak
Content Understanding SDK'yı kullanmadan önce, bir Microsoft Foundry kaynağı kurup gerekli büyük dil modellerini dağıtmanız gerekir. Content Understanding şu anda OpenAI GPT modellerini kullanıyor (örneğin gpt-4.1, gpt-4.1-mini ve metin gömme-3-large).
Adım 1: Microsoft Foundry kaynağı oluşturun
Önemli: Microsoft Foundry kaynağınızı İçerik Anlama destekleyen bir bölgede oluşturmalısınız. Mevcut bölgelerin listesi için bkz. Azure İçerik Anlama bölgesi ve dil desteği.
- Azure İçerik Anlama hızlı başlangıç adımlarını takip ederek Azure portal
- Foundry kaynağınızın uç nokta URL'sini Azure portal'dan alın:
Azure portal - Microsoft Foundry kaynağınıza gidin
- Kaynak Yönetim>Anahtarları ve Uç noktasına gidin
-
Endpoint URL'sini kopyalayın (genellikle
https://<your-resource-name>.services.ai.azure.com/)
Önemli: Gerekli İzinleri Verin
Microsoft Foundry kaynağınızı oluşturduktan sonra, varsayılan model dağıtımlarını ayarlamak için API çağrılarını etkinleştirmek için kendinize Bilişsel Hizmetler Kullanıcı rolünü vermelisiniz:
Azure portal - Microsoft Foundry kaynağınıza gidin
- Sol menüde Access Control (IAM) sayfasına gidin
- Ekle>Rol ataması ekle'ye tıklayın
- Bilişsel Hizmetler Kullanıcı rolünü seçin
- Kendisine (veya uygulamayı çalıştıracak kullanıcı/hizmet yöneticisine) ata.
Not: Bu rol ataması, kaynağın sahibi olsanız bile gereklidir. Bu rol olmadan, içerik anlama API'sini çağırarak önceden oluşturulmuş analizörler için model dağıtımlarını yapılandırmayı sağlayamayacaksınız.
Adım 2: Gerekli modelleri dağıtın
Önemli: Hazır ve özel analizörler büyük dil modeli dağıtımları gerektirir. Önceden oluşturulmuş analizörler ve özel analizörler kullanmadan önce en az bu modelleri dağıtmalısınız:
-
prebuilt-documentSearch,prebuilt-imageSearch,prebuilt-audioSearch,prebuilt-videoSearchgpt-4.1-mini ve metin-gömülme-3-large gerektirir - Diğer hazır analizörler gibi
prebuilt-invoice,prebuilt-receiptgpt-4.1 ve metin gömme-3-large gerektirir
Modeli dağıtmak için:
- Microsoft Foundry'de, Deployments>Deploy model>Deploy base model sayfasına gidin
- Dağıtmak istediğiniz modeli arayın ve seçin. Şu anda, önceden oluşturulmuş analizörler ,
gpt-4.1, ve gibi modelleregpt-4.1-miniihtiyaç duyartext-embedding-3-large - Dağıtımı tercih ettiğiniz ayarlarla tamamlayın
- Seçtiğiniz dağıtım adını not edin (geleneksel olarak, model adını dağıtım adı olarak kullanın, örneğin
gpt-4.1model içingpt-4.1)
Bu süreci önceden hazırlanmış analizörlerinizin ihtiyaç duyduğu her model için tekrarlayın.
Modelleri dağıtma hakkında daha fazla bilgi için Microsoft Foundry portalında model dağıtımları oluştur Create model dağıtımları sayfasına bakınız.
Adım 3: Model dağıtımlarını yapılandırmak (önceden oluşturulmuş analizörler için gereklidir)
ÖNEMLI: Bu, Microsoft Foundry kaynağına göre tek seferlik bir kurulumdur ve dağıttığınız modelleri önceden oluşturulmuş analizörler ve özel modeller tarafından gerekenlerle eşler. Birden fazla Microsoft Foundry kaynağınız varsa, her birini ayrı ayrı yapılandırmanız gerekir.
Microsoft Foundry kaynağınızda varsayılan model eşlemelerini yapılandırmanız gerekir. Bu, SDK kullanılarak programatik olarak yapılabilir. Konfigürasyon, dağıttığınız modelleri (şu anda gpt-4.1, gpt-4.1-mini ve metin gömme-3-large) önceden oluşturulmuş analizörlerin gerektirdiği büyük dil modelleriyle eşler.
Kod kullanarak model dağıtımlarını yapılandırmak için tam bir örnek için Update Defaults örneğine bakınız. İşte hızlı bir özet:
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!");
Not: Yapılandırma Microsoft Foundry kaynağınızda kalır, bu yüzden bunu her kaynak için sadece bir kez çalıştırmanız gerekir (veya dağıtım adlarınızı değiştirdiğinizde).
İstemcinin kimliğini doğrulama
İstemciyi doğrulamak için Microsoft Foundry kaynak uç noktanız ve kimlik bilgilerinize ihtiyacınız var. Bir API anahtarı veya Microsoft Entra ID doğrulaması kullanabilirsiniz.
DefaultAzureCredential Kullanımı
En basit kimlik doğrulama yolu, birden fazla kimlik doğrulama yöntemini destekleyen ve hem yerel geliştirme hem de üretim ortamlarında iyi çalışan , kullanmaktır DefaultAzureCredential.
Aşağıda gösterilen DefaultAzureCredential sağlayıcısını veya Azure SDK ile sağlanan diğer kimlik bilgileri sağlayıcılarını kullanmak için lütfen @azure/identity paketini yükleyin:
npm install @azure/identity
Node.js ve Node benzeri ortamları kullanarak istemcinin kimliğini doğrulamak için DefaultAzureCredential sınıfını kullanabilirsiniz.
import { ContentUnderstandingClient } from "@azure/ai-content-understanding";
import { DefaultAzureCredential } from "@azure/identity";
const client = new ContentUnderstandingClient("<endpoint>", new DefaultAzureCredential());
Tarayıcı ortamları için, kimlik doğrulama için InteractiveBrowserCredential paketinden @azure/identity kullanın.
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 anahtarı kullanımı
Microsoft Foundry kaynağınızdan bir API anahtarı kullanarak da kimlik doğrulaması yapabilirsiniz:
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));
API anahtarınızı almak için:
Azure portal - Microsoft Foundry kaynağınıza gidin
- Kaynak Yönetim>Anahtarları ve Uç noktasına gidin
- Anahtarlardan birini kopyalayın (Key1 veya Key2)
Kimlik doğrulama hakkında daha fazla bilgi için bkz. Azure Identity client library.
JavaScript Paketi
Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl to do hakkında detaylar için lütfen paketleme dokümantasyonumuz adresimize bakınız.
Temel kavramlar
Önceden oluşturulmuş çözümleyiciler
Content Understanding, herhangi bir yapılandırma olmadan kullanıma hazır zengin bir ön geliştirilmiş analizör seti sunar. Bu analizörler, binlerce gerçek dünya belge örneğinin bilgi tabanlarıyla desteklenerek belge yapısını anlamalarını ve format ile içerik farklılıklarına uyum sağlamalarını sağlar.
Hazır analizörler birkaç kategoriye ayrılmıştır:
-
RAG analizörleri - Geri alım ile artırılmış üretim senaryoları için semantik analiz ve indirim çıkarımı için optimize edilmiştir. Bu analizörler, her içerik öğesi için markdown ve bir paragraf
Summarydöndürür:-
prebuilt-documentSearch- Belgelerden (PDF, görseller, Office belgeleri) içerik çıkararak düzen koruma, tablo algılama, şekil analizi ve yapılandırılmış markdown çıktısı ile çıkarır. RAG senaryoları için optimize edildi. -
prebuilt-imageSearch- Bağımsız görüntüleri analiz eder ve görüntü içeriğinin bir paragraflık açıklamasını sağlar. Görüntü anlama ve arama senaryoları için optimize edilmiş. Metin içeren görseller için (el yazısı metin dahil) .prebuilt-documentSearch -
prebuilt-audioSearch- Konuşmacı günlüğü, zaman bilgileri ve konuşma özetleriyle sesli içeriği transkribe eder. Çok dilli transkripsiyonu destekler. -
prebuilt-videoSearch- Video içeriğini görsel çerçeve çıkarımı, sesli transkripsiyon ve yapılandırılmış özetlerle analiz eder. Görsel ve işitsel içeriğin zamansal hizalanmasını sağlar ve video başına birden fazla segment döndürebilir.
-
-
İçerik çıkarma analizörleri - OCR ve düzen analizine odaklanın (örneğin,
prebuilt-read,prebuilt-layout) -
Temel analizörler - Özel analizörler için ana analizör olarak kullanılan temel içerik işleme yetenekleri (örneğin,
prebuilt-document,prebuilt-image,prebuilt-audioprebuilt-video) - Alan spesifik analizörler - Finansal belgeler (faturalar, makbuzlar, banka ekstreleri), kimlik belgeleri (pasaportlar, ehliyetler), vergi formları, ipotek belgeleri ve sözleşmeler ile fatura beyanları gibi yaygın belge kategorileri için önceden yapılandırılmış analizörler
-
Yardımcı analizörler - Şema üretimi ve alan çıkarımı için özel araçlar (örneğin,
prebuilt-documentFieldSchema,prebuilt-documentFields)
Mevcut hazır analizörlerin ve yeteneklerinin tam listesi için Prebuilt analizör dokümantasyonu'a bakınız.
Özel analizörler
Çok modlu içerik işleme (belgeler, görseller, ses, video) için özel alan şemalarına sahip özel analizörler oluşturabilirsiniz. Özel analizörler, kullanım alanınıza özel bilgileri çıkarmanızı sağlar.
İçerik türleri
API, girdiye göre farklı içerik türlerini döndürür:
-
document- Belge dosyaları için (PDF, HTML, görseller, Word, Excel, PowerPoint gibi Office belgeleri ve daha fazlası). Sayfa sayısı ve MIME tipi gibi temel bilgiler sağlar. Sayfalar, tablolar, şekiller, paragraflar ve daha birçok detay dahil olmak üzere ayrıntılı bilgi edinin. -
audioVisual- Ses ve görüntü dosyaları için. Zaman bilgisi (başlangıç/bitiş saatleri) ve kare boyutları (video için) gibi temel bilgiler sağlar. Transkript cümleleri, zamanlama bilgileri ve video için anahtar çerçeve referansları gibi detaylı bilgileri edinin.
Zaman uyumsuz işlemler
İçerik Anlama işlemleri, asenkron ve uzun süreli işlemlerdir. İş akışı şu şekildedir:
- Analiz Başlat - Analiz işlemini başlat (hemen işlem konumuyla döner)
- Sonuç anketi - Analiz tamamlanana kadar operasyon konumunu sorgun
- Süreç Sonuçları - Yapılandırılmış sonuçları çıkarın ve görüntüleyin
SDK, kullanıldığında pollUntilDone()otomatik olarak sorgulama yapan poller türleri sağlar. Analiz işlemleri için, SDK işlem ID'sine access sağlayan bir poller döner. Bu işlem kimliği ve getResultFile yöntemlerle deleteResult kullanılabilir.
Ana sınıflar
-
ContentUnderstandingClient- İçerik analizi ile analizörlerin oluşturulması, yönetimi ve yapılandırması için ana istemci -
AnalysisResult- İçerik öğeleri, markdown ve meta veriler dahil olmak üzere analiz operasyonunun yapılandırılmış sonuçlarını içerir
İş parçacığı güvenliği
Tüm istemci örnek yöntemlerinin iş parçacığı güvenli ve birbirinden bağımsız olduğunu garanti ediyoruz. Bu, istemci örneklerini yeniden kullanma önerisinin iş parçacıkları arasında bile her zaman güvenli olmasını sağlar.
Ek kavramlar
İstemci seçenekleri | Yanıt'a erişim | Uzun süreli işlemler | Hataların işlenmesi | Diagnostics | İstemci ömrü
Örnekler
Farklı API'lerle Samples ile tanışabilirsiniz.
Örnekler şunları gösteriyor:
- Yapılandırma - Önceden hazırlanmış analizörler ve özel analizörler için model dağıtım varsayımlarını yapılandırma
-
Belge İçerik Çıkarma - PDF'ler ve görsellerden yapılandırılmış markdown içeriği çıkarmak
prebuilt-documentSearch, RAG (Retrieval-Augmented Oluşturma) uygulamaları için optimize edilmiş olarak -
Çok Modal İçerik Analizi - Tüm modaliteler boyunca URL'lerden içerik analizi: belgelerden, görsellerden, ses ve videodan
prebuilt-documentSearchprebuilt-imageSearch, ,prebuilt-audioSearch, ve kullanılarak işaret indirimi ve özetleri çıkarınprebuilt-videoSearch -
Domain-Specific Analizi - Faturalardan yapılandırılmış alanlar çıkararak
prebuilt-invoice - Gelişmiş Belge Özellikleri - Belgelerden grafikler, bağlantılar, formüller ve açıklamalar çıkarın
- Özel Analizörler - Özel çıkarma ihtiyaçları için saha şemalarıyla özel analizörler oluşturun
- Belge Sınıflandırması - Belgeleri kategorize etmek için sınıflandırıcılar oluşturun ve kullanın
- Analizör Yönetimi - Analizörleri alın, listeleyin, güncelleyin, kopyalayın ve silinin
- Sonuç Yönetimi - Video analizinden sonuç dosyalarını alın ve analiz sonuçlarını silin
Belgelerden markdown içeriğini çıkarma
prebuilt-documentSearch Analizörü kullanarak belgelerden markdown içeriğini çıkarabilirsiniz:
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}`);
}
}
Faturalardan yapılandırılmış alanlar çıkarın
prebuilt-invoice Analizörden yapılandırılmış fatura alanlarını çıkarabilirsiniz:
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)"}`);
}
Tam örnekler için samples dizinine bakınız.
Sorun giderme
Yaygın sorunlar
Hata: "Access geçersiz abonelik anahtarı veya yanlış API uç noktası nedeniyle reddedildi"
- Uç nokta URL'nizin doğru olduğunu ve ardından çizgiyi içerdiğini doğrulayın
- API anahtarınızın geçerli olduğundan veya Microsoft Entra ID kimlik bilgilerinizin doğru izinlere sahip olduğundan emin olun
- Hesabınıza Cognisel Hizmetler Kullanıcı rolünün atadığından emin olun
Hata: "Model dağıtımı bulunmadı" veya "Varsayılan model dağıtımı konfigurement edilmedi"
- Microsoft Foundry'de gerekli modelleri (gpt-4.1, gpt-4.1-mini, metin gömme-3-large) dağıttığınızdan emin olun
- Varsayılan model dağıtımlarını yapılandırdığınızı doğrulayın ( bkz. Model Dağıtımlarını Yapılandırmak)
- Dağıtım adlarınızın varsayılan ayarlarda yapılandırdığınızla eşleşip eşleşmediğine bakın
Hata: "İşlem başarısız oldu" veya zaman aşımına
- İçerik Anlama işlemleri asenkron ve tamamlanması zaman alabilir
- Sonuçlar için doğru şekilde anket
pollUntilDone()yapan nesne kullandığınızdan emin olun - Arıza hakkında daha fazla detay için operasyon durumunu kontrol edin
Ağaç kesimi
Loglamayı etkinleştirmek, hatalarla ilgili yararlı bilgilerin ortaya çıkmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL olarak infoayarlayın. Alternatif olarak, setLogLevel'de @azure/logger çağrılarak çalışma zamanında kayıt etkinleştirilebilir:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Logların nasıl etkinleştirileceğine dair daha ayrıntılı talimatlar için @azure/logger paketi docs adresine bakabilirsiniz.
Testing
Bu SDK, farklı modlarda çalıştırılabilen kapsamlı testler içerir.
Hızlı başlangıç
# 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
Test modları
- Playback Mode (varsayılan): Önceden kaydedilmiş HTTP etkileşimlerini kullanır, Azure kaynak gerektirmez
- Kayıt Modu: Canlı Azure servislerine karşı çalışır ve gelecekteki oynatma için etkileşimleri kaydeder
- Canlı Modu: Canlı Azure servislerine karşı kayıt yapmadan çalışır
Canlı/kayıt testleri için ortam kurulumu
Kopyala
test/sample.env:test/.envcp test/sample.env test/.envGerçek değerlerinizi düzenleyin
test/.envve doldurun:-
CONTENTUNDERSTANDING_ENDPOINT: Microsoft Foundry kaynak uç noktanız -
CONTENTUNDERSTANDING_KEY: API anahtarınız (DefaultAzureCredential kullanıyorsa isteğe bağlı) - Model dağıtım adları (önceden oluşturulmuş analizörler için gereklidir)
-
Kayıt modunda testleri çalıştırın
Yeni test etkileşimlerini kaydetmek veya mevcut olanları güncellemek için:
# Run tests in record mode
TEST_MODE=record pnpm test
Oynatma modunda testler çalıştırın
Azure kaynakları olmadan testleri çalıştırmak için (önceden kaydedilmiş etkileşimler kullanılarak):
# Simply run tests (playback is the default mode)
pnpm test
# Or explicitly set playback mode
TEST_MODE=playback pnpm test
Paket kapsamlı / daha hızlı iş akışları
Sadece bu paketi ve bağımlılıklarını oluşturun:
npx turbo build --filter=@azure/ai-content-understanding... --token 1Daha hızlı yineleme için yalnızca Node testlerini çalıştırın (tarayıcı testlerini atlayın):
TEST_MODE=record pnpm test:node # or TEST_MODE=playback pnpm test:node
Ortam değişkenleri
Kimlik bilgilerini birden fazla şekilde ayarlayabilirsiniz:
Tercih edilen: Değerlerinizi kopyalayıp
test/.envdoldurarak oluşturuntest/sample.envGeri dönüş: Paket köküne a'yı
.envyerleştirin (aynı dizin)package.jsonShell dışatı: Kimlik bilgilerini doğrudan shell'e aktarın:
export CONTENTUNDERSTANDING_ENDPOINT="https://<your-resource>.services.ai.azure.com/" export CONTENTUNDERSTANDING_KEY="<your_key_here>" TEST_MODE=record pnpm test:node
Hata ayıklama ipuçları
Kayıt modunda testler çalıştırılırken, test kurulumu tarafından yazdırılan hata ayıklama satırlarına dikkat edin:
DEBUG ENV ENDPOINT DEFINED: true
DEBUG ENV KEY DEFINED: true
Önemli: Gerçek anahtarları BAĞLAMAYIN. Şablonu koruyun
test/sample.envve içinizde olduğundantest/.envemin olun.gitignore.
Sorun giderme testleri
-
"anahtar boş olmayan bir dizi olmalı": Test süreci sizin
CONTENTUNDERSTANDING_KEY'ni bulamadı. Testleri çalıştırmadan öncetest/.envpaket-kökünün.envmevcut olduğundan ve anahtarı içerdiğinden emin olun (veya kabuğuna dışa aktarın). - "Geçersiz istek" LRO hataları: Hizmetinizin/bölgenizin testlerde kullanılan analizörü desteklediğinden ve ağ access URL tabanlı girişler için kullanılabilir olduğundan emin olun.
Yerel Olarak Çalıştırılan Örnekler
Örnek dizinleri, bağımlılık çatışmalarını önlemek için pnpm çalışma alanından hariç tutulur. Paketin yerel geliştirme sürümüyle örnekleri çalıştırmak için:
Not:
pnpm linkÇalıştırmak vepnpm installörnekler klasörlerinin içinde örnekler dizinleri gibi yerel dosyalarıpackage.jsongüncellecekpnpm-lock.yaml. Bu değişiklikler yalnızca yerel testler için geçerlidir ve kontrol edilmemelidir. Eğer yanlışlıkla değiştirirseniz, geri almak için kullanıngit restore <path>.
Paketi oluştur:
npx turbo build --filter=@azure/ai-content-understanding...Yerel paketi örnek dizinlerinde bağlayın:
cd sdk/contentunderstanding/ai-content-understanding/samples/v1/typescript pnpm link ../../../ cd ../javascript pnpm link ../../../Bağımlılıkları örnek dizinlerine kurun:
cd sdk/contentunderstanding/ai-content-understanding/samples/v1/typescript pnpm install cd ../javascript pnpm install
Alternatif (package.json/lockfile değişikliği yok)
Yerel paketi örnek değiştirmeden package.json kullanmak istiyorsanız, pnpm-lock.yamlpaketlenmiş bir tarball'dan kaydetmeden kurabilirsiniz:
Paketi oluştur:
npx turbo build --filter=@azure/ai-content-understanding...Yerel bir tarball oluşturun:
cd sdk/contentunderstanding/ai-content-understanding pnpm pack --pack-destination /tmpTarball'u örneklere takın (kayıt yok, kilit dosyası yok):
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
Bir örnek çalıştırmak
Bağımlılıklar kurulduktan sonra bireysel örnekleri çalıştırabilirsiniz.
Ortam değişkenlerinin kurulması:
Dosyayı sample.env kopyalayarak örnek dizin kökünde bir .env dosya oluşturun. Paket kökünden aşağıdaki komutları çalıştırın (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
Sonra dosyayı .env düzenle ve gerçek değerlerinizi doldurun:
CONTENTUNDERSTANDING_ENDPOINT=https://<your-resource>.services.ai.azure.com/
CONTENTUNDERSTANDING_KEY=<your-api-key>
Not: Dosya,
.envörneğin klasör kökünde (aynı seviyede)package.jsonolmalı, içindesrc/veyadist/.
TypeScript örnekleri:
cd samples/v1/typescript
npm run build
node dist/analyzeBinary.js
JavaScript örnekleri:
cd samples/v1/javascript
node analyzeBinary.js
Tam kurulum talimatları ve mevcut örnekler için bkz:
Sonraki Adımlar
- Tam kod örnekleri için samples dizinini keşfedin
- Detaylı hizmet bilgisi için Azure AI İçerik Anlama dokümantasyonu dosyasını okuyun
Contributing
Bu kütüphaneye katkıda bulunmak isterseniz, kodun nasıl oluşturulacağı ve test edileceği hakkında daha fazla bilgi edinmek için lütfen katkı rehberi adresini okuyun.
İlgili projeler
Azure SDK for JavaScript