Поделиться через


Краткое руководство. REST API Azure AI Translator

Попробуйте последнюю версию Azure AI Translator. В этом кратком руководстве по началу работы со службой Переводчика для перевода текста с помощью выбранного языка программирования или REST API. Для этого проекта рекомендуется использовать бесплатную ценовую категорию (F0), при обучении технологии и последующем обновлении до платного уровня для рабочей среды.

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

наличие активной подписки Azure. Если у вас нет подписки Azure, создайте ее бесплатно.

  • Когда у вас будет подписка Azure, создайте ресурс Переводчика на портале Azure.

  • После развертывания ресурса выберите элемент Перейти к ресурсу, чтобы получить ключ и конечную точку.

    • Для подключения приложения к службе "Переводчик" требуется ключ и конечная точка из ресурса. Вставьте ключ и конечную точку в код далее в кратком руководстве. Эти значения находятся на странице Ключи и конечная точка портала Azure:

      Снимок экрана: страница

      Примечание.

      • Для работы с этим кратким руководством рекомендуется использовать глобальный ресурс "Переводчик текста" с одной службой.
      • В глобальном ресурсе с одной службой вы будете включать один заголовок авторизации (Ocp-Apim-Subscription-key) с запросом REST API. Значение для ключа Ocp-Apim-Subscription — это секретный ключ Azure для подписки на службу "Переводчик".
      • Если вы решили использовать многослужбный или региональный ресурс Переводчика Azure, потребуется два заголовка проверки подлинности: (Ocp-Api-Subscription-Key и Ocp-Apim-Subscription-Region). Значение Ocp-Apim-Subscription-Region — это регион, связанный с вашей подпиской.
      • Дополнительные сведения об использовании заголовка Ocp-Apim-Subscription-Region см. в заголовках REST API перевода текста.

Заголовки

Чтобы вызвать службу Переводчика через REST API, необходимо включить следующие заголовки с каждым запросом. Не беспокойтесь, мы добавим заголовки для вас в пример кода для каждого языка программирования.

Дополнительные сведения о способах проверки подлинности Переводчика см. в справочном руководстве по Переводчику версии 3.

Верхний колонтитул Значение Condition
Ocp-Apim-Subscription-Key Ключ службы "Переводчик" с портала Azure. Требуется
Ocp-Apim-Subscription-Region Регион, в котором был создан ресурс. Требуется при использовании мультислужб или регионального (географического) ресурса Azure AI, например западной части США.
Необязательный при использовании глобального ресурса переводчика с одним обслуживанием.
Content-Type Тип содержимого для полезных данных. Допустимые значения: application/json или charset=UTF-8. Требуется
Content-Length Длина текста запроса. Необязательно

Внимание

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

Перевод текста

Основное назначение службы "Переводчик" — перевод текста. В этом кратком руководстве вы создадите запрос с помощью выбранного языка программирования, который принимает один источник (from) и предоставляет два выходных данных (to). Затем мы рассмотрим некоторые параметры, которые можно использовать для настройки запроса и ответа.

Подробные сведения об ограничениях запросов службы Azure AI Translator см. в разделе "Ограничения запросов на перевод текста".

Настройка проекта Visual Studio

  1. Убедитесь, что у вас установлена текущая версия IDE Visual Studio.

    Совет

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

  2. Откройте Visual Studio.

  3. На начальной странице выберите Создать проект.

    Снимок экрана: начальное окно Visual Studio.

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

    Снимок экрана: страница создания проекта Visual Studio.

  5. В окне Настроить новый проект введите в поле "Имя проекта" значение translator_quickstart. Снимите флажок "Разместить решение и проект в одном каталоге" и щелкните Далее.

    Снимок экрана: диалоговое окно настройки нового проекта Visual Studio.

  6. Убедитесь, что в диалоговом окне Дополнительные сведения выбран вариант .NET 6.0 (долгосрочная поддержка). Снимите флажок "Не использовать операторы верхнего уровня" и щелкните Создать.

    Снимок экрана: диалоговое окно

Установка пакета Newtonsoft.json с использованием NuGet

  1. Щелкните правой кнопкой мыши проект translator_quickstart и выберите Управление пакетами NuGet.

    Снимок экрана: поле поиска пакетов NuGet.

  2. Перейдите на вкладку "Обзор" и введите Newtonsoft.json.

    Снимок экрана: окно установки пакетов NuGet.

  3. Чтобы добавить пакет в проект, выберите установку в правом окне диспетчера пакетов.

    Снимок экрана: кнопка установки пакетов NuGet.

Создание приложения C#

Примечание.

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

  2. Удалите существующий код, включая строку Console.WriteLine("Hello World!"). Скопируйте пример кода и вставьте его в файл приложения Program.cs. Обязательно обновите переменную ключа, указав значение из экземпляра Переводчика на портале Azure:

using System.Text;
using Newtonsoft.Json;

class Program
{
    private static readonly string key = "<your-translator-key>";
    private static readonly string endpoint = "https://api.cognitive.microsofttranslator.com";

    // location, also known as region.
    // required if you're using a multi-service or regional (not global) resource. It can be found in the Azure portal on the Keys and Endpoint page.
    private static readonly string location = "<YOUR-RESOURCE-LOCATION>";

    static async Task Main(string[] args)
    {
        // Input and output languages are defined as parameters.
        string route = "/translate?api-version=3.0&from=en&to=fr&to=zu";
        string textToTranslate = "I would really like to drive your car around the block a few times!";
        object[] body = new object[] { new { Text = textToTranslate } };
        var requestBody = JsonConvert.SerializeObject(body);

        using (var client = new HttpClient())
        using (var request = new HttpRequestMessage())
        {
            // Build the request.
            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Content = new StringContent(requestBody, Encoding.UTF8, "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", key);
            // location required if you're using a multi-service or regional (not global) resource.
            request.Headers.Add("Ocp-Apim-Subscription-Region", location);

            // Send the request and get response.
            HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(false);
            // Read response as a string.
            string result = await response.Content.ReadAsStringAsync();
            Console.WriteLine(result);
        }
    }
}

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

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

Снимок экрана: кнопка запуска программы в Visual Studio.

Выходные данные перевода:

После успешного вызова появится следующий ответ:

[
    {
        "detectedLanguage": {
            "language": "en",
            "score": 1.0
        },
        "translations": [
            {
                "text": "J'aimerais vraiment conduire votre voiture autour du pâté de maisons plusieurs fois!",
                "to": "fr"
            },
            {
                "text": "Ngingathanda ngempela ukushayela imoto yakho endaweni evimbelayo izikhathi ezimbalwa!",
                "to": "zu"
            }
        ]
    }
]

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

Готово, поздравляем! Вы только что узнали, как использовать службу переводчика для перевода текста.

Ознакомьтесь с нашей документацией и более подробными сведениями о возможностях службы перевода: