다음을 통해 공유


Azure TextTranslation REST 클라이언트 라이브러리 for JavaScript - 버전 2.0.0-beta.1

Azure 텍스트 번역은 Azure Translator 서비스에서 제공하는 클라우드 기반 REST API입니다. 신경 기계 번역 기술을 활용하여 모든 지원 언어에 걸쳐 정확하고 맥락에 적합하며 의미적으로 정확한 실시간 텍스트 번역을 제공합니다.

클라이언트 라이브러리는 여러 핵심 기능을 제공합니다:

  • 번역 및 음역 작업에 지원되는 언어 목록과 번역에 사용 가능한 LLM 모델을 확인하세요.

  • 지정된 소스 언어에서 목표 언어로 결정론적 텍스트 번역을 수행하며, 정밀도를 보장하고 문맥적 무결성을 유지하기 위해 설정 가능한 매개변수를 적용합니다.

  • 원래 문자의 텍스트를 대체 문자 표현으로 변환하여 음역을 실행하세요.

  • LLM 모델을 사용해 톤 특화와 성별을 인식하는 번역 출력 변형을 생성하세요.

이 라이브러리를 사용하려면 REST 클라이언트 문서 많이

주요 링크:

시작하기

현재 지원되는 환경

  • LTS 버전의 Node.js
  • 최신 버전의 엣지, 크롬, 사파르, 파이어폭스

필수 조건

  • 기존의 번역기 서비스 또는 인지 서비스 자원.

@azure-rest/ai-translation-text 패키지 설치

JavaScript용 Azure Text Translation REST 클라이언트 라이브러리를 설치하세요 npm:

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

번역가 서비스 리소스 생성

번역가 리소스를 생성하면 됩니다.

브라우저 지원

JavaScript 번들

브라우저에서 이 클라이언트 라이브러리를 사용하려면 먼저 번들러를 사용해야 합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 번들링 설명서를 참조하세요.

클라이언트 인증

클라이언트 라이브러리를 이용한 서비스와의 상호작용은 TextTranslationClient 클래스의 인스턴스를 생성하는 것부터 시작합니다. 클라이언트 객체를 인스턴스화하려면 API 키TokenCredential 가 필요합니다. 인지 서비스로 인증하는 것에 관한 자세한 내용은 '번역기 서비스에 대한 인증 요청'을 참조하세요.

API 키 가져오기

인지 서비스 리소스 또는 번역기 서비스 리소스 정보를 Azure 포털에서 얻을 endpointAPI keyRegion 수 있습니다.

또는 아래 Azure CLI 스니펫을 사용해 Translator 서비스 리소스에서 API 키를 받으세요.

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

API 키와 지역 자격 증명을 사용해 생성 TextTranslationClient 하세요

API 키와 리전 TranslatorCredential값을 얻으면 .

의 값을 TranslatorCredential 사용하여 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);

예시

다음 섹션에서는 위에서 작성한 여러 client 코드 스니펫을 제공하며, 이 클라이언트 라이브러리에 포함된 주요 기능을 다룹니다.

지원되는 언어 가져오기

Translator의 다른 작업에서 현재 지원되는 언어 집합을 가져옵니다.

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

언어에 대한 개념적 논의는 서비스 문서를 참조해 주시기 바랍니다.

번역하기

단일 요청으로 단일 소스 언어 텍스트를 여러 대상 언어 텍스트에 렌더링합니다.

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

번역에 대한 개념적 논의는 서비스 문서를 참조해 주세요.

Transliterate

원본 언어의 문자 또는 문자를 대상 언어의 해당 문자 또는 문자로 변환합니다.

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

에 대한 개념적 논의는 서비스 문서를 참조하시기 바랍니다.

Troubleshooting

TextTranslator 클라이언트 라이브러리를 사용해 Translator Service와 상호작용할 때, Translator 서비스가 반환하는 오류는 REST API 요청에서 반환되는 동일한 HTTP 상태 코드와 일치합니다.

예를 들어, 대상 번역 언어 400 없이 번역 요청을 제출하면 "잘못된 요청"이라는 오류가 반환됩니다.

로깅 (로그 기록)

로깅을 사용하도록 설정하면 오류에 대한 유용한 정보를 파악하는 데 도움이 될 수 있습니다. HTTP 요청 및 응답 로그를 보려면 AZURE_LOG_LEVEL 환경 변수를 info설정합니다. 또는 setLogLevel@azure/logger 호출하여 런타임에 로깅을 사용하도록 설정할 수 있습니다.

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

setLogLevel("info");

로그를 사용하도록 설정하는 방법에 대한 자세한 지침은 @azure/로거 패키지 문서를 참조하세요.