Share via


Início Rápido: Utilizar a biblioteca de cliente da Pesquisa de Entidades do Bing

Aviso

A 30 de outubro de 2020, as APIs de Pesquisa do Bing passaram dos serviços de IA do Azure para os Serviços Pesquisa do Bing. Esta documentação é fornecida apenas para referência. Para obter documentação atualizada, veja a documentação da API de pesquisa do Bing. Para obter instruções sobre como criar novos recursos do Azure para a pesquisa do Bing, veja Criar um recurso de Pesquisa do Bing através do Azure Marketplace.

Utilize este início rápido para começar a procurar entidades com a biblioteca de cliente da Pesquisa de Entidades do Bing para C#. Embora a Pesquisa de Entidades do Bing tenha uma API REST compatível com a maioria das linguagens de programação, a biblioteca de cliente fornece uma forma fácil de integrar o serviço nas suas aplicações. O código fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

Para adicionar a biblioteca de cliente da Pesquisa de Entidades do Bing ao seu projeto do Visual Studio, utilize a opção Gerir Pacotes NuGet do Explorador de Soluções e adicione o Microsoft.Azure.CognitiveServices.Search.EntitySearch pacote.

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa de Entidades do Bing ao criar um dos seguintes recursos do Azure.

Recurso de Pesquisa de Entidades do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.
  • A Pesquisa de Entidades do Bing também é disponibilizada em escalões pagos do recurso Pesquisa do Bing v7.

Recurso multi-serviço

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Criar e inicializar uma aplicação

  1. criar uma nova solução de consola C# no Visual Studio. Em seguida, adicione o seguinte ao ficheiro 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;
    

Criar um cliente e enviar um pedido de pesquisa

  1. Crie um novo cliente de pesquisa. Adicione a sua chave de subscrição ao criar um novo ApiKeyServiceClientCredentials.

    var client = new EntitySearchClient(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
    
  2. Utilize a função do Entities.Search() cliente para procurar a consulta:

    var entityData = client.Entities.Search(query: "Satya Nadella");
    

Obter e imprimir uma descrição de entidade

  1. Se a API devolveu os resultados da pesquisa, obtenha a entidade principal a partir de entityData.

    var mainEntity = entityData.Entities.Value.Where(thing => thing.EntityPresentationInfo.EntityScenario == EntityScenario.DominantEntity).FirstOrDefault();
    
  2. Imprimir a descrição da entidade principal

    Console.WriteLine(mainEntity.Description);
    

Passos seguintes

Utilize este início rápido para começar a procurar entidades com a biblioteca de cliente da Pesquisa de Entidades do Bing para Java. Embora a Pesquisa de Entidades do Bing tenha uma API REST compatível com a maioria das linguagens de programação, a biblioteca de cliente fornece uma forma fácil de integrar o serviço nas suas aplicações. O código fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

Instale as dependências da biblioteca de cliente da Pesquisa de Entidades do Bing com o Maven, o Gradle ou outro sistema de gestão de dependências. O ficheiro POM do Maven requer a declaração:

<dependency>
  <groupId>com.microsoft.azure.cognitiveservices</groupId>
  <artifactId>azure-cognitiveservices-entitysearch</artifactId>
  <version>1.0.2</version>
</dependency>

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa de Entidades do Bing ao criar um dos seguintes recursos do Azure.

Recurso de Pesquisa de Entidades do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.
  • A Pesquisa de Entidades do Bing também é disponibilizada em escalões pagos do recurso Pesquisa do Bing v7.

Recurso multi-serviço

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Criar e inicializar um projeto

  1. Crie um novo projeto Java no seu IDE ou editor favorito e importe as seguintes bibliotecas.

    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;
    
  2. Criar uma variável para a sua chave de subscrição

    String subscriptionKey = "your-key-here"
    

Criar um cliente de pesquisa

  1. Implemente o dominantEntityLookup cliente, que requer o ponto final da API e uma instância da ServiceClientCredentials classe . Pode utilizar o ponto final global abaixo ou o ponto final de subdomínio personalizado apresentado no portal do Azure do recurso.

    public static EntitySearchAPIImpl getClient(final String subscriptionKey) {
        return new EntitySearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                //...
                }
    )};
    

    Para implementar o ServiceClientCredentials, siga estes passos:

    1. substitua a applyCredentialsFilter() função, com um OkHttpClient.Builder objeto como parâmetro.

      //...
      new ServiceClientCredentials() {
              @Override
              public void applyCredentialsFilter(OkHttpClient.Builder builder) {
              //...
              }
      //...
      
    2. Em applyCredentialsFilter(), chame builder.addNetworkInterceptor(). Crie um novo Interceptor objeto e substitua o respetivo intercept() método para utilizar um Chain objeto de interceção.

      //...
      builder.addNetworkInterceptor(
          new Interceptor() {
              @Override
              public Response intercept(Chain chain) throws IOException {
              //...    
              }
          });
      ///...
      
    3. intercept Na função , crie variáveis para o seu pedido. Utilize Request.Builder() para criar o seu pedido. Adicione a chave de subscrição ao Ocp-Apim-Subscription-Key cabeçalho e regresse chain.proceed() ao objeto de pedido.

      //...
      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);
      }
      //...
      

