Начало работы с асинхронным переводом документов

Перевод документов — это облачная функция службы azure AI Переводчик, которая асинхронно переводит целые документы на поддерживаемые языки и различные форматы файлов. В этом кратком руководстве вы узнаете, как использовать перевод документов с выбранным языком программирования для перевода исходного документа на целевой язык, сохраняя структуру и форматирование текста.

Необходимые компоненты

Внимание

  • Пакеты SDK для перевода документов Java и JavaScript в настоящее время доступны в общедоступной предварительной версии. Функции, подходы и процессы могут изменяться до выпуска общедоступной версии на основе отзывов пользователей.

  • Пакеты SDK для C# и Python — это выпуски общедоступной версии, готовые для использования в рабочих приложениях.

  • Перевод документов в настоящее время поддерживается только в ресурсе Переводчик (однослужба) и не входит в ресурс служб ИИ Azure (многослужб).

  • Перевод документов поддерживается только в плане обслуживания "Стандартный" S1 (с оплатой по мере использования) или в плане оптовых скидок D3. См. цены на службы ИИ Azure Переводчик.

Для начала работы необходимы перечисленные ниже компоненты и данные.

  • Активная учетная запись Azure. Если у вас нет учетной записи, вы можете создать бесплатную учетную запись.

  • Учетная запись хранения BLOB-объектов Azure. Кроме того, необходимо создать контейнеры в учетной записи Хранилище BLOB-объектов Azure для исходных и целевых файлов:

    • Контейнер исходных файлов. В этом контейнере вы отправляете файлы для перевода (обязательно).
    • Контейнер целевых файлов. В этом контейнере хранятся преобразованные файлы (обязательные).
  • Ресурс Переводчик одной службы (а не ресурс служб ИИ Azure с несколькими службами):

    Заполните поля сведений о проекте и экземпляре "Переводчик" указанным ниже образом.

    1. Подписка. Выберите одну из доступных подписок Azure.

    2. Группа ресурсов. Можно создать новую группу ресурсов или добавить ресурс в уже существующую группу, которая использует тот же жизненный цикл, разрешения и политики.

    3. Область ресурсов. Выберите Глобальный, если для вашего бизнеса или приложения не требуется конкретный регион. Если вы планируете использовать управляемое удостоверение, назначаемое системой, для проверки подлинности, выберите географический регион, например западная часть США.

    4. Имя. Введите имя, выбранное для ресурса. Выбранное вами имя должно быть уникальным в Azure.

      Примечание.

      Для перевода документов требуется конечная точка личного домена. Значение, которое вы введете в поле "Имя", будет параметром имени личного домена для вашей конечной точки.

    5. Ценовая категория. Перевод документов не поддерживается на уровне "Бесплатный". Выберите "Стандартный" S1, чтобы попробовать службу.

    6. Выберите Review + Create (Просмотреть и создать).

    7. Проверьте условия обслуживания и щелкните Создать, чтобы развернуть ресурс.

    8. После успешного развертывания ресурса выберите "Перейти к ресурсу".

Получение конечной точки перевода ключей и документов

Для запросов к службе Переводчик требуется ключ только для чтения и настраиваемая конечная точка для проверки подлинности доступа. Конечная точка личного домена — это URL-адрес, отформатированный с именем ресурса, именем узла и Переводчик подкаталогами и доступен в портал Azure.

  1. Если вы создали новый ресурс, после его развертывания нажмите кнопку "Перейти к ресурсу". Если у вас есть ресурс перевода документа, перейдите непосредственно на страницу ресурсов.

  2. На левой границе в разделе Управление ресурсами выберите Ключи и конечная точка.

  3. Вы можете скопировать и вставить keydocument translation endpoint примеры кода, чтобы пройти проверку подлинности запроса в службе перевода документов. Для вызова API необходим только один ключ.

    Screenshot showing the get your key field in Azure portal.

Создание контейнеров Хранилище BLOB-объектов Azure

Необходимо создать контейнеры в учетной записи Хранилище BLOB-объектов Azure для исходных и целевых файлов.

  • Контейнер исходных файлов. В этом контейнере вы отправляете файлы для перевода (обязательно).
  • Контейнер целевых файлов. В этом контейнере хранятся преобразованные файлы (обязательные).

Требуемая проверка подлинности

