Partilhar 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 na cloud fornecida pelo serviço Azure Translator. Utiliza tecnologia de tradução automática neural para fornecer traduções de texto em tempo real precisas, contextualmente relevantes e semanticamente precisas em todas as línguas suportadas.

A biblioteca cliente oferece várias funcionalidades chave:

  • Recuperar a lista de línguas suportadas para operações de tradução e transliteração, bem como modelos de LLM disponíveis para traduções.

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

  • Executar transliteração convertendo texto do alfabeto original para uma representação alternativa do alfabeto.

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

Por favor, confie muito em nossos documentos de cliente REST para usar esta biblioteca

Ligações principais:

Primeiros passos

Ambientes atualmente suportados

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

Pré-requisitos

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

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

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

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

Criar um recurso de serviço de Tradutor

Pode criar um recurso de tradutor após criar um recurso de tradução.

Suporte do navegador

Pacote JavaScript

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

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 . Vai precisar de uma chave API ou TokenCredential de instanciar um objeto cliente. Para mais informações sobre autenticação com serviços cognitivos, consulte Autenticar pedidos ao Serviço de Tradutor.

Obter uma chave de API

Pode obter o endpoint, API key e Region a partir do recurso de Serviços Cognitivos ou da informação de recursos do serviço Tradutor no Azure Portal.

Em alternativa, utilize o excerto do Azure CLI 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 um TextTranslationClient usando uma chave API e credencial de região

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

Com o valor do TranslatorCredential 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 secção seguinte fornece vários excertos de código usando os clientcriados acima e cobre as principais funcionalidades presentes nesta biblioteca cliente.

Obter idiomas suportados

Obtém o conjunto de idiomas atualmente suportados 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 conceptual sobre línguas.

Traduzir

Renderiza texto em um único idioma de origem para vários textos no idioma de destino com uma única 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 conceptual sobre o translate.

Transliterado

Converte caracteres ou letras de um idioma de origem para os 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 conceptual sobre transliterate.

Solução de problemas

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

Por exemplo, se submeter um pedido de tradução sem uma língua de tradução alvo, é devolvido um 400 erro, indicando "Pedido Mau".

Registo

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 tempo de execução chamando setLogLevel no @azure/logger:

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

setLogLevel("info");

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