Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Перевод текста Azure — это облачный REST API, предоставляемый сервисом Azure Translator. Он использует технологию нейронного машинного перевода для обеспечения точных, контекстно релевантных и семантически точных переводов текста в реальном времени во всех поддерживаемых языках.
Клиентская библиотека предлагает несколько ключевых функций:
Получите список языков, поддерживаемых для операций перевода и транслитерации, а также модели LLM, доступные для переводов.
Выполнить детерминированный перевод текста с указанного исходного языка на целевой язык с настраиваемыми параметрами для обеспечения точности и сохранения контекстной целостности.
Выполните транслитерацию, преобразуя текст из исходного сценария в альтернативное представление сценария.
Используйте модели LLM для создания вариантов перевода, специфичных для тона и гендера.
Ключевые ссылки:
Начало работы
Поддерживаемые в настоящее время среды
- Версии LTS Node.js
- Последние версии Edge, Chrome, Safar и Firefox
Предпосылки
- Существующий сервис переводчика или ресурс когнитивных служб.
Установите пакет @azure-rest/ai-translation-text.
Установите клиентскую библиотеку Azure Text Translation REST для JavaScript с помощью npm:
npm install @azure-rest/ai-translation-text
Создать ресурс сервиса Translator
Вы можете создать ресурс для переводчика после создания ресурса для переводчика.
Поддержка веб-браузеров
Пакет JavaScript
Чтобы использовать эту клиентную библиотеку в браузере, сначала необходимо использовать пакет. Дополнительные сведения о том, как это сделать, см. в нашей документации по .
аутентификация клиента;
Взаимодействие с сервисом через клиентскую библиотеку начинается с создания экземпляра класса TextTranslationClient . Вам понадобится ключ API или TokenCredential для создания клиентского объекта. Для получения дополнительной информации об аутентификации с помощью когнитивных сервисов см. раздел «Запросы аутентификации в службу переводчика».
Получение ключа API
Вы можете получить endpoint, API key и Region из ресурса Cognitive Services или Translator Service в Azure Portal.
В качестве альтернативы используйте фрагмент Azure CLI ниже, чтобы получить API-ключ из ресурса сервиса Translator.
az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>
Создайте TextTranslationClient с помощью ключа API и учетной данных региона
Когда у вас есть значение для ключа 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вышеуказанного и рассматриваются основные функции, присутствующие в этой клиентской библиотеке.
Получение поддерживаемых языков
Получает набор языков, поддерживаемых в настоящее время другими операциями переводчика.
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);
}
}
Пожалуйста, обратитесь к документации сервиса для концептуального обсуждения языков.
Translate
Перевод текста с одного исходного языка на несколько целевых языков по одному запросу.
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}'.`,
);
}
Пожалуйста, обратитесь к сервисной документации для концептуального обсуждения транслитература.
Устранение неполадок
Когда вы взаимодействуете с сервисом Translator через клиентскую библиотеку TextTranslator, ошибки, возвращаемые сервисом Translator, соответствуют тем же HTTP-кодам статуса, что и для запросов REST API.
Например, если вы подаёте запрос на перевод без целевой языка перевода, 400 возвращается ошибка, указывающая на «Плохой запрос».
Logging
Включение ведения журнала может помочь выявить полезные сведения о сбоях. Чтобы просмотреть журнал HTTP-запросов и ответов, задайте для переменной среды AZURE_LOG_LEVEL значение info. В альтернативном порядке, логирование можно включить во время выполнения, вызвав setLogLevel в @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Дополнительные инструкции по включению журналов см. в документации по пакету @azure/loger.
Azure SDK for JavaScript