Freigeben über


Schnellstart: Verwenden der Clientbibliothek für die Bing-Entitätssuche

Warnung

Am 30. Oktober 2020 wurden die Bing-Suche-APIs aus den Azure KI Services in die Bing-Suchdienste verschoben. Diese Dokumentation wird nur zu Referenzzwecken bereitgestellt. Eine aktualisierte Dokumentation finden Sie in der Dokumentation zu den Bing-Suche-APIs. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.

Verwenden Sie diese Schnellstartanleitung, um unter Verwendung der Bing-Entitätssuche-Clientbibliothek für C# mit der Suche nach Entitäten zu beginnen. Die Bing-Entitätssuche verfügt zwar über eine REST-API, die mit den meisten Programmiersprachen kompatibel ist, die Clientbibliothek ist jedoch eine einfache Möglichkeit, den Dienst in Ihre Anwendungen zu integrieren. Den Quellcode für dieses Beispiel finden Sie auf GitHub.

Voraussetzungen

Verwenden Sie die Option NuGet-Pakete verwalten im Projektmappen-Explorer, und fügen Sie das Paket Microsoft.Azure.CognitiveServices.Search.EntitySearch hinzu, um Ihrem Visual Studio-Projekt die Clientbibliothek für die Bing-Entitätssuche hinzuzufügen.

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing-Entitätssuche-API, indem Sie eine der folgenden Azure-Ressourcen erstellen.

Ressource für die Bing-Entitätssuche

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.
  • Die Bing-Entitätssuche wird auch in kostenpflichtigen Tarifen der Bing-Suche v7-Ressource angeboten.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie in allen Azure KI Services-Instanzen denselben Schlüssel und Endpunkt für Ihre Anwendungen.

Erstellen und Initialisieren einer Anwendung

  1. Erstellen Sie eine neue C#-Konsolenprojektmappe in Visual Studio. Fügen Sie dann Folgendes in die Hauptcodedatei ein:

    using System;
    using System.Linq;
    using System.Text;
    using Microsoft.Azure.CognitiveServices.Search.EntitySearch;
    using Microsoft.Azure.CognitiveServices.Search.EntitySearch.Models;
    using Newtonsoft.Json;
    

