JavaScript için Azure Document Translation client library - version 1.0.0

Document Translation, Azure Yapay Zeka Çevirmeni/Azure Yapay Zeka Çeviri hizmetinin bulut tabanlı makine çevirisi özelliğidir. Orijinal belge yapısını ve veri formatını koruyarak desteklenen tüm diller ve lehçeler için birden fazla ve karmaşık belgeyi çevirebilirsiniz. Belge Çevirisi API'si iki çeviri işlemini destekler:

Zaman uyumsuz toplu iş çevirisi, birden çok belgenin ve büyük dosyaların işlenmesini destekler. Toplu çeviri işlemi, kaynağınız ve çevrilmiş belgeleriniz için depolama kapsayıcılarına sahip bir Azure Blob depolama hesabı gerektirir.

Senkron tek dosya çevirisi, tek dosya çevirilerinin işlenmesini destekler. Dosya çevirisi işlemi için Azure Blob depolama hesabı gerekmez. Son yanıt çevrilmiş belgeyi içerir ve doğrudan çağıran istemciye döndürülür.

Belge Çevirisi özelliği aşağıdaki işlemleri desteklemektedir:

  • Senkron belge çevirisi: Tek bir belgeyi eşzamanlı çevirmek için kullanılır. yöntemi bir Azure Blob depolama hesabı gerektirmez.
  • Toplu çeviri başlat: Asenkron toplu çeviri isteğini çalıştırmak için kullanılır. yöntemi, kaynağınız ve çevrilmiş belgeleriniz için depolama kapsayıcılarına sahip bir Azure Blob depolama hesabı gerektirir.
  • Tüm çeviri işleri için durum alın: Bir liste ve kullanıcı tarafından gönderilen tüm çeviri işlerinin durumunu istemek için kullanılır (kaynakla ilişkili).
  • Belirli bir çeviri işi için statü alın: Belirli bir çeviri işinin durumunu istemek için kullanılır. Yanıt, genel iş durumunu ve bu işin bir parçası olarak çevrilen belgelerin durumunu içerir.
  • Tüm belgeler için durum alın: Bir çeviri işinde tüm belgelerin durumunu talep etmek için kullanılır.
  • Belirli bir belge için durum alın: Bir işte belirli bir belgenin durumunu id ve documentId sorgu parametreleriyle istenişle belirtildiği şekilde döndürür.
  • Çeviriyi iptal et: Şu anda işlenmekte olan veya kuyruk altında olan (bekleyen) bir çeviri işini iptal eder. İşlem zaten tamamlandıysa, başarısız olduysa veya yine de iptal edildiyse iptal edilmez.
  • Desteklenen formatları alın: Belge Çevirisi özelliğiyle desteklenen belge veya sözlük formatlarının listesini döndürür.

Önemli bağlantılar:

Başlangıç Yapmak

Şu anda desteklenen ortamlar

Daha fazla bilgi için bkz. destek ilkesi.

Prerequisites

@azure/ai-translation-document paketini yükleme

JavaScript için Azure Document Translation client library install with npm:

npm install @azure/ai-translation-document

Setup up Azure Blob Depolama account

Batch çevirisi için Azure Blob Depolama hesabı gereklidir. Azure Blob Depolama hesabı oluşturma hakkında daha fazla bilgi için buraya bakınız. Kaynak ve hedef dosyalarınız için konteyner oluşturmak için buraya bakınız. Çeviri kaynak depolama erişiminizi yetkilendirmeyi unutmayın, daha fazla bilgi burada.

Depolama hesabında "Depolama Hesabı Anahtarına Erişime İzin Ver" devre dışı bırakıldığında, Translator kaynağında Yönetilen Kimlik etkinleştirilir ve depolama hesabında "Depolama Blob Veri Katkıçısı" rolü atanır, böylece konteyner URL'lerini doğrudan kullanabilir ve SAS URI'leri oluşturulmasına gerek kalmaz.

İstemcinin kimliğini doğrulama

Bu kütüphane iki istemciyi açıklar:

  • DocumentTranslationClient toplu çeviri ve çeviri durumu işlemleri için.
  • SingleDocumentTranslationClient eşzamanlı tek belge çevirisi için.

Her iki istemci de Microsoft Entra credential veya API anahtarı ile kimlik doğrulaması yapabilir.

Microsoft Entra kimlik doğrulama belgesi kullanımı

