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


Краткое руководство. Связывание сущностей с помощью REST API и клиентской библиотеки

Справочная документация | по дополнительным примерам | пакета (NuGet) | Исходный код библиотеки

В этом кратком руководстве описано, как создать приложение для связывания сущностей с использованием клиентской библиотеки для .NET. В следующем примере вы создадите приложение C#, которое может определять и диамбигуировать сущности, найденные в тексте.

Совет

С помощью AI Studio можно попробовать сводные данные без необходимости писать код.

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

Установка

Создание ресурса Azure

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

  1. Используйте следующую ссылку, чтобы создать языковой ресурс с помощью портал Azure. Вам потребуется войти с помощью подписки Azure.

  2. На появившемся экране выбора дополнительных функций нажмите кнопку "Продолжить", чтобы создать ресурс.

    Снимок экрана с дополнительными параметрами функций в портал Azure.

  3. На экране "Создание языка" укажите следующие сведения:

    Подробности Description
    Подписка Учетная запись подписки, с которым будет связан ваш ресурс. Выберите подписку Azure в раскрывающемся меню.
    Группа ресурсов Группа ресурсов — это контейнер, в который хранятся создаваемые ресурсы. Выберите Создать, чтобы создать группу ресурсов.
    Область/регион Расположение ресурса службы "Язык". Различные регионы могут привести к задержке в зависимости от физического расположения, но не влияют на доступность ресурса во время выполнения. В этом кратком руководстве выберите доступный регион рядом с вами или выберите восточную часть США.
    Имя. Имя ресурса языка. Это имя также будет использоваться для создания URL-адреса конечной точки, который приложения будут использовать для отправки запросов API.
    Ценовая категория Ценовая категория ресурса Языка. Вы можете использовать уровень "Бесплатный F0 ", чтобы попробовать службу и обновить ее позже до платного уровня для рабочей среды.

    Снимок экрана: сведения о создании ресурсов в портал Azure.

  4. Убедитесь, что установлен флажок "Уведомление об ответственном ИИ".

  5. В нижней части страницы выберите Просмотреть и создать.

  6. На появившемся экране убедитесь, что проверка прошла, и правильно ввели данные. Затем выберите Создать.

Получение ключа и конечной точки

Затем вам потребуется ключ и конечная точка из ресурса для подключения приложения к API. Ключ и конечную точку вы вставите в код позднее при работе с кратким руководством.

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

    Снимок экрана: следующие шаги после развертывания ресурса.

  2. На экране ресурса выберите ключи и конечную точку в меню навигации слева. Вы будете использовать один из ключей и конечной точки в следующих шагах.

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

Создание переменной среды

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

Чтобы задать переменную среды для ключа ресурса языка, откройте окно консоли и следуйте инструкциям в вашей операционной системе и среде разработки.

  • Чтобы задать LANGUAGE_KEY переменную среды, замените your-key одним из ключей ресурса.
  • Чтобы задать переменную среды, замените your-endpoint конечной LANGUAGE_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей работающей консоли, можно задать переменную set среды вместо setx.

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

Создание приложения .NET Core

С помощью интегрированной среды разработки Visual Studio создайте консольное приложение .NET Core. Будет создан проект Hello World на языке C# с одним файлом исходного кода: program.cs.

Установите клиентскую библиотеку, щелкнув правой кнопкой мыши решение в обозревателе решений и выбрав Управление пакетами NuGet. В открывшемся диспетчере пакетов выберите Просмотр и выполните поиск по запросу Azure.AI.TextAnalytics. Выберите версию 5.2.0, а затем Установить. Вы также можете использовать консоль диспетчера пакетов.

Пример кода

Скопируйте следующий код в файл program.cs и запустите код.

using Azure;
using System;
using System.Globalization;
using Azure.AI.TextAnalytics;

namespace EntityLinkingExample
{
    class Program
    {
        // This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
        static string languageKey = Environment.GetEnvironmentVariable("LANGUAGE_KEY");
        static string languageEndpoint = Environment.GetEnvironmentVariable("LANGUAGE_ENDPOINT");

        private static readonly AzureKeyCredential credentials = new AzureKeyCredential(languageKey);
        private static readonly Uri endpoint = new Uri(languageEndpoint);
        
