Compartilhar via


Azure TextTranslation biblioteca cliente REST para JavaScript - versão 2.0.0-beta.1

A tradução de texto Azure é uma API REST baseada em nuvem fornecida pelo serviço Azure Translator. Ele utiliza tecnologia de tradução automática neural para entregar traduções de texto em tempo real precisas, contextualmente relevantes e semanticamente precisas em todos os idiomas suportados.

A biblioteca cliente oferece várias funcionalidades chave:

  • Recupere a lista de idiomas suportados para operações de tradução e transliteração, bem como modelos de LLM disponíveis para traduções.

  • Realize tradução determinística de texto de uma língua-fonte especificada para uma língua de destino, com parâmetros configuráveis para garantir precisão e manter a integridade contextual.

  • Execute transliteração convertendo texto do script original para uma representação alternativa do script.

  • Use modelos de LLM para produzir variantes de tradução que sejam específicas de tom e conscientes de gênero.

Confie fortemente em nossos documentos de cliente REST para usar essa biblioteca

Links principais:

Como começar

Ambientes com suporte no momento

  • Versões lts de Node.js
  • Últimas versões do Edge, Chrome, Safar e Firefox

Pré-requisitos

  • Um serviço de tradução existente ou um recurso de Serviços Cognitivos.

Instalar o pacote @azure-rest/ai-translation-text

Instale a biblioteca cliente REST do Azure Text Translation para JavaScript com npm:

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

Criar um recurso de serviço tradutor

Você pode criar um recurso tradutor após criar um recurso tradutor.

Suporte ao navegador

Pacote JavaScript

Para usar essa biblioteca de clientes no navegador, primeiro você precisa usar um empacotador. Para obter detalhes sobre como fazer isso, consulte nossa documentação de agrupamento .

Autenticar o cliente

A interação com o serviço usando a biblioteca cliente começa com a criação de uma instância da classe TextTranslationClient . Você vai precisar de uma chave de API ou TokenCredential de instanciar um objeto cliente. Para mais informações sobre autenticação com serviços cognitivos, veja Autenticar solicitações para o Serviço de Tradutor.

Obter uma chave de API

Você pode obter o endpoint, API key e Region a partir do recurso de Serviços Cognitivos ou das informações de recursos do serviço Tradutor no Azure Portal.

Alternativamente, use o trecho da CLI do Azure abaixo para obter a chave API do recurso do serviço Tradutor.

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

Crie usando TextTranslationClient uma chave API e credencial de região

Depois de obter o valor da chave API e da Região, crie um TranslatorCredentialarquivo de .

Com o valor do TranslatorCredential você pode criar o TextTranslationClient:

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

Exemplos

A seção seguinte fornece vários trechos de código usando os clientcriados acima e cobre as principais funcionalidades presentes nesta biblioteca cliente.

Obter idiomas com suporte

Obtém o conjunto de idiomas atualmente com suporte por outras operações do Tradutor.

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

Por favor, consulte a documentação do serviço para uma discussão conceitual sobre línguas.

Translate

Renderiza um texto de idioma de origem para vários textos de idioma de destino com apenas uma solicitação.

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

Por favor, consulte a documentação do serviço para uma discussão conceitual sobre o traduzir.

Transliteração

Converte caracteres ou letras de um idioma de origem nos caracteres ou letras correspondentes de um idioma de destino.

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

Por favor, consulte a documentação do serviço para uma discussão conceitual sobre transliterate.

Resolução de problemas

Quando você interage com o Serviço Tradutor usando a biblioteca cliente TextTranslator, erros retornados pelo serviço Tradutor correspondem aos mesmos códigos de status HTTP retornados para requisições de API REST.

Por exemplo, se você enviar uma solicitação de tradução sem um idioma de tradução alvo, um 400 erro é retornado, indicando "Solicitação Má".

Registro em log

Habilitar o registro em log pode ajudar a descobrir informações úteis sobre falhas. Para ver um log de solicitações e respostas HTTP, defina a variável de ambiente AZURE_LOG_LEVEL como info. Como alternativa, o registro em log pode ser habilitado em runtime chamando setLogLevel no @azure/logger:

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

setLogLevel("info");

Para obter instruções mais detalhadas sobre como habilitar logs, você pode examinar os documentos do pacote de @azure/agente.