Inicio rápido: Uso de la biblioteca cliente de Bing Entity Search
Advertencia
El 30 de octubre de 2020, las API de Bing Search se trasladaron de los servicios de Azure AI a los servicios de Bing Search. Esta documentación se proporciona solo como referencia. Para obtener documentación actualizada, consulte la documentación de Bing Search API. Para obtener instrucciones sobre cómo crear nuevos recursos de Azure para Bing Search, consulte el artículo sobre la creación de un recurso de Bing Search a través de Azure Marketplace.
Use este inicio rápido para empezar a buscar entidades con la biblioteca cliente para C# de Bing Entity Search. Aunque Bing Entity Search tiene una API REST compatible con la mayoría de los lenguajes de programación, la biblioteca cliente proporciona una forma sencilla de integrar el servicio en sus aplicaciones. El código fuente de este ejemplo está disponible en GitHub.
Prerrequisitos
- Cualquier edición de Visual Studio 2017 o versiones posteriores.
- El marco Json.NET, disponible como un paquete NuGet.
- Si usa Linux/MacOS, esta aplicación puede ejecutarse con Mono.
- El paquete NuGet del SDK de Bing News Search. La instalación de este paquete también instala lo siguiente:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Para añadir la biblioteca cliente de Bing Entity Search al proyecto de Visual Studio, use la opción Administrar paquetes de NuGet del Explorador de soluciones y agregue el paquete Microsoft.Azure.CognitiveServices.Search.EntitySearch
.
Creación de un recurso de Azure
Comience a usar Bing Entity Search API mediante la creación de uno de los recursos de Azure que se indican a continuación.
Recurso de Bing Entity Search
- Disponible en Azure Portal hasta que lo elimine.
- Use el plan de tarifa gratuito para probar el servicio y actualícelo más adelante a un nivel de pago para producción.
- Bing Entity Search también se ofrece en los niveles de pago del recurso Bing Search, versión 7.
Recurso de varios servicios
- Disponible en Azure Portal hasta que lo elimine.
- Utilice la misma clave y el mismo punto de conexión para sus aplicaciones en varios servicios de Azure AI.
Creación e inicialización de una aplicación
Cree una solución de consola de C# en Visual Studio. Después, agregue lo siguiente en el archivo de código 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;
Creación de un cliente y envío de una solicitud de búsqueda
Cree un cliente de búsqueda. Agregue su clave de suscripción mediante la creación de un nuevo
ApiKeyServiceClientCredentials
.var client = new EntitySearchClient(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
Use la función
Entities.Search()
del cliente para buscar la consulta:var entityData = client.Entities.Search(query: "Satya Nadella");
Obtención e impresión de una descripción de entidad
Si la API devolvió los resultados de la búsqueda, obtenga la entidad principal de
entityData
.var mainEntity = entityData.Entities.Value.Where(thing => thing.EntityPresentationInfo.EntityScenario == EntityScenario.DominantEntity).FirstOrDefault();
Impresión de la descripción de la entidad principal
Console.WriteLine(mainEntity.Description);
Pasos siguientes
Use este inicio rápido para empezar a buscar entidades con la biblioteca cliente para Java de Bing Entity Search. Aunque Bing Entity Search tiene una API REST compatible con la mayoría de los lenguajes de programación, la biblioteca cliente proporciona una forma sencilla de integrar el servicio en sus aplicaciones. El código fuente de este ejemplo está disponible en GitHub.
Prerrequisitos
Biblioteca cliente de Bing Entity Search para Java
Instale las dependencias de la biblioteca cliente de Bing Entity Search con Maven, Gradle u otro sistema de administración de dependencias. El archivo POM de Maven requiere la declaración:
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-entitysearch</artifactId>
<version>1.0.2</version>
</dependency>
Creación de un recurso de Azure
Comience a usar Bing Entity Search API mediante la creación de uno de los recursos de Azure que se indican a continuación.
Recurso de Bing Entity Search
- Disponible en Azure Portal hasta que lo elimine.
- Use el plan de tarifa gratuito para probar el servicio y actualícelo más adelante a un nivel de pago para producción.
- Bing Entity Search también se ofrece en los niveles de pago del recurso Bing Search, versión 7.
Recurso de varios servicios
- Disponible en Azure Portal hasta que lo elimine.
- Utilice la misma clave y el mismo punto de conexión para sus aplicaciones en varios servicios de Azure AI.
Creación e inicialización de un proyecto
Cree un proyecto de Java en su IDE o editor favorito e importe las bibliotecas siguientes.
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;
Creación de una variable para la clave de suscripción
String subscriptionKey = "your-key-here"
Creación de un cliente de búsqueda
Implemente el cliente
dominantEntityLookup
, lo que requiere un punto de conexión de API y una instancia de la claseServiceClientCredentials
. Puede usar el punto de conexión global siguiente o el punto de conexión del subdominio personalizado que se muestra en Azure Portal para el recurso.public static EntitySearchAPIImpl getClient(final String subscriptionKey) { return new EntitySearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { //... } )};
Para implementar
ServiceClientCredentials
, siga estos pasos:Reemplace la función
applyCredentialsFilter()
por un objetoOkHttpClient.Builder
como parámetro.//... new ServiceClientCredentials() { @Override public void applyCredentialsFilter(OkHttpClient.Builder builder) { //... } //...
Dentro de
applyCredentialsFilter()
, llame abuilder.addNetworkInterceptor()
. Cree un nuevo objetoInterceptor
e invalide su métodointercept()
para tomar un objeto interceptorChain
.//... builder.addNetworkInterceptor( new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { //... } }); ///...
Dentro de la función
intercept
, cree variables para su solicitud. UseRequest.Builder()
para compilar su solicitud. Agregue su clave de suscripción al encabezadoOcp-Apim-Subscription-Key
y devuelvachain.proceed()
en el objeto de solicitud.//... 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); } //...
Envío de una solicitud y recepción de la respuesta
Cree una nueva instancia del cliente de búsqueda con la clave de suscripción. Use
client.entities().search()
para enviar una solicitud de búsqueda para la consulta de búsquedasatya nadella
y obtener una respuesta.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 se ha devuelto alguna entidad, convertirla en una lista. Recórralas e imprima la entidad 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; } } }
Pasos siguientes
Use este inicio rápido para empezar a buscar entidades con la biblioteca cliente para JavaScript de Bing Entity Search. Aunque Bing Entity Search tiene una API REST compatible con la mayoría de los lenguajes de programación, la biblioteca cliente proporciona una forma sencilla de integrar el servicio en sus aplicaciones. El código fuente de este ejemplo está disponible en GitHub.
Prerrequisitos
- La última versión de Node.js.
- El SDK de Bing Entity Search para JavaScript.
- Para instalarlo, ejecute
npm install @azure/cognitiveservices-entitysearch
.
- Para instalarlo, ejecute
- La clase
CognitiveServicesCredentials
del paquete@azure/ms-rest-azure-js
para autenticar el cliente.- Para instalarlo, ejecute
npm install @azure/ms-rest-azure-js
.
- Para instalarlo, ejecute
Creación de un recurso de Azure
Comience a usar Bing Entity Search API mediante la creación de uno de los recursos de Azure que se indican a continuación.
Recurso de Bing Entity Search
- Disponible en Azure Portal hasta que lo elimine.
- Use el plan de tarifa gratuito para probar el servicio y actualícelo más adelante a un nivel de pago para producción.
- Bing Entity Search también se ofrece en los niveles de pago del recurso Bing Search, versión 7.
Recurso de varios servicios
- Disponible en Azure Portal hasta que lo elimine.
- Utilice la misma clave y el mismo punto de conexión para sus aplicaciones en varios servicios de Azure AI.
Creación e inicialización de la aplicación
Cree un archivo JavaScript en el editor o el IDE que prefiera y agregue los siguientes requisitos.
const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; const EntitySearchAPIClient = require('@azure/cognitiveservices-entitysearch');
Cree una instancia de
CognitiveServicesCredentials
mediante su clave de suscripción. Luego, cree una instancia del cliente de búsqueda con ella.let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let entitySearchApiClient = new EntitySearchAPIClient(credentials);
Envío de una solicitud y recepción de la respuesta
Envíe una solicitud de búsqueda de entidades con
entitiesOperations.search()
. Después de recibir una respuesta, imprima elqueryContext
, el número de resultados devueltos y la descripción del primer resultado.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; });
Pasos siguientes
Use este inicio rápido para empezar a buscar entidades con la biblioteca cliente para Python de Bing Entity Search. Aunque Bing Entity Search tiene una API REST compatible con la mayoría de los lenguajes de programación, la biblioteca cliente proporciona una forma sencilla de integrar el servicio en sus aplicaciones. El código fuente de este ejemplo está disponible en GitHub.
Prerrequisitos
Se recomienda utilizar un entorno virtual de Python. Puede instalar e inicializar un entorno virtual con el módulo venv. Puede instalar virtualenv con:
python -m venv mytestenv
Instale la biblioteca cliente de Bing Entity Search mediante:
cd mytestenv
python -m pip install azure-cognitiveservices-search-entitysearch
Creación de un recurso de Azure
Comience a usar Bing Entity Search API mediante la creación de uno de los recursos de Azure que se indican a continuación.
Recurso de Bing Entity Search
- Disponible en Azure Portal hasta que lo elimine.
- Use el plan de tarifa gratuito para probar el servicio y actualícelo más adelante a un nivel de pago para producción.
- Bing Entity Search también se ofrece en los niveles de pago del recurso Bing Search, versión 7.
Recurso de varios servicios
- Disponible en Azure Portal hasta que lo elimine.
- Utilice la misma clave y el mismo punto de conexión para sus aplicaciones en varios servicios de Azure AI.
Creación e inicialización de la aplicación
Cree un archivo de Python en el IDE o editor que prefiera y agregue las siguientes instrucciones de importación.
from azure.cognitiveservices.search.entitysearch import EntitySearchClient from azure.cognitiveservices.search.entitysearch.models import Place, ErrorResponseException from msrest.authentication import CognitiveServicesCredentials
Cree una variable para la clave y el punto de conexión de la suscripción. Cree una instancia del cliente mediante la creación de un objeto
CognitiveServicesCredentials
con la clave.subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" client = EntitySearchclient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Envío de una solicitud de búsqueda y recepción de la respuesta
Envíe una solicitud de búsqueda a Bing Entity Search con
client.entities.search()
y una consulta de búsqueda.entity_data = client.entities.search(query="Gibralter")
Si se devuelven entidades, convierta
entity_data.entities.value
en una lista e imprima el primer resultado.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)