        // Example method for recognizing entities and providing a link to an online data source.
        static void EntityLinkingExample(TextAnalyticsClient client)
        {
            var response = client.RecognizeLinkedEntities(
                "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, " +
                "to develop and sell BASIC interpreters for the Altair 8800. " +
                "During his career at Microsoft, Gates held the positions of chairman, " +
                "chief executive officer, president and chief software architect, " +
                "while also being the largest individual shareholder until May 2014.");
            Console.WriteLine("Linked Entities:");
            foreach (var entity in response.Value)
            {
                Console.WriteLine($"\tName: {entity.Name},\tID: {entity.DataSourceEntityId},\tURL: {entity.Url}\tData Source: {entity.DataSource}");
                Console.WriteLine("\tMatches:");
                foreach (var match in entity.Matches)
                {
                    Console.WriteLine($"\t\tText: {match.Text}");
                    Console.WriteLine($"\t\tScore: {match.ConfidenceScore:F2}\n");
                }
            }
        }

        static void Main(string[] args)
        {
            var client = new TextAnalyticsClient(endpoint, credentials);
            EntityLinkingExample(client);

            Console.Write("Press any key to exit.");
            Console.ReadKey();
        }

    }
}

Выходные данные

Linked Entities:
    Name: Microsoft,        ID: Microsoft,  URL: https://en.wikipedia.org/wiki/Microsoft    Data Source: Wikipedia
    Matches:
            Text: Microsoft
            Score: 0.55

            Text: Microsoft
            Score: 0.55

    Name: Bill Gates,       ID: Bill Gates, URL: https://en.wikipedia.org/wiki/Bill_Gates   Data Source: Wikipedia
    Matches:
            Text: Bill Gates
            Score: 0.63

            Text: Gates
            Score: 0.63

    Name: Paul Allen,       ID: Paul Allen, URL: https://en.wikipedia.org/wiki/Paul_Allen   Data Source: Wikipedia
    Matches:
            Text: Paul Allen
            Score: 0.60

    Name: April 4,  ID: April 4,    URL: https://en.wikipedia.org/wiki/April_4      Data Source: Wikipedia
    Matches:
            Text: April 4
            Score: 0.32

    Name: BASIC,    ID: BASIC,      URL: https://en.wikipedia.org/wiki/BASIC        Data Source: Wikipedia
    Matches:
            Text: BASIC
            Score: 0.33

    Name: Altair 8800,      ID: Altair 8800,        URL: https://en.wikipedia.org/wiki/Altair_8800  Data Source: Wikipedia
    Matches:
            Text: Altair 8800
            Score: 0.88

Очистка ресурсов

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

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

Справочная документация | по дополнительным примерам | пакета (Maven) | Library source code

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

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

Установка

Создание ресурса Azure

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

  1. Используйте следующую ссылку, чтобы создать языковой ресурс с помощью портал Azure. Вам потребуется войти с помощью подписки Azure.

  2. На появившемся экране выбора дополнительных функций нажмите кнопку "Продолжить", чтобы создать ресурс.

    Снимок экрана с дополнительными параметрами функций в портал Azure.

  3. На экране "Создание языка" укажите следующие сведения:

    Подробности Description
    Подписка Учетная запись подписки, с которым будет связан ваш ресурс. Выберите подписку Azure в раскрывающемся меню.
    Группа ресурсов Группа ресурсов — это контейнер, в который хранятся создаваемые ресурсы. Выберите Создать, чтобы создать группу ресурсов.
    Область/регион Расположение ресурса службы "Язык". Различные регионы могут привести к задержке в зависимости от физического расположения, но не влияют на доступность ресурса во время выполнения. В этом кратком руководстве выберите доступный регион рядом с вами или выберите восточную часть США.
    Имя. Имя ресурса языка. Это имя также будет использоваться для создания URL-адреса конечной точки, который приложения будут использовать для отправки запросов API.
    Ценовая категория Ценовая категория ресурса Языка. Вы можете использовать уровень "Бесплатный F0 ", чтобы попробовать службу и обновить ее позже до платного уровня для рабочей среды.

    Снимок экрана: сведения о создании ресурсов в портал Azure.

  4. Убедитесь, что установлен флажок "Уведомление об ответственном ИИ".

  5. В нижней части страницы выберите Просмотреть и создать.

  6. На появившемся экране убедитесь, что проверка прошла, и правильно ввели данные. Затем выберите Создать.

Получение ключа и конечной точки

