Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Перевод документов — это облачная функция машинного перевода сервиса Переводчик Azure AI. Вы можете переводить множество сложных документов на все поддерживаемые языки и диалекты, сохраняя при этом оригинальную структуру и формат данных. API перевода документов поддерживает два процесса перевода:
Асинхронный пакетный перевод поддерживает обработку нескольких документов и больших файлов. Для процесса пакетного перевода требуется учетная запись Azure Blob Storage с контейнерами хранения для ваших исходных и переведенных документов.
Синхронный однофайлный перевод поддерживает обработку переводов одного файла. Процесс перевода файлов не требует учетной записи хранилища Azure Blob. Окончательный ответ содержит переведенный документ и возвращается непосредственно вызывающому клиенту.
Функция перевода документов поддерживает следующие операции:
- Синхронный перевод документов: используется для синхронного перевода одного документа. Для метода не требуется учетная запись хранилища BLOB-объектов Azure.
- Start batch translation: используется для выполнения асинхронного пакетного запроса на перевод. Для этого метода требуется учетная запись хранения BLOB-объектов Azure с контейнерами хранения для исходных и переведенных документов.
- Получение статуса для всех переводческих заданий: используется для запроса списка и статуса всех переводческих заданий, отправленных пользователем (связанных с ресурсом).
- Получите статус для конкретной работы переводчика: используется для запроса статуса конкретной работы переводчика. Ответ включает общее состояние задания и состояние документов, которые переводятся в рамках этого задания.
- Получение статуса для всех документов: используется для запроса статуса всех документов на работе переводчика.
- Получить статус для конкретного документа: Возвращает статус конкретного документа в задании, указанный в запросе параметрами запроса id и documentId.
- Отмена перевода: Отмена задания перевода, которая сейчас обрабатывается или поставлена в очередь (ожидается). Операция не отменяется, если она уже завершена, не выполнена или по-прежнему отменена.
- Получите поддерживаемые форматы: Возвращает список форматов документов или глоссариев, поддерживаемых функцией перевода документов.
Ключевые ссылки:
Начало работы
Поддерживаемые в настоящее время среды
- Node.js LTS версии
- Последние версии Safari, Chrome, Edge и Firefox.
Чтобы получить дополнительные сведения, ознакомьтесь с нашей политикой поддержки.
Prerequisites
- Подписка Azure.
- Существующий ресурс Translator service или Azure AI services. См. Создать ресурс для переводчика.
Установите пакет @azure/ai-translation-document.
Установите клиентскую библиотеку Azure Document Translation для JavaScript с помощью npm:
npm install @azure/ai-translation-document
Set up Хранилище BLOB-объектов Azure account
Для пакетного перевода требуется учетная запись Хранилище BLOB-объектов Azure. Для получения дополнительной информации о создании аккаунта Хранилище BLOB-объектов Azure смотрите здесь. Для создания контейнеров для исходных и целевых файлов см . здесь. Обязательно авторизуйте доступ к хранилищу ресурсов перевода, подробности здесь.
Когда «Разрешить доступ к ключу для хранилища» отключен на аккаунте хранения, на ресурсе переводчика активируется управляемая идентичность, и на аккаунте хранения назначается роль «Вкладчик данных блока хранилища», тогда можно использовать URL контейнера напрямую, и не потребуется генерировать SAS URI.
аутентификация клиента;
Эта библиотека предоставляет два клиента:
-
DocumentTranslationClientдля пакетного перевода и операций с статусом перевода. -
SingleDocumentTranslationClientдля синхронного перевода одного документа.
Оба клиента могут аутентифицироваться с помощью учетных данных Microsoft Entra или API-ключа.
Использование учетной записи Microsoft Entra
Вы можете пройти аутентификацию с помощью Microsoft Entra ID, используя учетные данные из библиотеки @azure/identity. Чтобы использовать поставщик
npm install @azure/identity
Вам также потребуется зарегистрировать новое приложение Microsoft Entra и предоставить доступ к ресурсу переводчика, назначив соответствующую роль вашему руководителю сервиса.
Используя Node.js и Node-подобные среды, вы можете использовать класс DefaultAzureCredential для аутентификации клиента:
import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";
const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());
Для среды браузера используйте InteractiveBrowserCredential from @azure/identity the package для аутентификации:
import { InteractiveBrowserCredential } from "@azure/identity";
import { DocumentTranslationClient } from "@azure/ai-translation-document";
const credential = new InteractiveBrowserCredential({
tenantId: "<YOUR_TENANT_ID>",
clientId: "<YOUR_CLIENT_ID>",
});
const client = new DocumentTranslationClient("<endpoint>", credential);
Использование ключа API
Вы также можете аутентифицироваться с помощью API-ключа ресурса с помощью KeyCredential:
import { KeyCredential } from "@azure/core-auth";
import { DocumentTranslationClient } from "@azure/ai-translation-document";
const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const credential: KeyCredential = { key: "YOUR_SUBSCRIPTION_KEY" };
const client = new DocumentTranslationClient(endpoint, credential);
Пакет JavaScript
Чтобы использовать эту клиентную библиотеку в браузере, сначала необходимо использовать пакет. Дополнительные сведения о том, как это сделать, см. в нашей документации по .
Ключевые понятия
ClientTranslationDocumentClient
DocumentTranslationClient является интерфейсом для асинхронного пакетного перевода и для запросов перевода и статуса документа. Пакетный перевод требует аккаунта Хранилище BLOB-объектов Azure с контейнерами для исходных и переведённых документов.
SingleDocumentTranslationClient
SingleDocumentTranslationClient является интерфейсом для синхронного перевода одного документа. Не требуется учетная запись Хранилище BLOB-объектов Azure; переведённый документ возвращается напрямую в ответе.
Примеры
Следующий раздел содержит несколько фрагментов кода, охватывающих основные функции этой клиентской библиотеки.
Синхронный перевод документов
Используется для синхронного перевода одного документа. Для метода не требуется учетная запись хранилища BLOB-объектов Azure.
import { SingleDocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";
import { writeFile } from "node:fs/promises";
const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new SingleDocumentTranslationClient(endpoint, new DefaultAzureCredential());
const response = await client.translate("hi", {
document: {
contents: "This is a test.",
contentType: "text/html",
filename: "test-input.txt",
},
});
if (response.readableStreamBody) {
await writeFile("test-output.txt", response.readableStreamBody);
}
Пакетный перевод документов
Используется для выполнения асинхронного пакетного запроса перевода. Для этого метода требуется учетная запись хранения BLOB-объектов Azure с контейнерами хранения для исходных и переведенных документов. Указывайте исходный и целевой контейнеры URL (при необходимости с токенами SAS) и проводите опрос до завершения операции.
import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";
const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());
const poller = client.startTranslation({
inputs: [
{
source: { sourceUrl: "<source container SAS URL>" },
targets: [{ targetUrl: "<target container SAS URL>", language: "fr" }],
},
],
});
const result = await poller.pollUntilDone();
console.log(`Translation status: ${result.status}`);
Получите поддерживаемые форматы
Возвращает список форматов документов, поддерживаемых функцией перевода документов.
import { DocumentTranslationClient } from "@azure/ai-translation-document";
import { DefaultAzureCredential } from "@azure/identity";
const endpoint = "https://<translator-instance>.cognitiveservices.azure.com";
const client = new DocumentTranslationClient(endpoint, new DefaultAzureCredential());
const formats = await client.getSupportedFormats("Document");
for (const format of formats.value) {
console.log(format.format);
}
Troubleshooting
Лесозаготовка
Включение ведения журнала может помочь выявить полезные сведения о сбоях. Чтобы просмотреть журнал HTTP-запросов и ответов, задайте для переменной среды AZURE_LOG_LEVEL значение info. В альтернативном порядке, логирование можно включить во время выполнения, вызвав setLogLevel в @azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Дополнительные инструкции по включению журналов см. в документации по пакету @azure/loger.
Вклад
Если вы хотите внести свой вклад в эту библиотеку, ознакомьтесь с руководством по вкладу, чтобы узнать больше о том, как создавать и тестировать код.
Связанные проекты
Azure SDK for JavaScript