Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
30 октября 2020 г. API поиска Bing перемещены из служб ИИ Azure в службы поиска Bing. Эта документация предоставляется только для справки. Обновленную информацию см. в документации по API Поиска Bing. Инструкции по созданию ресурсов Azure для Поиска Bing приведены в статье Создание ресурса для Поиска Bing с помощью Azure Marketplace.
Используйте это краткое руководство, чтобы начать поиск сущностей с клиентской библиотекой поиска сущностей Bing для C#. Хотя поиск сущностей Bing поддерживает REST API, совместимый с большинством языков программирования, клиентская библиотека предоставляет простой способ интеграции службы в приложения. Исходный код для этого шаблона можно найти на портале GitHub.
Предпосылки
- Любой выпуск Visual Studio 2017 или более поздняя версия.
- Платформа Json.NET, доступная в виде пакета NuGet.
- Если вы используете Linux или MacOS, это приложение можно запустить с помощью Mono.
- Пакет NuGet SDK для поиска новостей Bing . Установка этого пакета также устанавливает следующее:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Чтобы добавить клиентную библиотеку поиска сущностей Bing в проект Visual Studio, используйте параметр "Управление пакетами NuGet" из обозревателя решенийи добавьте пакет Microsoft.Azure.CognitiveServices.Search.EntitySearch.
Создание ресурса Azure
Начните использовать API поиска сущностей Bing, создав один из следующих ресурсов Azure.
ресурс поиска сущностей Bing
- Доступно на портале Azure до удаления ресурса.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Поиск сущностей Bing также предлагается на платных уровнях ресурса Bing Search версии 7.
многофункциональный ресурс
- Доступно на портале Azure до удаления ресурса.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация приложения
создайте новое консольное решение C# в Visual Studio. Затем добавьте следующий код в основной файл кода.
using System; using System.Linq; using System.Text; using Microsoft.Azure.CognitiveServices.Search.EntitySearch; using Microsoft.Azure.CognitiveServices.Search.EntitySearch.Models; using Newtonsoft.Json;
Создание клиента и отправка запроса на поиск
Создайте новый клиент поиска. Добавьте ключ подписки, создав новый
ApiKeyServiceClientCredentials.var client = new EntitySearchClient(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));Используйте функцию
Entities.Search()клиента для поиска запроса:var entityData = client.Entities.Search(query: "Satya Nadella");
Получите и распечатайте описание сущности
Если API вернул результаты поиска, получите основную сущность из
entityData.var mainEntity = entityData.Entities.Value.Where(thing => thing.EntityPresentationInfo.EntityScenario == EntityScenario.DominantEntity).FirstOrDefault();Распечатать описание основной сущности
Console.WriteLine(mainEntity.Description);
Дальнейшие действия
Используйте это краткое руководство, чтобы начать поиск сущностей с клиентской библиотекой поиска сущностей Bing для Java. Хотя поиск сущностей Bing поддерживает REST API, совместимый с большинством языков программирования, клиентская библиотека предоставляет простой способ интеграции службы в приложения. Исходный код для этого шаблона можно найти на портале GitHub.
Предпосылки
Клиентская библиотека поиска сущностей Bing для Java
Установите зависимости клиентской библиотеки поиска сущностей Bing с помощью Maven, Gradle или другой системы управления зависимостями. Для файла POM Maven требуется объявление:
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-entitysearch</artifactId>
<version>1.0.2</version>
</dependency>
Создание ресурса Azure
Начните использовать API поиска сущностей Bing, создав один из следующих ресурсов Azure.
ресурс поиска сущностей Bing
- Доступно на портале Azure до удаления ресурса.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Поиск сущностей Bing также предлагается на платных уровнях ресурса Bing Search версии 7.
многофункциональный ресурс
- Доступно на портале Azure до удаления ресурса.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация проекта
Создайте проект Java в любимой интегрированной среде разработки или редакторе и импортируйте следующие библиотеки.
import com.microsoft.azure.cognitiveservices.entitysearch.*; import com.microsoft.azure.cognitiveservices.entitysearch.implementation.EntitySearchAPIImpl; import com.microsoft.azure.cognitiveservices.entitysearch.implementation.SearchResponseInner; import com.microsoft.rest.credentials.ServiceClientCredentials; import okhttp3.Interceptor; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; import java.util.ArrayList; import java.util.List;Создание переменной для ключа подписки
String subscriptionKey = "your-key-here"
Создание клиента для поиска
Реализуйте клиент
dominantEntityLookup, который требует ваш конечный API-адрес и экземпляр классаServiceClientCredentials. Вы можете использовать глобальную конечную точку ниже или конечную точку пользовательского поддомена , отображаемую на портале Azure для ресурса.public static EntitySearchAPIImpl getClient(final String subscriptionKey) { return new EntitySearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { //... } )};Чтобы реализовать
ServiceClientCredentials, выполните следующие действия.переопределите функцию
applyCredentialsFilter()с объектомOkHttpClient.Builderв качестве параметра.//... new ServiceClientCredentials() { @Override public void applyCredentialsFilter(OkHttpClient.Builder builder) { //... } //...В
applyCredentialsFilter()совершите вызовbuilder.addNetworkInterceptor(). Создайте новый объектInterceptorи переопределите его методintercept()для принятия объекта перехватчикаChain.//... builder.addNetworkInterceptor( new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { //... } }); ///...В функции
interceptсоздайте переменные для запроса. ИспользуйтеRequest.Builder()для создания запроса. Добавьте ключ подписки в заголовокOcp-Apim-Subscription-Keyи вернитеchain.proceed()в объекте запроса.//... public Response intercept(Chain chain) throws IOException { Request request = null; Request original = chain.request(); Request.Builder requestBuilder = original.newBuilder() .addHeader("Ocp-Apim-Subscription-Key", subscriptionKey); request = requestBuilder.build(); return chain.proceed(request); } //...
Отправка запроса и получение ответа
Создайте новый экземпляр клиента поиска с ключом подписки. используйте
client.entities().search()для отправки поискового запросаsatya nadellaи получения ответа.EntitySearchAPIImpl client = getClient(subscriptionKey); SearchResponseInner entityData = client.entities().search( "satya nadella", null, null, null, null, null, null, "en-us", null, null, SafeSearch.STRICT, null);Если были возвращены какие-либо сущности, преобразуйте их в список. Выполните итерацию по ним и распечатайте доминирующую сущность.
if (entityData.entities().value().size() > 0){ // Find the entity that represents the dominant entity List<Thing> entries = entityData.entities().value(); Thing dominateEntry = null; for(Thing thing : entries) { if(thing.entityPresentationInfo().entityScenario() == EntityScenario.DOMINANT_ENTITY) { System.out.println("\r\nSearched for \"Satya Nadella\" and found a dominant entity with this description:"); System.out.println(thing.description()); break; } } }
Дальнейшие действия
Используйте это краткое руководство, чтобы начать поиск сущностей с клиентской библиотекой поиска сущностей Bing для JavaScript. Хотя поиск сущностей Bing поддерживает REST API, совместимый с большинством языков программирования, клиентская библиотека предоставляет простой способ интеграции службы в приложения. Исходный код для этого шаблона можно найти на портале GitHub.
Предпосылки
- Последняя версия Node.js.
- Пакет SDK поиска сущностей Bing для JavaScript
- Чтобы установить его, выполните такую команду.
npm install @azure/cognitiveservices-entitysearch
- Чтобы установить его, выполните такую команду.
- Класс
CognitiveServicesCredentialsиз пакета@azure/ms-rest-azure-jsдля проверки подлинности клиента.- Чтобы установить его, выполните такую команду.
npm install @azure/ms-rest-azure-js
- Чтобы установить его, выполните такую команду.
Создание ресурса Azure
Начните использовать API поиска сущностей Bing, создав один из следующих ресурсов Azure.
ресурс поиска сущностей Bing
- Доступно на портале Azure до удаления ресурса.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Поиск сущностей Bing также предлагается на платных уровнях ресурса Bing Search версии 7.
многофункциональный ресурс
- Доступно на портале Azure до удаления ресурса.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация приложения
Создайте новый файл JavaScript в любимой интегрированной среде разработки или редакторе и добавьте следующие требования.
const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; const EntitySearchAPIClient = require('@azure/cognitiveservices-entitysearch');Создайте экземпляр
CognitiveServicesCredentialsс помощью ключа подписки. Затем создайте экземпляр клиента поиска с ним.let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let entitySearchApiClient = new EntitySearchAPIClient(credentials);
Отправка запроса и получение ответа
Отправьте запрос на поиск сущностей с помощью
entitiesOperations.search(). После получения ответа выведитеqueryContext, число возвращаемых результатов и описание первого результата.entitySearchApiClient.entitiesOperations.search('seahawks').then((result) => { console.log(result.queryContext); console.log(result.entities.value); console.log(result.entities.value[0].description); }).catch((err) => { throw err; });
Дальнейшие действия
Используйте это краткое руководство, чтобы начать поиск сущностей с клиентской библиотекой поиска сущностей Bing для Python. Хотя поиск сущностей Bing поддерживает REST API, совместимый с большинством языков программирования, клиентская библиотека предоставляет простой способ интеграции службы в приложения. Исходный код для этого шаблона можно найти на портале GitHub.
Предпосылки
Python 2.x или 3.x
Пакет SDK для поиска сущностей Bing для Python
Рекомендуется использовать виртуальную среду Python. Вы можете установить и инициализировать виртуальную среду с помощью модуля venv. Вы можете установить virtualenv с помощью:
python -m venv mytestenv
Установите клиентную библиотеку поиска сущностей Bing с помощью следующих компонентов:
cd mytestenv
python -m pip install azure-cognitiveservices-search-entitysearch
Создание ресурса Azure
Начните использовать API поиска сущностей Bing, создав один из следующих ресурсов Azure.
ресурс поиска сущностей Bing
- Доступно на портале Azure до удаления ресурса.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Поиск сущностей Bing также предлагается на платных уровнях ресурса Bing Search версии 7.
многофункциональный ресурс
- Доступно на портале Azure до удаления ресурса.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация приложения
Создайте файл Python в избранной интегрированной среде разработки или редакторе и добавьте следующие инструкции импорта.
from azure.cognitiveservices.search.entitysearch import EntitySearchClient from azure.cognitiveservices.search.entitysearch.models import Place, ErrorResponseException from msrest.authentication import CognitiveServicesCredentialsСоздайте переменную для ключа подписки и конечной точки. Создайте экземпляр клиента, создав новый объект
CognitiveServicesCredentialsс вашим ключом.subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" client = EntitySearchclient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Отправка поискового запроса и получение ответа
Отправьте запрос поиска в поиск сущностей Bing с
client.entities.search()и поисковым запросом.entity_data = client.entities.search(query="Gibralter")Если сущности были возвращены, преобразуйте
entity_data.entities.valueв список и распечатайте первый результат.if entity_data.entities.value: main_entities = [entity for entity in entity_data.entities.value if entity.entity_presentation_info.entity_scenario == "DominantEntity"] if main_entities: print(main_entities[0].description)