Затем вам потребуется ключ и конечная точка из ресурса для подключения приложения к API. Ключ и конечную точку вы вставите в код позднее при работе с кратким руководством.

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

    Снимок экрана: следующие шаги после развертывания ресурса.

  2. На экране ресурса выберите ключи и конечную точку в меню навигации слева. Вы будете использовать один из ключей и конечной точки в следующих шагах.

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

Создание переменной среды

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

Чтобы задать переменную среды для ключа ресурса языка, откройте окно консоли и следуйте инструкциям в вашей операционной системе и среде разработки.

  • Чтобы задать LANGUAGE_KEY переменную среды, замените your-key одним из ключей ресурса.
  • Чтобы задать переменную среды, замените your-endpoint конечной LANGUAGE_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей работающей консоли, можно задать переменную set среды вместо setx.

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

Добавление клиентской библиотеки

Создайте проект Maven в предпочтительной среде разработки или IDE. Потом добавьте следующую зависимость в файл pom.xml проекта. Синтаксис реализации для других средств сборки можно найти в Интернете.

<dependencies>
     <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

Пример кода

Создайте файл Java с именем Example.java. Откройте файл и скопируйте приведенный ниже код. Теперь выполните код.

import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;

public class Example {

    // This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
    private static String languageKey = System.getenv("LANGUAGE_KEY");
    private static String languageEndpoint = System.getenv("LANGUAGE_ENDPOINT");

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(languageKey, languageEndpoint);
        recognizeLinkedEntitiesExample(client);
    }
    // Method to authenticate the client object with your key and endpoint
    static TextAnalyticsClient authenticateClient(String key, String endpoint) {
        return new TextAnalyticsClientBuilder()
                .credential(new AzureKeyCredential(key))
                .endpoint(endpoint)
                .buildClient();
    }
    // Example method for recognizing entities and providing a link to an online data source
    static void recognizeLinkedEntitiesExample(TextAnalyticsClient client)
    {
        // The text that need be analyzed.
        String text = "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, " +
                "to develop and sell BASIC interpreters for the Altair 8800. " +
                "During his career at Microsoft, Gates held the positions of chairman, " +
                "chief executive officer, president and chief software architect, " +
                "while also being the largest individual shareholder until May 2014.";

        System.out.printf("Linked Entities:%n");
        for (LinkedEntity linkedEntity : client.recognizeLinkedEntities(text)) {
            System.out.printf("Name: %s, ID: %s, URL: %s, Data Source: %s.%n",
                    linkedEntity.getName(),
                    linkedEntity.getDataSourceEntityId(),
                    linkedEntity.getUrl(),
                    linkedEntity.getDataSource());
            System.out.printf("Matches:%n");
            for (LinkedEntityMatch linkedEntityMatch : linkedEntity.getMatches()) {
                System.out.printf("Text: %s, Score: %.2f, Offset: %s, Length: %s%n",
                        linkedEntityMatch.getText(),
                        linkedEntityMatch.getConfidenceScore(),
                        linkedEntityMatch.getOffset(),
                        linkedEntityMatch.getLength());
            }
        }
    }
}

Выходные данные

Linked Entities:

Name: Microsoft, ID: Microsoft, URL: https://en.wikipedia.org/wiki/Microsoft, Data Source: Wikipedia.
Matches:
Text: Microsoft, Score: 0.55, Offset: 0, Length: 9
Text: Microsoft, Score: 0.55, Offset: 150, Length: 9
Name: Bill Gates, ID: Bill Gates, URL: https://en.wikipedia.org/wiki/Bill_Gates, Data Source: Wikipedia.
Matches:
Text: Bill Gates, Score: 0.63, Offset: 25, Length: 10
Text: Gates, Score: 0.63, Offset: 161, Length: 5
Name: Paul Allen, ID: Paul Allen, URL: https://en.wikipedia.org/wiki/Paul_Allen, Data Source: Wikipedia.
Matches:
Text: Paul Allen, Score: 0.60, Offset: 40, Length: 10
Name: April 4, ID: April 4, URL: https://en.wikipedia.org/wiki/April_4, Data Source: Wikipedia.
Matches:
Text: April 4, Score: 0.32, Offset: 54, Length: 7
Name: BASIC, ID: BASIC, URL: https://en.wikipedia.org/wiki/BASIC, Data Source: Wikipedia.
Matches:
Text: BASIC, Score: 0.33, Offset: 89, Length: 5
Name: Altair 8800, ID: Altair 8800, URL: https://en.wikipedia.org/wiki/Altair_8800, Data Source: Wikipedia.
Matches:
Text: Altair 8800, Score: 0.88, Offset: 116, Length: 11