Параметры sourceUrl, targetUrl и необязательный glossaryUrl должны включать маркер подписанного URL-адреса (SAS), добавленный в виде строки запроса. Маркер может быть назначен контейнеру или конкретным BLOB-объектам. См. статьюСоздание маркеров SAS для обработки перевода документов.

  • Исходныйконтейнер или большой двоичный объект должны назначать доступ для чтения и списка.
  • Целевойконтейнер или большой двоичный объект должен назначать доступ к записи и списку.
  • Большой двоичный объект глоссария должен назначать доступ на чтение и список .

Совет

  • При переводе нескольких файлов (BLOB-объектов) в операции делегируйте доступ SAS на уровне контейнера.
  • При переводе одного файла (большого двоичного объекта) в операции делегируйте доступ SAS на уровне BLOB-объектов.
  • В качестве альтернативы маркерам SAS можно использовать назначаемое системой управляемое удостоверение для проверки подлинности.

Пример документа

Для этого проекта требуется исходный документ, отправленный в исходный контейнер. Для этого краткого руководства можно скачать пример документа для перевода документов . Исходный язык — английский.

Настройка среды C#/.NET

В этом кратком руководстве мы используем последнюю версию интегрированной среды разработки Visual Studio для создания и запуска приложения.

  1. Запустите среду Visual Studio.

  2. На странице "Начало работы" нажмите кнопку "Создать проект".

    Screenshot of Visual Studio 2022 get started window.

  3. На странице Создание проекта введите в поле поиска консоль. Выберите шаблон Консольное приложение, затем нажмите кнопку Далее.

    Screenshot of Visual Studio 2022 create new project page.

  4. В окне Настроить новый проект введите в поле "Имя проекта" значение document-translation-qs. Нажмите кнопку "Далее".

    Screenshot of Visual Studio 2022 configure new project set-up window.

  5. В диалоговом окне Дополнительные сведения выберите .NET 6.0 (долгосрочная поддержка) и щелкните Создать.

    Screenshot of Visual Studio 2022 additional information set-up window.

Установка Newtonsoft.Json

  1. Щелкните правой кнопкой мыши проект document-translation-qs и выберите " Управление пакетами NuGet... ".

    Screenshot of select NuGet package window in Visual Studio.

  2. Выберите вкладку "Обзор" и введите NewtonsoftJson.

    Screenshot of select prerelease NuGet package in Visual Studio.

  3. Выберите последнюю стабильную версию в раскрывающемся меню и установите пакет в проекте.

    Screenshot of install selected NuGet package window.

Перевод всех документов в контейнере хранилища

Примечание.

  • Начиная с .NET 6, в новых проектах, где используется шаблон console, создается новый стиль программы, отличный от предыдущих версий.
  • В новых выходных данных используются последние функции C#, упрощающие код, который необходимо написать.
  • При использовании более новой версии необходимо только написать текст метода Main. Вам не нужно включать инструкции верхнего уровня, глобальные директивы using или неявные директивы using.
  • Дополнительные сведения см. в статье Новые шаблоны C# для создания инструкций верхнего уровня.
  1. Откройте файл Program.cs.

  2. Удалите существующий код, включая строку Console.WriteLine("Hello World!").

  3. Скопируйте и вставьте пример кода перевода документов в файл Program.cs.

    • Обновление {your-document-translation-endpoint} и {your-key} использование значений из экземпляра портал Azure Переводчик.

    • Обновите {your-source-container-SAS-URL} и {your-target-container-SAS-URL} используя значения из экземпляра контейнеров учетных записей портал Azure служба хранилища.

Пример кода

Внимание

Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье "Безопасность служб искусственного интеллекта Azure".

using System.Text;

class Program
{
    private static readonly string endpoint = "{your-document-translator-endpoint}/translator/text/batch/v1.1";

    private static readonly string key = "{your-key}";

    static readonly string route = "/batches";
    static readonly string sourceURL = "\" {your-source-container-SAS-URL}\"";
    static readonly string targetURL = " \"{your-target-container-SAS-URL}\"";


    static readonly string json = ("{\"inputs\": [{\"source\": {\"sourceUrl\":"+sourceURL+" ,\"storageSource\": \"AzureBlob\",\"language\": \"en\"}, \"targets\": [{\"targetUrl\":"+targetURL+",\"storageSource\": \"AzureBlob\",\"category\": \"general\",\"language\": \"es\"}]}]}");