@azure/identity kütüphanesinden bir kimlik bilgileriyle Microsoft Entra ID ile kimlik doğrulaması yapabilirsiniz. Aşağıda gösterilen DefaultAzureCredential sağlayıcısını veya Azure SDK ile sağlanan diğer kimlik bilgisi sağlayıcılarını kullanmak için lütfen @azure/identity paketini yükleyin:

npm install @azure/identity

Ayrıca yeni bir Microsoft Entra uygulaması kaydetmeniz ve hizmet sorumlusunuza uygun bir rol atayarak Translator kaynağına erişim izni vermeniz gerekecektir.

Node.js ve Node benzeri ortamlar kullanılarak, sınıfı istemciyi doğrulamak için kullanabilirsiniz DefaultAzureCredential :

import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());

Tarayıcı ortamları için, paketten @azure/identity adresini InteractiveBrowserCredential kullanarak kimlik doğrulama yapabilirsiniz:

import { InteractiveBrowserCredential } from "@azure/identity";
import { DocumentTranslationClient } from "@azure/ai-translation-document";

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

API anahtarı kullanımı

Ayrıca kaynağın API anahtarı ile şu KeyCredentialadresi kullanarak kimlik doğrulaması yapabilirsiniz:

import { KeyCredential } from "@azure/core-auth";
import { DocumentTranslationClient } from "@azure/ai-translation-document";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const credential: KeyCredential = { key: "YOUR_SUBSCRIPTION_KEY" };
const client = new DocumentTranslationClient(endpoint, credential);

JavaScript Paketi

Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfen paketleme belgelerimize bakın.

Temel kavramlar

DocumentTranslationClient

DocumentTranslationClient asenkron toplu çeviri ve çeviri ile belge durumu sorgulamaları için arayüzdür. Toplu çeviri için kaynak ve çevrilmiş belgeler için konteynerler içeren Azure Blob Depolama hesabı gereklidir.

SingleDocumentTranslationClient

SingleDocumentTranslationClient eşzamanlı tek belge çevirisi için arayüzdür. Azure Blob Depolama hesabı gerektirmez; çevrilmiş belge doğrudan yanıtta döner.

Examples

Aşağıdaki bölüm, bu istemci kütüphanesinin ana özelliklerini kapsayan birkaç kod parçası sunmaktadır.

Zaman uyumlu belge çevirisi

Tek bir belgeyi eş zamanlı çevirmek için kullanılır. yöntemi bir Azure Blob depolama hesabı gerektirmez.

import { SingleDocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";
import { writeFile } from "node:fs/promises";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new SingleDocumentTranslationClient(endpoint, new DefaultAzureCredential());
const response = await client.translate("hi", {
  document: {
    contents: "This is a test.",
    contentType: "text/html",
    filename: "test-input.txt",
  },
});
if (response.readableStreamBody) {
  await writeFile("test-output.txt", response.readableStreamBody);
}

Toplu belge çevirisi

Asenkron toplu çeviri isteğini çalıştırmak için kullanılır. yöntemi, kaynağınız ve çevrilmiş belgeleriniz için depolama kapsayıcılarına sahip bir Azure Blob depolama hesabı gerektirir. Kaynak ve hedef konteyner URL'lerini (gerekirse SAS tokenları ile) sağlayın ve işlem tamamlanana kadar anket yapın.

import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());
const poller = client.startTranslation({
  inputs: [
    {
      source: { sourceUrl: "<source container SAS URL>" },
      targets: [{ targetUrl: "<target container SAS URL>", language: "fr" }],
    },
  ],
});
const result = await poller.pollUntilDone();
console.log(`Translation status: ${result.status}`);

Desteklenen formatları alın

Belge Çeviri özelliğiyle desteklenen belge formatlarının listesini döndürür.

import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";

const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());
const formats = await client.getSupportedFormats("Document");
for (const format of formats.value) {
  console.log(format.format);
}

Sorun giderme

Logging

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, çalışma zamanında setLogLevel@azure/logger çağrılarak günlük tutma etkinleştirilebilir.

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

setLogLevel("info");

Günlükleri etkinleştirme hakkında daha ayrıntılı yönergeler için @azure/günlükçü paketi belgelerine bakabilirsiniz.

Katkıda Bulunmak

Bu kitaplığa katkıda bulunmak istiyorsanız kodu oluşturma ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzu okuyun.

  • JavaScript için Microsoft Azure SDK