Очистка ресурсов

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

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

Справочная документация | по дополнительным примерам | пакета (npm) | Исходный код библиотеки

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

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

Установка

Создание ресурса Azure

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

  1. Используйте следующую ссылку, чтобы создать языковой ресурс с помощью портал Azure. Вам потребуется войти с помощью подписки Azure.

  2. На появившемся экране выбора дополнительных функций нажмите кнопку "Продолжить", чтобы создать ресурс.

    Снимок экрана с дополнительными параметрами функций в портал Azure.

  3. На экране "Создание языка" укажите следующие сведения:

    Подробности Description
    Подписка Учетная запись подписки, с которым будет связан ваш ресурс. Выберите подписку Azure в раскрывающемся меню.
    Группа ресурсов Группа ресурсов — это контейнер, в который хранятся создаваемые ресурсы. Выберите Создать, чтобы создать группу ресурсов.
    Область/регион Расположение ресурса службы "Язык". Различные регионы могут привести к задержке в зависимости от физического расположения, но не влияют на доступность ресурса во время выполнения. В этом кратком руководстве выберите доступный регион рядом с вами или выберите восточную часть США.
    Имя. Имя ресурса языка. Это имя также будет использоваться для создания URL-адреса конечной точки, который приложения будут использовать для отправки запросов API.
    Ценовая категория Ценовая категория ресурса Языка. Вы можете использовать уровень "Бесплатный F0 ", чтобы попробовать службу и обновить ее позже до платного уровня для рабочей среды.

    Снимок экрана: сведения о создании ресурсов в портал Azure.

  4. Убедитесь, что установлен флажок "Уведомление об ответственном ИИ".

  5. В нижней части страницы выберите Просмотреть и создать.

  6. На появившемся экране убедитесь, что проверка прошла, и правильно ввели данные. Затем выберите Создать.

Получение ключа и конечной точки

Затем вам потребуется ключ и конечная точка из ресурса для подключения приложения к API. Ключ и конечную точку вы вставите в код позднее при работе с кратким руководством.

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

    Снимок экрана: следующие шаги после развертывания ресурса.

  2. На экране ресурса выберите ключи и конечную точку в меню навигации слева. Вы будете использовать один из ключей и конечной точки в следующих шагах.

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

Создание переменной среды

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

Чтобы задать переменную среды для ключа ресурса языка, откройте окно консоли и следуйте инструкциям в вашей операционной системе и среде разработки.

  • Чтобы задать LANGUAGE_KEY переменную среды, замените your-key одним из ключей ресурса.
  • Чтобы задать переменную среды, замените your-endpoint конечной LANGUAGE_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей работающей консоли, можно задать переменную set среды вместо setx.

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

Создание нового приложения Node.js

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

mkdir myapp 

cd myapp

Выполните команду npm init, чтобы создать приложение узла с помощью файла package.json.

npm init

Установка клиентской библиотеки

Установите пакет npm:

npm install @azure/ai-language-text

Пример кода

Откройте файл и скопируйте приведенный ниже код. Теперь выполните код.

"use strict";

const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");

// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
const key = process.env.LANGUAGE_KEY;
const endpoint = process.env.LANGUAGE_ENDPOINT;

//example sentence for recognizing entities
const documents = ["Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975."];

//example of how to use the client to perform entity linking on a document
async function main() {
    console.log("== Entity linking sample ==");
  
    const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
  
    const results = await client.analyze("EntityLinking", documents);
  
    for (const result of results) {
      console.log(`- Document ${result.id}`);
      if (!result.error) {
        console.log("\tEntities:");
        for (const entity of result.entities) {
          console.log(
            `\t- Entity ${entity.name}; link ${entity.url}; datasource: ${entity.dataSource}`
          );
          console.log("\t\tMatches:");
          for (const match of entity.matches) {
            console.log(
              `\t\t- Entity appears as "${match.text}" (confidence: ${match.confidenceScore}`
            );
          }
        }
      } else {
        console.error("  Error:", result.error);
      }
    }
  }

//call the main function
main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

Выходные данные