    static async Task Main(string[] args)
    {
        using HttpClient client = new HttpClient();
        using HttpRequestMessage request = new HttpRequestMessage();
        {

            StringContent content = new StringContent(json, Encoding.UTF8, "application/json");

            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Headers.Add("Ocp-Apim-Subscription-Key", key);
            request.Content = content;

            HttpResponseMessage response = await client.SendAsync(request);
            string result = response.Content.ReadAsStringAsync().Result;
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine($"Status code: {response.StatusCode}");
                Console.WriteLine();
                Console.WriteLine($"Response Headers:");
                Console.WriteLine(response.Headers);
            }
            else
                Console.Write("Error");

        }

    }

}

Запуск приложения

После добавления примера кода в приложение нажмите зеленую кнопку "Пуск " рядом с документом-переводом qs , чтобы создать и запустить программу, или нажмите клавишу F5.

Screenshot: run your Visual Studio program.

После успешного завершения:

  • Переведенные документы можно найти в целевом контейнере.
  • Успешный метод POST возвращает код ответа, указывающий 202 Accepted , что служба создала пакетный запрос.
  • Запрос POST также возвращает заголовки ответа, включая Operation-Location значение, используемое в последующих запросах GET.

Настройка среды Go

Для создания кода приложений Go можно использовать любой текстовый редактор. Рекомендуем использовать последнюю версию Visual Studio Code и расширение Go.

Совет

Если вы не работали с Go, ознакомьтесь с модулем Начало работы с Go в Microsoft Learn.

Если вы еще этого не сделали, скачайте и установите Go.

  1. Скачайте последнюю версию Go для своей операционной системы.

  2. Когда скачивание завершится, запустите установщик.

  3. Откройте командную строку и введите следующую команду, чтобы подтвердить установку Go:

    go version
    

Перевод всех документов в контейнере хранилища

  1. В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения с именем document-translation-qs и перейдите к нему.

  2. Создайте файл Go с именем document-translation.go в каталоге document-translation-qs .

  3. Скопируйте и вставьте пример кода перевода документов в файл document-translation.go.

    • Обновление {your-document-translation-endpoint} и {your-key} использование значений из экземпляра портал Azure Переводчик.

    • {your-source-container-SAS-URL} Обновите значения {your-target-container-SAS-URL} из экземпляра контейнеров учетных записей портал Azure служба хранилища.

Пример кода

Внимание

Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье "Безопасность служб искусственного интеллекта Azure".

package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "net/http"
)

func main() {

    httpposturl := "{your-document-translation-endpoint}/translator/text/batch/v1.1/batches"
    fmt.Println("Response", httpposturl)

    var jsonData = []byte(`{
        "inputs": [
            {
                "source": {
                    "sourceUrl": "{your-source-container-SAS-URL}"
                },
                "targets": [
                    {
                        "{your-target-container-SAS-URL}",
                        "language": "fr"
                    }
                ]
            }
        ]
    }`)

    request, error := http.NewRequest("POST", httpposturl, bytes.NewBuffer(jsonData))
    request.Header.Set("Content-Type", "application/json")
    request.Header.Set("Ocp-Apim-Subscription-Key", "{your-key}")

    client := &http.Client{}
    response, error := client.Do(request)
    if error != nil {
        panic(error)
    }
    defer response.Body.Close()

    fmt.Println("response Status:", response.Status)
    var printHeader = (response.Header)
    prettyJSON, _ := json.MarshalIndent(printHeader, "", "  ")
    fmt.Printf("%s\n", prettyJSON)
}

Запуск приложения Go

После добавления примера кода в приложение программу Go можно выполнить в командной строке или командной строке терминала. Убедитесь, что путь запроса установлен в папку document-translation-qs и используйте следующую команду:

go run document-translation.go

После успешного завершения:

  • Переведенные документы можно найти в целевом контейнере.
  • Успешный метод POST возвращает код ответа, указывающий 202 Accepted , что служба создала пакетный запрос.
  • Запрос POST также возвращает заголовки ответа, включая Operation-Location значение, используемое в последующих запросах GET.

Настройка среды Java

В этом кратком руководстве мы используем средство автоматизации сборки Gradle для создания и запуска приложения.

  • У вас должна быть установлена последняя версия Visual Studio Code или предпочтительная интегрированная среда разработки. См. разделJava в Visual Studio Code.

    Совет

    • Visual Studio Code предлагает Пакет кодировки для Java для Windows и macOS. Пакет кодировки — это набор VS Code, комплект SDK для Java (JDK) и набор рекомендуемых расширений Microsoft. Пакет кодировки можно также использовать для исправления существующей среды разработки.
    • Если вы используете VS Code и Пакет кодировки для Java, установите расширение Gradle для Java.
  • Если вы не используете Visual Studio Code, убедитесь, что в среде разработки установлено следующее:

Создание проекта Gradle

  1. В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения, называемого переводом документов, и перейдите к нему.

    mkdir document-translation && document-translation
    
    mkdir document-translation; cd document-translation
    
  2. gradle init Выполните команду из каталога перевода документов. Эта команда создает основные файлы сборки для Gradle, включая build.gradle.kts, который используется во время выполнения для создания и настройки приложения.

    gradle init --type basic
    
  3. Когда появится запрос на выбор предметно-ориентированного языка, выберите Kotlin.

  4. Примите имя проекта по умолчанию (перевод документа), выбрав "Возврат " или "Ввод".

    Примечание.

    Для создания всего приложения может потребоваться несколько минут, но вскоре вы увидите несколько папок и файлов, включая build-gradle.kts.

  5. Обновите build.gradle.kts, включив в него следующий код.

plugins {
  java
  application
}
application {
  mainClass.set("DocumentTranslation")
}
repositories {
  mavenCentral()
}
dependencies {
  implementation("com.squareup.okhttp3:okhttp:4.10.0")
  implementation("com.google.code.gson:gson:2.9.0")
}

Перевод всех документов в контейнере хранилища

  1. В каталоге перевода документов выполните следующую команду:

    mkdir -p src/main/java
    

    Команда создает следующую структуру каталогов:

    Screenshot: Java directory structure.

  2. Перейдите в каталог java и создайте файл с именем DocumentTranslation.java.

    Совет

    • Вы можете создать новый файл с помощью PowerShell.

    • Откройте окно PowerShell в каталоге проекта, удерживая клавишу Shift и нажав правой кнопкой мыши на папку.

    • Введите следующую команду New-Item DocumentTranslation.java.

    • Кроме того, вы можете создать новый файл в IDE с именем DocumentTranslation.java и сохранить его в каталоге java.

  3. Скопируйте и вставьте пример кода перевода документов в файл DocumentTranslation.java.

    • Обновление {your-document-translation-endpoint} и {your-key} использование значений из экземпляра портал Azure Переводчик.

    • {your-source-container-SAS-URL} Обновите значения {your-target-container-SAS-URL} из экземпляра контейнеров учетных записей портал Azure служба хранилища.

Пример кода

Внимание

Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье "Безопасность служб искусственного интеллекта Azure".

import java.io.*;
import java.net.*;
import java.util.*;
import okhttp3.*;

public class DocumentTranslation {
    String key = "{your-key}";

    String endpoint = "{your-document-translation-endpoint}/translator/text/batch/v1.1";

    String path = endpoint + "/batches";

    String sourceSASUrl = "{your-source-container-SAS-URL}";

    String targetSASUrl = "{your-target-container-SAS-URL}";

    String jsonInputString = (String.format("{\"inputs\":[{\"source\":{\"sourceUrl\":\"%s\"},\"targets\":[{\"targetUrl\":\"%s\",\"language\":\"fr\"}]}]}", sourceSASUrl, targetSASUrl));

    OkHttpClient client = new OkHttpClient();

