Démarrage rapide : Utiliser la bibliothèque de client Recherche d’entités Bing
Avertissement
Le 30 octobre 2020, les API Recherche Bing sont passées de Cognitive Services à Bing Search Services. Cette documentation est fournie à des fins de référence uniquement. Pour accéder à la documentation mise à jour, consultez la documentation de l’API Recherche Bing. Pour obtenir des instructions sur la création de nouvelles ressources Azure pour Recherche Bing, consultez Créer une ressource Recherche Bing à l’aide de Place de marché Azure.
Utilisez ce guide de démarrage rapide pour commencer à rechercher des entités avec la bibliothèque de client Recherche d’entités Bing pour C#. Si l’outil Recherche d’entités Bing a une API REST compatible avec la plupart des langages de programmation, la bibliothèque de client offre quant à elle un moyen facile d’intégrer le service à vos applications. Le code source de cet exemple est disponible sur GitHub.
Prérequis
- N’importe quelle édition de Visual Studio 2017 ou ultérieure.
- Le framework Json.NET, disponible sous forme de package NuGet.
- Si vous utilisez Linux/MacOS, cette application peut être exécutée à l’aide de Mono.
- Le package NuGet du SDK Recherche d’actualités Bing. L’installation de ce package installe également les éléments suivants :
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Pour ajouter la bibliothèque de client Recherche d’entités Bing à votre projet Visual Studio, utilisez l’option Gérer les packages NuGet à partir de l’Explorateur de solutions, puis ajoutez le package Microsoft.Azure.CognitiveServices.Search.EntitySearch
.
Créer une ressource Azure
Commencez à utiliser l’API Recherche d’entités Bing en créant une des ressources Azure suivantes.
Ressource Recherche d’entités Bing
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.
- L’API Recherche d’entités Bing est aussi proposée à certains niveaux de la ressource Recherche Bing v7.
Ressource multiservice
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez la même clé et le même point de terminaison pour vos applications, dans plusieurs services Cognitive Services.
Créer et lancer une application
Créez une solution console en C# dans Visual Studio. Ajoutez ensuite les éléments suivants dans le fichier de code principal.
using System; using System.Linq; using System.Text; using Microsoft.Azure.CognitiveServices.Search.EntitySearch; using Microsoft.Azure.CognitiveServices.Search.EntitySearch.Models; using Newtonsoft.Json;
Créer un client et envoyer une requête de recherche
Créez un client de recherche. Ajoutez votre clé d’abonnement en créant un
ApiKeyServiceClientCredentials
.var client = new EntitySearchClient(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
Utilisez la fonction
Entities.Search()
du client pour rechercher votre requête :var entityData = client.Entities.Search(query: "Satya Nadella");
Obtenir et imprimer une description d’entité
Si l’API a retourné des résultats de recherche, obtenez l’entité principale à partir de
entityData
.var mainEntity = entityData.Entities.Value.Where(thing => thing.EntityPresentationInfo.EntityScenario == EntityScenario.DominantEntity).FirstOrDefault();
Imprimer la description de l’entité principale
Console.WriteLine(mainEntity.Description);
Étapes suivantes
Utilisez ce guide de démarrage rapide pour commencer à rechercher des entités avec la bibliothèque de client Recherche d’entités Bing pour Java. Si l’outil Recherche d’entités Bing a une API REST compatible avec la plupart des langages de programmation, la bibliothèque de client offre quant à elle un moyen facile d’intégrer le service à vos applications. Le code source de cet exemple est disponible sur GitHub.
Prérequis
La bibliothèque de client Recherche d’entités Bing pour Java
Installez les dépendances de bibliothèque de client Recherche d’entités Bing en utilisant Maven, Gradle ou un autre système de gestion des dépendances. Le fichier POM Maven nécessite la déclaration suivante :
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-entitysearch</artifactId>
<version>1.0.2</version>
</dependency>
Créer une ressource Azure
Commencez à utiliser l’API Recherche d’entités Bing en créant une des ressources Azure suivantes.
Ressource Recherche d’entités Bing
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.
- L’API Recherche d’entités Bing est aussi proposée à certains niveaux de la ressource Recherche Bing v7.
Ressource multiservice
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez la même clé et le même point de terminaison pour vos applications, dans plusieurs services Cognitive Services.
Créer et initialiser un projet
Créez un projet Java dans votre éditeur ou IDE favori, puis importez les bibliothèques suivantes.
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;
Créer une variable pour votre clé d’abonnement
String subscriptionKey = "your-key-here"
Créer un client de recherche
Implémentez le client
dominantEntityLookup
, qui nécessite votre point de terminaison d’API et une instance de la classeServiceClientCredentials
. Vous pouvez utiliser le point de terminaison global ci-dessous, ou le point de terminaison de sous-domaine personnalisé affiché dans le portail Azure pour votre ressource.public static EntitySearchAPIImpl getClient(final String subscriptionKey) { return new EntitySearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { //... } )};
Pour implémenter
ServiceClientCredentials
, effectuez les étapes suivantes :Remplacez la fonction
applyCredentialsFilter()
avec un objetOkHttpClient.Builder
en tant que paramètre.//... new ServiceClientCredentials() { @Override public void applyCredentialsFilter(OkHttpClient.Builder builder) { //... } //...
Au sein de
applyCredentialsFilter()
, appelezbuilder.addNetworkInterceptor()
. Créez un objetInterceptor
et remplacez sa méthodeintercept()
pour prendre un objet intercepteurChain
.//... builder.addNetworkInterceptor( new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { //... } }); ///...
Au sein de la fonction
intercept
, créez des variables pour votre requête. UtilisezRequest.Builder()
pour générer votre requête. Ajoutez votre clé d’abonnement à l’en-têteOcp-Apim-Subscription-Key
et retournezchain.proceed()
sur l’objet de requête.//... 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); } //...
Envoyer une requête et recevoir une réponse
Créez une instance du client de recherche avec votre clé d’abonnement. Utilisez
client.entities().search()
pour envoyer une demande pour la requête de recherchesatya nadella
et obtenir une réponse.EntitySearchAPIImpl client = getClient(subscriptionKey); SearchResponseInner entityData = client.entities().search( "satya nadella", null, null, null, null, null, null, "en-us", null, null, SafeSearch.STRICT, null);
Si des entités sont retournées, convertissez-les en liste. Itérez en leur sein et affichez l’entité dominante.
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; } } }
Étapes suivantes
Utilisez ce guide de démarrage rapide pour commencer à rechercher des entités avec la bibliothèque de client Recherche d’entités Bing pour JavaScript. Si l’outil Recherche d’entités Bing a une API REST compatible avec la plupart des langages de programmation, la bibliothèque de client offre quant à elle un moyen facile d’intégrer le service à vos applications. Le code source de cet exemple est disponible sur GitHub.
Prérequis
- La dernière version de Node.js.
- Le SDK Recherche d’entités Bing pour JavaScript
- Pour l’installer, exécutez
npm install @azure/cognitiveservices-entitysearch
- Pour l’installer, exécutez
- La classe
CognitiveServicesCredentials
du package@azure/ms-rest-azure-js
pour authentifier le client.- Pour l’installer, exécutez
npm install @azure/ms-rest-azure-js
- Pour l’installer, exécutez
Créer une ressource Azure
Commencez à utiliser l’API Recherche d’entités Bing en créant une des ressources Azure suivantes.
Ressource Recherche d’entités Bing
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.
- L’API Recherche d’entités Bing est aussi proposée à certains niveaux de la ressource Recherche Bing v7.
Ressource multiservice
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez la même clé et le même point de terminaison pour vos applications, dans plusieurs services Cognitive Services.
Créer et initialiser l’application
Créez un fichier JavaScript dans votre éditeur ou IDE favori, puis ajoutez les exigences suivantes.
const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; const EntitySearchAPIClient = require('@azure/cognitiveservices-entitysearch');
Créez une instance de
CognitiveServicesCredentials
à l’aide de votre clé d’abonnement. Ensuite, créez une instance du client de recherche avec cette dernière.let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let entitySearchApiClient = new EntitySearchAPIClient(credentials);
Envoyer une requête et recevoir une réponse
Envoyez une requête de recherche d’entités avec
entitiesOperations.search()
. Après avoir reçu une réponse, imprimez lequeryContext
, le nombre de résultats retournés et la description du premier résultat.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; });
Étapes suivantes
Utilisez ce guide de démarrage rapide pour commencer à rechercher des entités avec la bibliothèque de client Recherche d’entités Bing pour Python. Si l’outil Recherche d’entités Bing a une API REST compatible avec la plupart des langages de programmation, la bibliothèque de client offre quant à elle un moyen facile d’intégrer le service à vos applications. Le code source de cet exemple est disponible sur GitHub.
Prérequis
Nous vous recommandons d’utiliser un environnement virtuel Python. Vous pouvez installer et lancer un environnement virtuel avec le module venv. Vous pouvez installer virtualenv avec :
python -m venv mytestenv
Installez la bibliothèque de client Recherche d’entités Bing avec :
cd mytestenv
python -m pip install azure-cognitiveservices-search-entitysearch
Créer une ressource Azure
Commencez à utiliser l’API Recherche d’entités Bing en créant une des ressources Azure suivantes.
Ressource Recherche d’entités Bing
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.
- L’API Recherche d’entités Bing est aussi proposée à certains niveaux de la ressource Recherche Bing v7.
Ressource multiservice
- Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
- Utilisez la même clé et le même point de terminaison pour vos applications, dans plusieurs services Cognitive Services.
Créer et initialiser l’application
Créez un fichier Python dans votre éditeur ou IDE favori, puis ajoutez les instructions d’importation suivantes.
from azure.cognitiveservices.search.entitysearch import EntitySearchClient from azure.cognitiveservices.search.entitysearch.models import Place, ErrorResponseException from msrest.authentication import CognitiveServicesCredentials
Créez une variable pour votre clé d’abonnement et votre point de terminaison. Instanciez le client en créant un objet
CognitiveServicesCredentials
avec votre clé.subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" client = EntitySearchclient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Envoyer une requête de recherche et recevoir une réponse
Envoyez une requête de recherche à Recherche d’entités Bing avec
client.entities.search()
et ladite requête.entity_data = client.entities.search(query="Gibralter")
Si des entités sont retournées, convertissez
entity_data.entities.value
en liste et imprimez le premier résultat.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)