Erstellen eines Clients und Senden einer Suchanforderung

  1. Erstellen Sie einen neuen Suchclient. Erstellen Sie ein neues Element vom Typ ApiKeyServiceClientCredentials, um Ihren Abonnementschlüssel hinzuzufügen.

    var client = new EntitySearchClient(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
    
  2. Verwenden Sie die Funktion Entities.Search() des Clients, um nach Ihrer Abfrage zu suchen:

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

Abrufen und Ausgeben einer Entitätsbeschreibung

  1. Falls die API Suchergebnisse zurückgegeben hat, rufen Sie die Hauptentität aus entityData ab.

    var mainEntity = entityData.Entities.Value.Where(thing => thing.EntityPresentationInfo.EntityScenario == EntityScenario.DominantEntity).FirstOrDefault();
    
  2. Ausgeben der Beschreibung der Hauptentität

    Console.WriteLine(mainEntity.Description);
    

Nächste Schritte

Verwenden Sie diese Schnellstartanleitung, um unter Verwendung der Bing-Entitätssuche-Clientbibliothek für Java mit der Suche nach Entitäten zu beginnen. Die Bing-Entitätssuche verfügt zwar über eine REST-API, die mit den meisten Programmiersprachen kompatibel ist, die Clientbibliothek ist jedoch eine einfache Möglichkeit, den Dienst in Ihre Anwendungen zu integrieren. Den Quellcode für dieses Beispiel finden Sie auf GitHub.

Voraussetzungen

Installieren Sie die Abhängigkeit für die Bing-Entitätssuche-Clientbibliothek mithilfe von Maven, Gradle oder einem anderen Abhängigkeitsverwaltungssystem. Die POM-Datei für Maven erfordert die folgende Deklaration:

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

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing-Entitätssuche-API, indem Sie eine der folgenden Azure-Ressourcen erstellen.

Ressource für die Bing-Entitätssuche

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.
  • Die Bing-Entitätssuche wird auch in kostenpflichtigen Tarifen der Bing-Suche v7-Ressource angeboten.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie in allen Azure KI Services-Instanzen denselben Schlüssel und Endpunkt für Ihre Anwendungen.

Erstellen und Initialisieren eines Projekts

  1. Erstellen Sie in Ihrer bevorzugten IDE oder in Ihrem bevorzugten Editor ein neues Java-Projekt, und importieren Sie die folgenden Bibliotheken.

    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. Erstellen Sie eine Variable für Ihren Abonnementschlüssel.

    String subscriptionKey = "your-key-here"
    

Erstellen eines Suchclients

  1. Implementieren Sie den dominantEntityLookup-Client, der Ihren API-Endpunkt und eine Instanz der ServiceClientCredentials-Klasse erfordert. Sie können den unten angegebenen globalen Endpunkt oder den Endpunkt der benutzerdefinierten Unterdomäne verwenden, der im Azure-Portal für Ihre Ressource angezeigt wird.

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

    Führen Sie zum Implementieren von ServiceClientCredentials die folgenden Schritte aus:

    1. Überschreiben Sie die Funktion applyCredentialsFilter() mit einem OkHttpClient.Builder-Objekt als Parameter.

      //...
      new ServiceClientCredentials() {
              @Override
              public void applyCredentialsFilter(OkHttpClient.Builder builder) {
              //...
              }
      //...
      
    2. Rufen Sie builder.addNetworkInterceptor() in applyCredentialsFilter() auf. Erstellen Sie ein neues Interceptor-Objekt, und überschreiben Sie seine intercept()-Methode, um ein Interceptor-Objekt vom Typ Chain zu übernehmen.

      //...
      builder.addNetworkInterceptor(
          new Interceptor() {
              @Override
              public Response intercept(Chain chain) throws IOException {
              //...    
              }
          });
      ///...
      
    3. Erstellen Sie in der Funktion intercept Variablen für Ihre Anforderung. Verwenden Sie Request.Builder() zum Erstellen Ihrer Anforderung. Fügen Sie dem Header Ocp-Apim-Subscription-Key Ihren Abonnementschlüssel hinzu, und geben Sie chain.proceed() für das Anforderungsobjekt zurück.

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

Senden einer Anforderung und Erhalten einer Antwort

  1. Erstellen Sie eine neue Instanz des Suchclients mit Ihrem Abonnementschlüssel. Verwenden Sie client.entities().search(), um eine Suchanforderung für die Suchabfrage satya nadella zu senden und eine Antwort zu erhalten.

    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. Wenn Entitäten zurückgegeben wurden, konvertieren Sie sie in eine Liste. Durchlaufen Sie sie, und geben Sie die dominante Entität aus.

    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;
            }
        }
    }
    

Nächste Schritte

Verwenden Sie diese Schnellstartanleitung, um unter Verwendung der Bing-Entitätssuche-Clientbibliothek für JavaScript mit der Suche nach Entitäten zu beginnen. Die Bing-Entitätssuche verfügt zwar über eine REST-API, die mit den meisten Programmiersprachen kompatibel ist, die Clientbibliothek ist jedoch eine einfache Möglichkeit, den Dienst in Ihre Anwendungen zu integrieren. Den Quellcode für dieses Beispiel finden Sie auf GitHub.

Voraussetzungen

  • Die aktuelle Version von Node.js
  • Das Bing Entitätssuche-SDK für JavaScript
    • Führen Sie zum Installieren npm install @azure/cognitiveservices-entitysearch aus.
  • Die CognitiveServicesCredentials-Klasse aus dem Paket @azure/ms-rest-azure-js zum Authentifizieren des Clients.
    • Führen Sie zum Installieren npm install @azure/ms-rest-azure-js aus.

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing-Entitätssuche-API, indem Sie eine der folgenden Azure-Ressourcen erstellen.