== Entity linking sample ==
- Document 0
    Entities:
    - Entity Microsoft; link https://en.wikipedia.org/wiki/Microsoft; datasource: Wikipedia
            Matches:
            - Entity appears as "Microsoft" (confidence: 0.48
    - Entity Bill Gates; link https://en.wikipedia.org/wiki/Bill_Gates; datasource: Wikipedia
            Matches:
            - Entity appears as "Bill Gates" (confidence: 0.52
    - Entity Paul Allen; link https://en.wikipedia.org/wiki/Paul_Allen; datasource: Wikipedia
            Matches:
            - Entity appears as "Paul Allen" (confidence: 0.54
    - Entity April 4; link https://en.wikipedia.org/wiki/April_4; datasource: Wikipedia
            Matches:
            - Entity appears as "April 4" (confidence: 0.38

Очистка ресурсов

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

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

Справочная документация | по дополнительным примерам | кода пакета (PyPi)Library |

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

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

Установка

Создание ресурса Azure

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

  1. Используйте следующую ссылку, чтобы создать языковой ресурс с помощью портал Azure. Вам потребуется войти с помощью подписки Azure.

  2. На появившемся экране выбора дополнительных функций нажмите кнопку "Продолжить", чтобы создать ресурс.

    Снимок экрана с дополнительными параметрами функций в портал Azure.

  3. На экране "Создание языка" укажите следующие сведения:

    Подробности Description
    Подписка Учетная запись подписки, с которым будет связан ваш ресурс. Выберите подписку Azure в раскрывающемся меню.
    Группа ресурсов Группа ресурсов — это контейнер, в который хранятся создаваемые ресурсы. Выберите Создать, чтобы создать группу ресурсов.
    Область/регион Расположение ресурса службы "Язык". Различные регионы могут привести к задержке в зависимости от физического расположения, но не влияют на доступность ресурса во время выполнения. В этом кратком руководстве выберите доступный регион рядом с вами или выберите восточную часть США.
    Имя. Имя ресурса языка. Это имя также будет использоваться для создания URL-адреса конечной точки, который приложения будут использовать для отправки запросов API.
    Ценовая категория Ценовая категория ресурса Языка. Вы можете использовать уровень "Бесплатный F0 ", чтобы попробовать службу и обновить ее позже до платного уровня для рабочей среды.

    Снимок экрана: сведения о создании ресурсов в портал Azure.

  4. Убедитесь, что установлен флажок "Уведомление об ответственном ИИ".

  5. В нижней части страницы выберите Просмотреть и создать.

  6. На появившемся экране убедитесь, что проверка прошла, и правильно ввели данные. Затем выберите Создать.

Получение ключа и конечной точки

Затем вам потребуется ключ и конечная точка из ресурса для подключения приложения к API. Ключ и конечную точку вы вставите в код позднее при работе с кратким руководством.

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

    Снимок экрана: следующие шаги после развертывания ресурса.

  2. На экране ресурса выберите ключи и конечную точку в меню навигации слева. Вы будете использовать один из ключей и конечной точки в следующих шагах.

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

Создание переменной среды

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

Чтобы задать переменную среды для ключа ресурса языка, откройте окно консоли и следуйте инструкциям в вашей операционной системе и среде разработки.

  • Чтобы задать LANGUAGE_KEY переменную среды, замените your-key одним из ключей ресурса.
  • Чтобы задать переменную среды, замените your-endpoint конечной LANGUAGE_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей работающей консоли, можно задать переменную set среды вместо setx.

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

Установка клиентской библиотеки

После установки Python вы можете установить клиентскую библиотеку с помощью следующей команды:

pip install azure-ai-textanalytics==5.2.0

Пример кода

Создайте файл Python и скопируйте код ниже. Теперь выполните код.

# This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
language_key = os.environ.get('LANGUAGE_KEY')
language_endpoint = os.environ.get('LANGUAGE_ENDPOINT')

from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# Authenticate the client using your key and endpoint. 
def authenticate_client():
    ta_credential = AzureKeyCredential(language_key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=language_endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example function for recognizing entities and providing a link to an online data source.
def entity_linking_example(client):

    try:
        documents = ["""Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, 
        to develop and sell BASIC interpreters for the Altair 8800. 
        During his career at Microsoft, Gates held the positions of chairman,
        chief executive officer, president and chief software architect, 
        while also being the largest individual shareholder until May 2014."""]
        result = client.recognize_linked_entities(documents = documents)[0]

        print("Linked Entities:\n")
        for entity in result.entities:
            print("\tName: ", entity.name, "\tId: ", entity.data_source_entity_id, "\tUrl: ", entity.url,
            "\n\tData Source: ", entity.data_source)
            print("\tMatches:")
            for match in entity.matches:
                print("\t\tText:", match.text)
                print("\t\tConfidence Score: {0:.2f}".format(match.confidence_score))
                print("\t\tOffset: {}".format(match.offset))
                print("\t\tLength: {}".format(match.length))
            
    except Exception as err:
        print("Encountered exception. {}".format(err))
entity_linking_example(client)

Выходные данные

Linked Entities:
    
    Name:  Microsoft        Id:  Microsoft  Url:  https://en.wikipedia.org/wiki/Microsoft
    Data Source:  Wikipedia
    Matches:
            Text: Microsoft
            Confidence Score: 0.55
            Offset: 0
            Length: 9
            Text: Microsoft
            Confidence Score: 0.55
            Offset: 168
            Length: 9
    Name:  Bill Gates       Id:  Bill Gates         Url:  https://en.wikipedia.org/wiki/Bill_Gates
    Data Source:  Wikipedia
    Matches:
            Text: Bill Gates
            Confidence Score: 0.63
            Offset: 25
            Length: 10
            Text: Gates
            Confidence Score: 0.63
            Offset: 179
            Length: 5
    Name:  Paul Allen       Id:  Paul Allen         Url:  https://en.wikipedia.org/wiki/Paul_Allen
    Data Source:  Wikipedia
    Matches:
            Text: Paul Allen
            Confidence Score: 0.60
            Offset: 40
            Length: 10
    Name:  April 4  Id:  April 4    Url:  https://en.wikipedia.org/wiki/April_4
    Data Source:  Wikipedia
    Matches:
            Text: BASIC
            Confidence Score: 0.33
            Offset: 98
            Length: 5
    Name:  Altair 8800      Id:  Altair 8800        Url:  https://en.wikipedia.org/wiki/Altair_8800
    Data Source:  Wikipedia
    Matches:
            Text: Altair 8800
            Confidence Score: 0.88
            Offset: 125
            Length: 11

Очистка ресурсов

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

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

Справочная документация

В этом кратком руководстве описано, как отправлять запросы на связывание сущностей с использованием REST API. В следующем примере показано, как использовать cURL, чтобы идентифицировать неоднозначные сущности в тексте.

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

Установка

Создание ресурса Azure

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

  1. Используйте следующую ссылку, чтобы создать языковой ресурс с помощью портал Azure. Вам потребуется войти с помощью подписки Azure.

  2. На появившемся экране выбора дополнительных функций нажмите кнопку "Продолжить", чтобы создать ресурс.

    Снимок экрана с дополнительными параметрами функций в портал Azure.

  3. На экране "Создание языка" укажите следующие сведения:

    Подробности Description
    Подписка Учетная запись подписки, с которым будет связан ваш ресурс. Выберите подписку Azure в раскрывающемся меню.
    Группа ресурсов Группа ресурсов — это контейнер, в который хранятся создаваемые ресурсы. Выберите Создать, чтобы создать группу ресурсов.
    Область/регион Расположение ресурса службы "Язык". Различные регионы могут привести к задержке в зависимости от физического расположения, но не влияют на доступность ресурса во время выполнения. В этом кратком руководстве выберите доступный регион рядом с вами или выберите восточную часть США.
    Имя. Имя ресурса языка. Это имя также будет использоваться для создания URL-адреса конечной точки, который приложения будут использовать для отправки запросов API.
    Ценовая категория Ценовая категория ресурса Языка. Вы можете использовать уровень "Бесплатный F0 ", чтобы попробовать службу и обновить ее позже до платного уровня для рабочей среды.

    Снимок экрана: сведения о создании ресурсов в портал Azure.

  4. Убедитесь, что установлен флажок "Уведомление об ответственном ИИ".

  5. В нижней части страницы выберите Просмотреть и создать.

  6. На появившемся экране убедитесь, что проверка прошла, и правильно ввели данные. Затем выберите Создать.

Получение ключа и конечной точки

Затем вам потребуется ключ и конечная точка из ресурса для подключения приложения к API. Ключ и конечную точку вы вставите в код позднее при работе с кратким руководством.

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

    Снимок экрана: следующие шаги после развертывания ресурса.

  2. На экране ресурса выберите ключи и конечную точку в меню навигации слева. Вы будете использовать один из ключей и конечной точки в следующих шагах.

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

Создание переменной среды

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

Чтобы задать переменную среды для ключа ресурса языка, откройте окно консоли и следуйте инструкциям в вашей операционной системе и среде разработки.

  • Чтобы задать LANGUAGE_KEY переменную среды, замените your-key одним из ключей ресурса.
  • Чтобы задать переменную среды, замените your-endpoint конечной LANGUAGE_ENDPOINT точкой ресурса.

Внимание

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей работающей консоли, можно задать переменную set среды вместо setx.

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

Создание JSON-файла с примером текста запроса

В редакторе кода создайте файл с именем test_entitylinking_payload.json и скопируйте следующий пример JSON. Этот пример запроса будет отправлен в API на следующем шаге.

{
    "kind": "EntityLinking",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
            {
                "id":"1",
                "language":"en",
                "text": "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975."
            }
        ]
    }
}

Сохраните test_entitylinking_payload.json место на компьютере. Например, рабочий стол.

Отправка запроса API связывания сущностей

Используйте следующие команды, чтобы отправить запрос API с помощью используемой программы. Скопируйте команду в терминал и запустите ее.

параметр Описание
-X POST <endpoint> Указывает конечную точку для доступа к API.
-H Content-Type: application/json Тип содержимого для отправки данных JSON.
-H "Ocp-Apim-Subscription-Key:<key> Указывает ключ для доступа к API.
-d <documents> JSON с документами, которые необходимо отправить.

Замените C:\Users\<myaccount>\Desktop\test_entitylinking_payload.json расположением примера файла запроса JSON, созданного на предыдущем шаге.

С помощью командной строки

curl -X POST "%LANGUAGE_ENDPOINT%/language/:analyze-text?api-version=2022-05-01" ^
-H "Content-Type: application/json" ^
-H "Ocp-Apim-Subscription-Key: %LANGUAGE_KEY%" ^
-d "@C:\Users\<myaccount>\Desktop\test_entitylinking_payload.json"

PowerShell

curl.exe -X POST $env:LANGUAGE_ENDPOINT/language/:analyze-text?api-version=2022-05-01 `
-H "Content-Type: application/json" `
-H "Ocp-Apim-Subscription-Key: $env:LANGUAGE_KEY" `
-d "@C:\Users\<myaccount>\Desktop\test_entitylinking_payload.json"

Ответ JSON

{
	"kind": "EntityLinkingResults",
	"results": {
		"documents": [{
			"id": "1",
			"entities": [{
				"bingId": "a093e9b9-90f5-a3d5-c4b8-5855e1b01f85",
				"name": "Microsoft",
				"matches": [{
					"text": "Microsoft",
					"offset": 0,
					"length": 9,
					"confidenceScore": 0.48
				}],
				"language": "en",
				"id": "Microsoft",
				"url": "https://en.wikipedia.org/wiki/Microsoft",
				"dataSource": "Wikipedia"
			}, {
				"bingId": "0d47c987-0042-5576-15e8-97af601614fa",
				"name": "Bill Gates",
				"matches": [{
					"text": "Bill Gates",
					"offset": 25,
					"length": 10,
					"confidenceScore": 0.52
				}],
				"language": "en",
				"id": "Bill Gates",
				"url": "https://en.wikipedia.org/wiki/Bill_Gates",
				"dataSource": "Wikipedia"
			}, {
				"bingId": "df2c4376-9923-6a54-893f-2ee5a5badbc7",
				"name": "Paul Allen",
				"matches": [{
					"text": "Paul Allen",
					"offset": 40,
					"length": 10,
					"confidenceScore": 0.54
				}],
				"language": "en",
				"id": "Paul Allen",
				"url": "https://en.wikipedia.org/wiki/Paul_Allen",
				"dataSource": "Wikipedia"
			}, {
				"bingId": "52535f87-235e-b513-54fe-c03e4233ac6e",
				"name": "April 4",
				"matches": [{
					"text": "April 4",
					"offset": 54,
					"length": 7,
					"confidenceScore": 0.38
				}],
				"language": "en",
				"id": "April 4",
				"url": "https://en.wikipedia.org/wiki/April_4",
				"dataSource": "Wikipedia"
			}],
			"warnings": []
		}],
		"errors": [],
		"modelVersion": "2021-06-01"
	}
}

Очистка ресурсов

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

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