    public void post() throws IOException {
        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType,  jsonInputString);
        Request request = new Request.Builder()
                .url(path).post(body)
                .addHeader("Ocp-Apim-Subscription-Key", key)
                .addHeader("Content-type", "application/json")
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.code());
        System.out.println(response.headers());
    }

  public static void main(String[] args) {
        try {
            DocumentTranslation sampleRequest = new DocumentTranslation();
            sampleRequest.post();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

Создание и тестирование приложения Java

  • После добавления примера кода в приложение вернитесь к главному каталогу проекта, переводу документов, откройте окно консоли и введите следующие команды:

    1. Выполните сборку приложения с помощью команды build:

      gradle build
      
    2. Запустите приложение с помощью команды run:

      gradle run
      

После успешного завершения:

  • Переведенные документы можно найти в целевом контейнере.
  • Успешный метод POST возвращает код ответа, указывающий 202 Accepted , что служба создала пакетный запрос.
  • Запрос POST также возвращает заголовки ответа, включая Operation-Location значение, используемое в последующих запросах GET.

Настройка среды Node.js

В этом кратком руководстве мы используем среду выполнения JavaScript Node.js для создания и запуска приложения.

  1. При необходимости установите последнюю версию Node.js. Диспетчер пакетов Node (npm) предоставляется в каждой установке Node.js.

    Совет

    Если вы не работали с Node.js, ознакомьтесь с модулем Введение в Node.js в Microsoft Learn.

  2. В окне консоли (например, cmd, PowerShell или Bash) создайте для приложения новый каталог с именем document-translation и перейдите в него.

    mkdir document-translation && cd document-translation
    
    mkdir document-translation; cd document-translation
    
  3. Выполните команду npm init, чтобы инициализировать приложение и сформировать шаблон проекта.

    npm init
    
  4. Укажите атрибуты проекта, принимая запросы, представленные в терминале.

    • Наиболее важными атрибутами являются имя, номер версии и точка входа.
    • Рекомендуется хранить index.js для имени точки входа. Описание, команда тестирования, репозиторий GitHub, ключевые слова, автор и данные лицензии являются необязательными атрибутами: их можно пропустить для этого проекта.
    • Примите предложения в круглых скобках с помощью кнопок Назад или Ввод.
    • После завершения запроса package.json файл будет создан в каталоге перевода документов.
  5. Используйте npm для установки axios библиотеки HTTP и uuid пакета в каталоге приложения для перевода документов:

    npm install axios uuid
    

Перевод всех документов в контейнере хранилища

  1. index.js Создайте файл в каталоге приложения.

    Совет

    • Вы можете создать новый файл с помощью PowerShell.

    • Откройте окно PowerShell в каталоге проекта, удерживая клавишу Shift и нажав правой кнопкой мыши на папку.

    • Введите следующую команду New-Item index.js.

    • Вы также можете создать новый файл в IDE с именем index.js и сохранить его в каталоге document-translation.

  2. Скопируйте и вставьте пример кода перевода документов в index.js файл.

    • Обновление {your-document-translation-endpoint} и {your-key} использование значений из экземпляра портал Azure Переводчик.

    • {your-source-container-SAS-URL} Обновите значения {your-target-container-SAS-URL} из экземпляра контейнеров учетных записей портал Azure служба хранилища.

Пример кода

Внимание

Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье "Безопасность служб искусственного интеллекта Azure".

const axios = require('axios').default;

let endpoint = '{your-document-translation-endpoint}/translator/text/batch/v1.1';
let route = '/batches';
let key = '{your-key}';
let sourceSASUrl = "{your-source-container-SAS-URL}";
let targetSASUrl = "{your-target-container-SAS-URL}"

let data = JSON.stringify({"inputs": [
  {
      "source": {
          "sourceUrl": sourceSASUrl,
          "storageSource": "AzureBlob",
          "language": "en"
      },
      "targets": [
          {
              "targetUrl": targetSASUrl,
              "storageSource": "AzureBlob",
              "category": "general",
              "language": "es"}]}]});

let config = {
  method: 'post',
  baseURL: endpoint,
  url: route,
  headers: {
    'Ocp-Apim-Subscription-Key': key,
    'Content-Type': 'application/json'
  },
  data: data
};

axios(config)
.then(function (response) {
  let result = { statusText: response.statusText, statusCode: response.status, headers: response.headers };
  console.log()
  console.log(JSON.stringify(result, null, 2));
})
.catch(function (error) {
  console.log(error);
});

Запуск приложения JavaScript

После добавления примера кода в приложение запустите программу:

  1. Перейдите в каталог приложения (перевод документов).

  2. Введите и выполните следующую команду в терминале:

    node index.js
    

После успешного завершения:

  • Переведенные документы можно найти в целевом контейнере.
  • Успешный метод POST возвращает код ответа, указывающий 202 Accepted , что служба создала пакетный запрос.
  • Запрос POST также возвращает заголовки ответа, включая Operation-Location значение, используемое в последующих запросах GET.

Создание проекта Python

  1. Установите последнюю версию Python 3.x, если это еще не сделано. Пакет установщика Python (pip) включен в установку Python.

    Совет

    Если вы не работали с Python, ознакомьтесь с модулем Введение в Python в Microsoft Learn.

  2. Откройте окно терминала и используйте pip для установки библиотеки Requests и пакета uuid0:

    pip install requests uuid
    

Перевод всех документов в контейнере хранилища

  1. С помощью предпочтительного редактора или интегрированной среды разработки создайте новый каталог для вашего приложения с именем document-translation.

  2. Создайте файл Python с именем document-translation.py в каталоге перевода документов.

  3. Скопируйте и вставьте пример кода перевода документов в document-translation.py файл.

    • Обновление {your-document-translation-endpoint} и {your-key} использование значений из экземпляра портал Azure Переводчик.

    • {your-source-container-SAS-URL} Обновите значения {your-target-container-SAS-URL} из экземпляра контейнеров учетных записей портал Azure служба хранилища.

Пример кода

Внимание

Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье "Безопасность служб искусственного интеллекта Azure".

import requests

endpoint = '{your-document-translation-endpoint}'
key =  '{your-key}'
path = 'translator/text/batch/v1.1/batches'
constructed_url = endpoint + path

sourceSASUrl = '{your-source-container-SAS-URL}'

targetSASUrl = '{your-target-container-SAS-URL}'

body= {
    "inputs": [
        {
            "source": {
                "sourceUrl": sourceSASUrl,
                "storageSource": "AzureBlob",
                "language": "en"
            },
            "targets": [
                {
                    "targetUrl": targetSASUrl,
                    "storageSource": "AzureBlob",
                    "category": "general",
                    "language": "es"
                }
            ]
        }
    ]
}
headers = {
  'Ocp-Apim-Subscription-Key': key,
  'Content-Type': 'application/json',
}

response = requests.post(constructed_url, headers=headers, json=body)
response_headers = response.headers

print(f'response status code: {response.status_code}\nresponse status: {response.reason}\n\nresponse headers:\n')

for key, value in response_headers.items():
    print(key, ":", value)

Запуск приложения Python

После добавления примера кода в приложение создайте и запустите программу:

  1. Перейдите в каталог перевода документов.

  2. Введите и выполните следующую команду в консоли:

    python document-translation.py
    

После успешного завершения:

  • Переведенные документы можно найти в целевом контейнере.
  • Успешный метод POST возвращает код ответа, указывающий 202 Accepted , что служба создала пакетный запрос.
  • Запрос POST также возвращает заголовки ответа, включая Operation-Location значение, используемое в последующих запросах GET.

Настройка среды программирования

В этом кратком руководстве мы используем средство командной строки cURL для вызова REST API перевода документов.

Примечание.

Пакет cURL предварительно установлен в большинстве дистрибутивов Windows 10 и Windows 11, а также в большинстве дистрибутивов macOS и Linux. Вы можете проверка версию пакета со следующими командами: Windows: curl.exe -V macOS curl -V Linux: curl --version

Если cURL не установлен, ниже приведены ссылки для вашей платформы:

Перевод документов (ЗАПРОС POST)

  1. С помощью предпочтительного редактора или интегрированной среды разработки создайте новый каталог для вашего приложения с именем document-translation.

  2. Создайте файл JSON с именем document-translation.json в каталоге перевода документов.

  3. Скопируйте и вставьте пример запроса на перевод документов в document-translation.json файл. Замените и {your-target-container-SAS-URL} на значения {your-source-container-SAS-URL} из экземпляра контейнеров учетных записей портал Azure служба хранилища.

    Пример запроса:

    {
      "inputs":[
        {
          "source":{
            "sourceUrl":"{your-source-container-SAS-URL}"
          },
          "targets":[
            {
              "targetUrl":"{your-target-container-SAS-URL}",
              "language":"fr"
            }
          ]
        }
      ]
    }
    

Создание и запуск запроса POST

Перед выполнением запроса POST замените {your-document-translator-endpoint} значения {your-key} из экземпляра портал Azure Переводчик.

Внимание

Обязательно удалите ключ из кода, когда завершите работу, и ни в коем случае не публикуйте его в открытом доступе. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, например Azure Key Vault. Дополнительные сведения см. в статье "Безопасность служб искусственного интеллекта Azure".

PowerShell

cmd /c curl "{your-document-translator-endpoint}/translator/text/batch/v1.1/batches" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-translation.json"

командная строка или терминал

curl "{your-document-translator-endpoint}/translator/text/batch/v1.1/batches" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-translation.json"

После успешного завершения:

  • Переведенные документы можно найти в целевом контейнере.
  • Успешный метод POST возвращает код ответа, указывающий 202 Accepted , что служба создала пакетный запрос.
  • Запрос POST также возвращает заголовки ответа, включая Operation-Location значение, используемое в последующих запросах GET.

Готово, поздравляем! В этом кратком руководстве вы использовали перевод документов для перевода документа при сохранении исходной структуры и формата данных.

Следующие шаги