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
- Qualquer edição do Visual Studio 2017 ou posterior.
- O framework Json.NET, disponível como um pacote NuGet.
- Se estiver a utilizar o Linux/MacOS, esta aplicação pode ser executada com o Mono.
- O pacote NuGet do SDK de Pesquisa de Notícias do Bing. A instalação deste pacote também instala o seguinte:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
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
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
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"));
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
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();
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
A biblioteca de cliente da Pesquisa de Entidades do Bing para Java
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
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;
Criar uma variável para a sua chave de subscrição
String subscriptionKey = "your-key-here"
Criar um cliente de pesquisa
Implemente o
dominantEntityLookup
cliente, que requer o ponto final da API e uma instância daServiceClientCredentials
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:substitua a
applyCredentialsFilter()
função, com umOkHttpClient.Builder
objeto como parâmetro.//... new ServiceClientCredentials() { @Override public void applyCredentialsFilter(OkHttpClient.Builder builder) { //... } //...
Em
applyCredentialsFilter()
, chamebuilder.addNetworkInterceptor()
. Crie um novoInterceptor
objeto e substitua o respetivointercept()
método para utilizar umChain
objeto de interceção.//... builder.addNetworkInterceptor( new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { //... } }); ///...
intercept
Na função , crie variáveis para o seu pedido. UtilizeRequest.Builder()
para criar o seu pedido. Adicione a chave de subscrição aoOcp-Apim-Subscription-Key
cabeçalho e regressechain.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
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 consultasatya nadella
de 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);
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
- Para instalar, execute
- A
CognitiveServicesCredentials
classe do@azure/ms-rest-azure-js
pacote para autenticar o cliente.- Para instalar, execute
npm install @azure/ms-rest-azure-js
- Para instalar, execute
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
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');
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
Envie um pedido de pesquisa de entidades com
entitiesOperations.search()
. Depois de receber uma resposta, imprima o número , oqueryContext
nú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
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
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
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")
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)