Ressource für die Bing-Entitätssuche

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.
  • Die Bing-Entitätssuche wird auch in kostenpflichtigen Tarifen der Bing-Suche v7-Ressource angeboten.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie in allen Azure KI Services-Instanzen denselben Schlüssel und Endpunkt für Ihre Anwendungen.

Erstellen und Initialisieren der Anwendung

  1. Erstellen Sie eine neue JavaScript-Datei in Ihrer bevorzugten IDE oder Ihrem bevorzugten Editor, und fügen Sie die folgenden Anforderungen hinzu.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    const EntitySearchAPIClient = require('@azure/cognitiveservices-entitysearch');
    
  2. Erstellen Sie mithilfe Ihres Abonnementschlüssels eine Instanz von CognitiveServicesCredentials. Dann erstellen Sie damit eine Instanz des Suchclients.

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

Senden einer Anforderung und Erhalten einer Antwort

  1. Senden Sie mit entitiesOperations.search() eine Suchanforderung für Entitäten. Nach dem Empfang einer Antwort geben Sie das queryContext-Element, die Anzahl der zurückgegebenen Ergebnisse, und die Beschreibung des ersten Ergebnisses aus.

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

Nächste Schritte

Verwenden Sie diese Schnellstartanleitung, um unter Verwendung der Bing-Entitätssuche-Clientbibliothek für Python mit der Suche nach Entitäten zu beginnen. Die Bing-Entitätssuche verfügt zwar über eine REST-API, die mit den meisten Programmiersprachen kompatibel ist, die Clientbibliothek ist jedoch eine einfache Möglichkeit, den Dienst in Ihre Anwendungen zu integrieren. Den Quellcode für dieses Beispiel finden Sie auf GitHub.

Voraussetzungen

Es wird empfohlen, eine virtuelle Python-Umgebung zu verwenden. Sie können eine virtuelle Umgebung mit dem venv-Modul installieren und initialisieren. virtualenv kann wie folgt installiert werden:

python -m venv mytestenv

Installieren Sie die Clientbibliothek für die Bing-Entitätssuche mit:

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

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing-Entitätssuche-API, indem Sie eine der folgenden Azure-Ressourcen erstellen.

Ressource für die Bing-Entitätssuche

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.
  • Die Bing-Entitätssuche wird auch in kostenpflichtigen Tarifen der Bing-Suche v7-Ressource angeboten.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie in allen Azure KI Services-Instanzen denselben Schlüssel und Endpunkt für Ihre Anwendungen.

Erstellen und Initialisieren der Anwendung

  1. Erstellen Sie in Ihrer bevorzugten IDE bzw. in einem Editor eine neue Python-Datei, und fügen Sie die folgenden Importanweisungen hinzu.

    from azure.cognitiveservices.search.entitysearch import EntitySearchClient
    from azure.cognitiveservices.search.entitysearch.models import Place, ErrorResponseException
    from msrest.authentication import CognitiveServicesCredentials
    
  2. Erstellen Sie eine Variable für Ihren Abonnementschlüssel und den Endpunkt. Instanziieren Sie den Client, indem Sie ein neues CognitiveServicesCredentials-Objekt mit Ihrem Schlüssel erstellen.

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

Senden einer Suchanforderung und Erhalten einer Antwort

  1. Senden Sie an die Bing-Entitätssuche eine Suchanforderung mit client.entities.search() und einer Suchabfrage.

    entity_data = client.entities.search(query="Gibralter")
    
  2. Falls Entitäten zurückgegeben wurden, konvertieren Sie entity_data.entities.value in eine Liste, und geben Sie das erste Ergebnis aus.

    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)
    

Nächste Schritte