Freigeben über


Azure TextTranslation REST Client Library für JavaScript - Version 2.0.0-beta.1

Azure-Textübersetzung ist eine cloudbasierte REST-API, die vom Azure Translator-Dienst bereitgestellt wird. Es nutzt neuronale maschinelle Übersetzungstechnologie, um präzise, kontextuell relevante und semantisch genaue Echtzeit-Textübersetzungen in allen unterstützten Sprachen bereitzustellen.

Die Client-Bibliothek bietet mehrere zentrale Funktionalitäten:

  • Rufen Sie die Liste der für Übersetzungen und Transliteration unterstützten Sprachen sowie LLM-Modelle ab, die für Übersetzungen verfügbar sind.

  • Führen Sie deterministische Textübersetzung von einer bestimmten Quellsprache in eine Zielsprache durch, mit konfigurierbaren Parametern, um Präzision zu gewährleisten und die kontextuelle Integrität zu gewährleisten.

  • Transliteration wird durchgeführt, indem Text vom Originalskript in eine alternative Skriptdarstellung umgewandelt wird.

  • Verwenden Sie LLM-Modelle, um Translationsausgaben zu erzeugen, die tonspezifisch und geschlechtsbewusst sind.

Verlassen Sie sich auf unsere REST-Clientdokumente, um diese Bibliothek

Wichtige Links:

Erste Schritte

Derzeit unterstützte Umgebungen

  • LTS-Versionen von Node.js
  • Neueste Versionen von Edge, Chrome, Safar und Firefox

Voraussetzungen

  • Ein bestehender Übersetzerdienst oder eine Ressource für kognitive Dienste.

Installieren Sie das @azure-rest/ai-translation-text-Paket

Installiere die Azure Text Translation REST-Clientbibliothek für JavaScript mit npm:

npm install @azure-rest/ai-translation-text

Erstellen Sie eine Übersetzer-Ressource

Du kannst eine Übersetzer-Ressource erstellen, nachdem du eine Übersetzer-Ressource erstellt hast.

Browserunterstützung

JavaScript-Bündel

Um diese Clientbibliothek im Browser zu verwenden, müssen Sie zuerst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.

Authentifizieren des Clients

Die Interaktion mit dem Service über die Client-Bibliothek beginnt mit der Erstellung einer Instanz der TextTranslationClient-Klasse . Du brauchst einen API-Schlüssel oder TokenCredential um ein Client-Objekt zu instanziieren. Weitere Informationen zur Authentifizierung mit kognitiven Diensten finden Sie unter Authentifizieren von Anfragen an den Übersetzer-Service.

Einen API-Schlüssel erhalten

Sie können die endpoint, API key und Region aus der Ressource Cognitive Services oder Translator Service im Azure Portal erhalten.

Alternativ kannst du den untenstehenden Azure-CLI-Ausschnitt verwenden, um den API-Schlüssel aus der Übersetzer-Service-Ressource zu erhalten.

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

Erstellen Sie eine TextTranslationClient mit einem API-Schlüssel und einer Regionszugangsdaten

Sobald du den Wert für den API-Schlüssel und die Region hast, erstelle ein TranslatorCredential.

Mit dem Wert der TranslatorCredential können Sie den TextTranslationClient erstellen:

import TextTranslationClient, { TranslatorCredential } from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

Examples

Der folgende Abschnitt enthält mehrere Codeschnipsel mit den oben erstelltenclient und behandelt die Hauptfunktionen dieser Client-Bibliothek.

Unterstützte Sprachen abrufen

Ruft den Satz von Sprachen ab, die derzeit von anderen Vorgängen des Übersetzers unterstützt werden.

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const langResponse = await translationClient.path("/languages").get();

if (isUnexpected(langResponse)) {
  throw langResponse.body.error;
}

const languages = langResponse.body;

if (languages.translation) {
  console.log("Translated languages:");
  for (const [key, translationLanguage] of Object.entries(languages.translation)) {
    console.log(`${key} -- name: ${translationLanguage.name} (${translationLanguage.nativeName})`);
  }
}

if (languages.transliteration) {
  console.log("Transliteration languages:");
  for (const [key, transliterationLanguage] of Object.entries(languages.transliteration)) {
    console.log(
      `${key} -- name: ${transliterationLanguage.name} (${transliterationLanguage.nativeName})`,
    );
  }
}

if (languages.models) {
  console.log("Available LLM Models:");
  for (const model in languages.models) {
    console.log(model);
  }
}

Bitte beachten Sie die Servicedokumentation für eine konzeptionelle Diskussion der Sprachen.

Translate

Rendert Text in einer Quellsprache in mehreren Zielsprachentexten mit einer einzigen Anforderung.

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const input = {
  text: "This is a test.",
  targets: [{ language: "cs" }],
  language: "en",
};
const translateResponse = await translationClient.path("/translate").post({
  body: { inputs: [input] },
});

if (isUnexpected(translateResponse)) {
  throw translateResponse.body.error;
}

const translations = translateResponse.body.value;
for (const translation of translations) {
  console.log(
    `Text was translated to: '${translation?.translations[0]?.language}' and the result is: '${translation?.translations[0]?.text}'.`,
  );
}

Bitte beachten Sie die Servicedokumentation für eine konzeptionelle Diskussion von Übersetzen.

Transliterate

Konvertiert Zeichen oder Buchstaben einer Quellsprache in die entsprechenden Zeichen oder Buchstaben einer Zielsprache.

import TextTranslationClient, {
  TranslatorCredential,
  isUnexpected,
} from "@azure-rest/ai-translation-text";

const endpoint = "https://api.cognitive.microsofttranslator.com";
const key = "YOUR_SUBSCRIPTION_KEY";
const region = "westus";
const credential: TranslatorCredential = {
  key,
  region,
};
const translationClient = TextTranslationClient(endpoint, credential);

const inputText = [{ text: "这是个测试。" }];
const parameters = {
  language: "zh-Hans",
  fromScript: "Hans",
  toScript: "Latn",
};
const transliterateResponse = await translationClient.path("/transliterate").post({
  body: { inputs: inputText },
  queryParameters: parameters,
});

if (isUnexpected(transliterateResponse)) {
  throw transliterateResponse.body.error;
}

const transliterations = transliterateResponse.body.value;
for (const transliteration of transliterations) {
  console.log(
    `Input text was transliterated to '${transliteration?.script}' script. Transliterated text: '${transliteration?.text}'.`,
  );
}

Bitte beachten Sie die Servicedokumentation für eine konzeptionelle Diskussion über Transliterate.

Problembehandlung

Wenn Sie mit dem Übersetzer-Dienst über die TextTranslator-Client-Bibliothek interagieren, entsprechen die vom Übersetzer-Dienst zurückgegebenen Fehler denselben HTTP-Statuscodes wie bei REST-API-Anfragen.

Wenn Sie beispielsweise eine Übersetzungsanfrage ohne Zielsprache einreichen, wird ein 400 Fehler zurückgegeben, der auf "Bad Request" hinweist.

Protokollierung

Das Aktivieren der Protokollierung kann hilfreiche Informationen zu Fehlern aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die AZURE_LOG_LEVEL Umgebungsvariable auf infofest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel im @azure/loggeraktiviert werden:

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

setLogLevel("info");

Ausführlichere Anweisungen zum Aktivieren von Protokollen finden Sie in den @azure/Logger-Paketdokumenten.