Azure Document Translation klientská knihovna pro JavaScript - verze 1.0.0

Překlad dokumentů je cloudová funkce strojového překladu služby Azure AI Překladač. Můžete překládat více a složitých dokumentů do všech podporovaných jazyků a dialektů a zároveň zachovat původní strukturu dokumentu a datový formát. Rozhraní API pro překlad dokumentů podporuje dva procesy překladu:

Asynchronní dávkové překlady podporují zpracování více dokumentů a velkých souborů. Proces dávkového překladu vyžaduje účet služby Azure Blob Storage s kontejnery úložiště pro vaše zdrojové a přeložené dokumenty.

Synchronní překlad jednoho souboru podporuje zpracování překladů jednotlivých souborů. Proces překladu souborů nevyžaduje účet služby Azure Blob Storage. Konečná odpověď obsahuje přeložený dokument a vrátí se přímo volajícímu klientovi.

Funkce Translation dokumentů podporuje následující operace:

  • Synchronní překlad dokumentů: Používá se k synchronnímu překladu jednoho dokumentu. Tato metoda nevyžaduje účet služby Azure Blob Storage.
  • Spustit dávkový překlad: Používá se k vykonání asynchronního dávkového překladového požadavku. Tato metoda vyžaduje účet služby Azure Blob Storage s kontejnery úložiště pro vaše zdrojové a přeložené dokumenty.
  • Získejte stav pro všechny překladatelské práce: Používá se k žádosti o seznam a stav všech překladatelských pracovních pozic zaslaných uživatelem (spojených se zdrojem).
  • Získejte status pro konkrétní překladatelskou práci: Používá se k žádosti o status konkrétní překladatelské práce. Odpověď zahrnuje celkový stav úlohy a stav dokumentů, které se překládají jako součást této úlohy.
  • Získejte status všech dokumentů: Používá se k žádosti o stav všech dokumentů v překladatelské práci.
  • Získat status pro konkrétní dokument: Vrátí stav konkrétního dokumentu v práci, jak je uvedeno v požadavku pomocí parametrů dotazu id a documentId.
  • Zrušit překlad: Zrušit překladatelskou úlohu, která je právě zpracovávána nebo ve frontě (čeká na to). Operace se nezruší, pokud už je dokončená, selhala nebo stále probíhá.
  • Získejte podporované formáty: Zobrazí seznam formátů dokumentů nebo slovníků podporovaných funkcí Překlad dokumentů.

Klíčové odkazy:

Začínáme

Aktuálně podporovaná prostředí

Další podrobnosti najdete v zásadách podpory.

Předpoklady

Nainstalujte balíček @azure/ai-translation-document.

Nainstalujte klientskou knihovnu Azure Document Translation pro JavaScript s:npm

npm install @azure/ai-translation-document

Set up Azure Blob Storage account

Dávkový překlad vyžaduje účet Azure Blob Storage. Pro více informací o vytvoření účtu Azure Blob Storage viz zde. Pro vytváření kontejnerů pro zdrojové a cílové soubory viz zde. Ujistěte se, že máte přístup k úložišti překladatelských zdrojů, více informací zde.

Když je na úložném účtu zakázáno "Povolit přístup ke klíči k storage účtu", je na překladatelském zdroji povolena spravovaná identita a na úložném účtu je přiřazena role "Storage Blob Data Contributor", pak můžete přímo použít URL kontejnerů a není potřeba generovat žádné SAS URI.

Ověření klienta

Tato knihovna nabízí dva klienty:

  • DocumentTranslationClient pro hromadné překlady a operace s překladovým stavem.
  • SingleDocumentTranslationClient pro synchronní překlad jednoho dokumentu.

Oba klienti se mohou autentizovat pomocí přihlašovacího data Microsoft Entra nebo API klíče.

Použití přihlašovacího čísla Microsoft Entra

Můžete se autentizovat pomocí Microsoft Entra ID pomocí přihlašovacích údajů z knihovny @azure/identity. Pokud chcete použít poskytovatele DefaultAzureCredential zobrazené níže nebo jiné zprostředkovatele přihlašovacích údajů poskytnuté sadou Azure SDK, nainstalujte balíček @azure/identity:

npm install @azure/identity

Budete také muset zaregistrovat novou aplikaci Microsoft Entra a udělit přístup k zdroji Translator přiřazením vhodné role vašemu zmocňovateli služby.

Pomocí prostředí podobných Node.js a Node můžete použít tuto třídu DefaultAzureCredential k autentizaci klienta:

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

Pro prohlížečová prostředí použijte From the @azure/identity Package k InteractiveBrowserCredential autentizaci:

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

Použití API klíče

Můžete se také autentizovat pomocí API klíče zdroje pomocí KeyCredential:

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

JavaScriptový balíček

Pokud chcete tuto klientskou knihovnu použít v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci sdružování.

Klíčové koncepty

DocumentTranslationClient

DocumentTranslationClient je rozhraní pro asynchronní dávkový překlad a pro dotazování překladů a stavu dokumentů. Dávkový překlad vyžaduje účet Azure Blob Storage s kontejnery pro zdrojové a přeložené dokumenty.

SingleDocumentTranslationClient

SingleDocumentTranslationClient je rozhraní pro synchronní překlad jednoho dokumentu. Nevyžaduje účet Azure Blob Storage; přeložený dokument se vrací přímo v odpovědi.

Examples

Následující sekce obsahuje několik úryvků kódu pokrývajících hlavní funkce této klientské knihovny.

Synchronní překlad dokumentů

Používal se synchronně k překladu jednoho dokumentu. Tato metoda nevyžaduje účet služby Azure Blob Storage.

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

Hromadný překlad dokumentů

Používá se k provádění asynchronního dávkového překladového požadavku. Tato metoda vyžaduje účet služby Azure Blob Storage s kontejnery úložiště pro vaše zdrojové a přeložené dokumenty. Zadejte zdrojovou a cílovou URL adresu kontejneru (s SAS tokeny, pokud je potřeba) a dotazujte se, dokud operace nebude dokončena.

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

Získejte podporované formáty

Vrací seznam formátů dokumentů podporovaných funkcí Překlad dokumentů.

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

Troubleshooting

Logování

Povolení protokolování může pomoct odhalit užitečné informace o chybách. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou prostředí AZURE_LOG_LEVEL na info. Případně můžete protokolování povolit za běhu voláním setLogLevel v @azure/logger:

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

setLogLevel("info");

Podrobnější pokyny k povolení protokolů najdete v dokumentaci k @azure/protokolovacímu balíčku.

Přispění

Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání a přečtěte si další informace o vytváření a testování kódu.