Enviar um pedido e receber uma resposta

  1. Crie uma nova instância do cliente de pesquisa com a sua chave de subscrição. utilize client.entities().search() para enviar um pedido de pesquisa para a consulta satya nadellade pesquisa e obter uma resposta.

    EntitySearchAPIImpl client = getClient(subscriptionKey);
    SearchResponseInner entityData = client.entities().search(
            "satya nadella", null, null, null, null, null, null, "en-us", null, null, SafeSearch.STRICT, null);
    
  2. Se alguma entidade tiver sido devolvida, converta-as numa lista. Itere através deles e imprima a entidade 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;
            }
        }
    }
    

Passos seguintes

Utilize este início rápido para começar a procurar entidades com a biblioteca de cliente da Pesquisa de Entidades do Bing para JavaScript. Embora a Pesquisa de Entidades do Bing tenha uma API REST compatível com a maioria das linguagens de programação, a biblioteca de cliente fornece uma forma fácil de integrar o serviço nas suas aplicações. O código fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

  • A versão mais recente do Node.js.
  • O SDK de Pesquisa de Entidades do Bing para JavaScript
    • Para instalar, execute npm install @azure/cognitiveservices-entitysearch
  • A CognitiveServicesCredentials classe do @azure/ms-rest-azure-js pacote para autenticar o cliente.
    • Para instalar, execute npm install @azure/ms-rest-azure-js

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa de Entidades do Bing ao criar um dos seguintes recursos do Azure.

Recurso de Pesquisa de Entidades do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.
  • A Pesquisa de Entidades do Bing também é disponibilizada em escalões pagos do recurso Pesquisa do Bing v7.

Recurso multi-serviço

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Criar e inicializar a aplicação

  1. Crie um novo ficheiro JavaScript no seu IDE ou editor favorito e adicione os seguintes requisitos.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    const EntitySearchAPIClient = require('@azure/cognitiveservices-entitysearch');
    
  2. Crie uma instância de utilização da sua chave de CognitiveServicesCredentials subscrição. Em seguida, crie uma instância do cliente de pesquisa com o mesmo.

    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let entitySearchApiClient = new EntitySearchAPIClient(credentials);
    

Enviar um pedido e receber uma resposta

  1. Envie um pedido de pesquisa de entidades com entitiesOperations.search(). Depois de receber uma resposta, imprima o número , o queryContextnúmero de resultados devolvidos e a descrição do primeiro 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;
    });
    

Passos seguintes

Utilize este início rápido para começar a procurar entidades com a biblioteca de cliente da Pesquisa de Entidades do Bing para Python. Embora a Pesquisa de Entidades do Bing tenha uma API REST compatível com a maioria das linguagens de programação, a biblioteca de cliente fornece uma forma fácil de integrar o serviço nas suas aplicações. O código fonte deste exemplo pode ser encontrado no GitHub.

Pré-requisitos

Recomenda-se que utilize um ambiente virtual do Python. Pode instalar e inicializar um ambiente virtual com o módulo venv. Pode instalar virtualenv com:

python -m venv mytestenv

Instale a biblioteca de cliente da Pesquisa de Entidades do Bing com:

cd mytestenv
python -m pip install azure-cognitiveservices-search-entitysearch

Criar um recurso do Azure

Comece a utilizar a API de Pesquisa de Entidades do Bing ao criar um dos seguintes recursos do Azure.

Recurso de Pesquisa de Entidades do Bing

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize o escalão de preço gratuito para experimentar o serviço e atualize mais tarde para um escalão pago para produção.
  • A Pesquisa de Entidades do Bing também é disponibilizada em escalões pagos do recurso Pesquisa do Bing v7.

Recurso multi-serviço

  • Disponível através do portal do Azure até eliminar o recurso.
  • Utilize a mesma chave e ponto final para as suas aplicações, em vários serviços de IA do Azure.

Criar e inicializar a aplicação

  1. Crie um novo ficheiro Python no seu IDE ou editor favorito e adicione as seguintes instruções de importação.

    from azure.cognitiveservices.search.entitysearch import EntitySearchClient
    from azure.cognitiveservices.search.entitysearch.models import Place, ErrorResponseException
    from msrest.authentication import CognitiveServicesCredentials
    
  2. Crie uma variável para a sua chave de subscrição e ponto final. Instanciar o cliente ao criar um novo CognitiveServicesCredentials objeto com a sua chave.

    subscription_key = "YOUR-SUBSCRIPTION-KEY"
    endpoint = "YOUR-ENDPOINT"
    client = EntitySearchclient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    

Enviar um pedido de pesquisa e receber uma resposta

  1. Envie um pedido de pesquisa para a Pesquisa de Entidades do Bing com client.entities.search() e uma consulta de pesquisa.

    entity_data = client.entities.search(query="Gibralter")
    
  2. Se forem devolvidas entidades, converta entity_data.entities.value numa lista e imprima o primeiro 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)
    

Passos seguintes