Rychlý start: Použití klientské knihovny Bingu pro vyhledávání entit
Upozornění
30. října 2020 se rozhraní API Vyhledávání Bingu přesunula ze služeb Azure AI na Vyhledávání Bingu Services. Tato dokumentace je k dispozici pouze pro referenci. Aktualizovanou dokumentaci najdete v dokumentaci k rozhraní API bingu pro vyhledávání. Pokyny k vytváření nových prostředků Azure pro vyhledávání Bingem najdete v tématu Vytvoření prostředku Vyhledávání Bingu prostřednictvím Azure Marketplace.
Pomocí tohoto rychlého startu můžete začít vyhledávat entity pomocí klientské knihovny Vyhledávání entit Bingu pro jazyk C#. Zatímco vyhledávání entit Bingu má rozhraní REST API kompatibilní s většinou programovacích jazyků, klientská knihovna poskytuje snadný způsob integrace služby do vašich aplikací. Zdrojový kód pro tuto ukázku najdete na GitHubu.
Požadavky
- Libovolná edice sady Visual Studio 2017 nebo novější.
- Rozhraní Json.NET, k dispozici jako balíček NuGet.
- Pokud používáte Linux nebo MacOS, je možné tuto aplikaci spustit pomocí Mono.
-
Balíček NuGet sady SDK Bingu pro vyhledávání zpráv. Při instalaci tohoto balíčku se také nainstalují následující položky:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Pokud chcete přidat klientskou knihovnu Bingu pro vyhledávání entit do projektu sady Visual Studio, použijte možnost Spravovat balíčky NuGet z Průzkumník řešení a přidejte Microsoft.Azure.CognitiveServices.Search.EntitySearch
balíček.
Vytvoření prostředku Azure
Začněte používat rozhraní API Bingu pro vyhledávání entit vytvořením jednoho z následujících prostředků Azure.
Prostředek Vyhledávání entit Bingu
- Dostupné prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- K vyzkoušení služby použijte bezplatnou cenovou úroveň a později upgradujte na placenou úroveň pro produkční prostředí.
- Vyhledávání entit Bingu je také nabízeno na placených úrovních prostředku Vyhledávání Bingu v7.
Prostředek s více službami
- Dostupné prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- Pro aplikace používejte stejný klíč a koncový bod napříč několika službami Azure AI.
Vytvoření a inicializace aplikace
v sadě Visual Studio vytvořte nové řešení konzoly jazyka C#. Pak do hlavního souboru kódu přidejte následující kód.
using System; using System.Linq; using System.Text; using Microsoft.Azure.CognitiveServices.Search.EntitySearch; using Microsoft.Azure.CognitiveServices.Search.EntitySearch.Models; using Newtonsoft.Json;
Vytvoření klienta a odeslání žádosti o hledání
Vytvořte nového klienta vyhledávání. Přidejte klíč předplatného vytvořením nového
ApiKeyServiceClientCredentials
.var client = new EntitySearchClient(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
K vyhledání dotazu použijte funkci klienta
Entities.Search()
:var entityData = client.Entities.Search(query: "Satya Nadella");
Získání a tisk popisu entity
Pokud rozhraní API vrátilo výsledky hledání, získejte hlavní entitu z
entityData
.var mainEntity = entityData.Entities.Value.Where(thing => thing.EntityPresentationInfo.EntityScenario == EntityScenario.DominantEntity).FirstOrDefault();
Tisk popisu hlavní entity
Console.WriteLine(mainEntity.Description);
Další kroky
Pomocí tohoto rychlého startu můžete začít vyhledávat entity pomocí klientské knihovny Bingu pro vyhledávání entit pro Javu. Zatímco vyhledávání entit Bingu má rozhraní REST API kompatibilní s většinou programovacích jazyků, klientská knihovna poskytuje snadný způsob integrace služby do vašich aplikací. Zdrojový kód pro tuto ukázku najdete na GitHubu.
Požadavky
Klientská knihovna Bingu pro vyhledávání entit pro Javu
Nainstalujte závislosti klientské knihovny Bingu pro vyhledávání entit pomocí Mavenu, Gradle nebo jiného systému pro správu závislostí. Soubor POM Mavenu vyžaduje deklaraci:
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-entitysearch</artifactId>
<version>1.0.2</version>
</dependency>
Vytvoření prostředku Azure
Začněte používat rozhraní API Bingu pro vyhledávání entit vytvořením jednoho z následujících prostředků Azure.
Prostředek Vyhledávání entit Bingu
- Dostupné prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- K vyzkoušení služby použijte bezplatnou cenovou úroveň a později upgradujte na placenou úroveň pro produkční prostředí.
- Vyhledávání entit Bingu je také nabízeno na placených úrovních prostředku Vyhledávání Bingu v7.
Prostředek s více službami
- Dostupné prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- Pro aplikace používejte stejný klíč a koncový bod napříč několika službami Azure AI.
Vytvoření a inicializace projektu
V oblíbeném integrovaném vývojovém prostředí nebo editoru vytvořte nový projekt Java a naimportujte následující knihovny.
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;
Vytvoření proměnné pro klíč předplatného
String subscriptionKey = "your-key-here"
Vytvoření klienta vyhledávání
dominantEntityLookup
Implementujte klienta, který vyžaduje koncový bod rozhraní API, a instanciServiceClientCredentials
třídy. Můžete použít globální koncový bod níže nebo vlastní koncový bod subdomény zobrazený v Azure Portal pro váš prostředek.public static EntitySearchAPIImpl getClient(final String subscriptionKey) { return new EntitySearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { //... } )};
Pokud chcete implementovat
ServiceClientCredentials
, postupujte takto:applyCredentialsFilter()
přepíše funkci s objektemOkHttpClient.Builder
jako parametrem.//... new ServiceClientCredentials() { @Override public void applyCredentialsFilter(OkHttpClient.Builder builder) { //... } //...
V rámci
applyCredentialsFilter()
volejtebuilder.addNetworkInterceptor()
. Vytvořte novýInterceptor
objekt a přepište jehointercept()
metodu tak, aby převzalaChain
objekt interceptoru.//... builder.addNetworkInterceptor( new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { //... } }); ///...
V rámci
intercept
funkce vytvořte proměnné pro váš požadavek. PoužijteRequest.Builder()
k sestavení vaší žádosti. Přidejte klíč předplatného do hlavičkyOcp-Apim-Subscription-Key
a vraťte sechain.proceed()
k objektu požadavku.//... 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); } //...
Odeslání požadavku a přijetí odpovědi
Vytvořte novou instanci klienta vyhledávání pomocí klíče předplatného. pomocí
client.entities().search()
odešlete žádost o hledání pro vyhledávací dotazsatya nadella
a získejte odpověď.EntitySearchAPIImpl client = getClient(subscriptionKey); SearchResponseInner entityData = client.entities().search( "satya nadella", null, null, null, null, null, null, "en-us", null, null, SafeSearch.STRICT, null);
Pokud byly vráceny nějaké entity, převeďte je na seznam. Iterujte je a vytiskněte dominantní entitu.
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; } } }
Další kroky
Pomocí tohoto rychlého startu můžete začít hledat entity pomocí klientské knihovny Vyhledávání entit Bingu pro JavaScript. Zatímco vyhledávání entit Bingu má rozhraní REST API kompatibilní s většinou programovacích jazyků, klientská knihovna poskytuje snadný způsob integrace služby do vašich aplikací. Zdrojový kód pro tuto ukázku najdete na GitHubu.
Požadavky
- Nejnovější verze Node.js
-
Sada SDK Bingu pro vyhledávání entit pro JavaScript
- Pokud chcete nainstalovat, spusťte příkaz
npm install @azure/cognitiveservices-entitysearch
- Pokud chcete nainstalovat, spusťte příkaz
- Třída
CognitiveServicesCredentials
z@azure/ms-rest-azure-js
balíčku k ověření klienta.- Pokud chcete nainstalovat, spusťte příkaz
npm install @azure/ms-rest-azure-js
- Pokud chcete nainstalovat, spusťte příkaz
Vytvoření prostředku Azure
Začněte používat rozhraní API Bingu pro vyhledávání entit vytvořením jednoho z následujících prostředků Azure.
Prostředek Vyhledávání entit Bingu
- Dostupné prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- K vyzkoušení služby použijte bezplatnou cenovou úroveň a později upgradujte na placenou úroveň pro produkční prostředí.
- Vyhledávání entit Bingu je také nabízeno na placených úrovních prostředku Vyhledávání Bingu v7.
Prostředek s více službami
- Dostupné prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- Pro aplikace používejte stejný klíč a koncový bod napříč několika službami Azure AI.
Vytvoření a inicializace aplikace
Ve svém oblíbeném integrovaném vývojovém prostředí nebo editoru vytvořte nový javascriptový soubor a přidejte následující požadavky.
const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; const EntitySearchAPIClient = require('@azure/cognitiveservices-entitysearch');
Vytvořte instanci pomocí
CognitiveServicesCredentials
klíče předplatného. Pak s ním vytvořte instanci vyhledávacího klienta.let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let entitySearchApiClient = new EntitySearchAPIClient(credentials);
Odeslání požadavku a přijetí odpovědi
Odeslání požadavku na vyhledávání entit pomocí
entitiesOperations.search()
. Po přijetí odpovědi vytisknětequeryContext
hodnotu , počet vrácených výsledků a popis prvního výsledku.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; });
Další kroky
Pomocí tohoto rychlého startu můžete začít hledat entity pomocí klientské knihovny Bingu pro vyhledávání entit pro Python. Zatímco vyhledávání entit Bingu má rozhraní REST API kompatibilní s většinou programovacích jazyků, klientská knihovna poskytuje snadný způsob integrace služby do vašich aplikací. Zdrojový kód pro tuto ukázku najdete na GitHubu.
Požadavky
Doporučuje se používat virtuální prostředí Pythonu. Virtuální prostředí můžete nainstalovat a inicializovat pomocí modulu venv. Virtualenv můžete nainstalovat pomocí:
python -m venv mytestenv
Nainstalujte klientskou knihovnu Bingu pro vyhledávání entit pomocí:
cd mytestenv
python -m pip install azure-cognitiveservices-search-entitysearch
Vytvoření prostředku Azure
Začněte používat rozhraní API Bingu pro vyhledávání entit vytvořením jednoho z následujících prostředků Azure.
Prostředek Vyhledávání entit Bingu
- Dostupné prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- K vyzkoušení služby použijte bezplatnou cenovou úroveň a později upgradujte na placenou úroveň pro produkční prostředí.
- Vyhledávání entit Bingu je také nabízeno na placených úrovních prostředku Vyhledávání Bingu v7.
Prostředek s více službami
- Dostupné prostřednictvím Azure Portal, dokud prostředek neodstraníte.
- Pro aplikace používejte stejný klíč a koncový bod napříč několika službami Azure AI.
Vytvoření a inicializace aplikace
Ve svém oblíbeném integrovaném vývojovém prostředí nebo editoru vytvořte nový soubor Pythonu a přidejte následující příkazy pro import.
from azure.cognitiveservices.search.entitysearch import EntitySearchClient from azure.cognitiveservices.search.entitysearch.models import Place, ErrorResponseException from msrest.authentication import CognitiveServicesCredentials
Vytvořte proměnnou pro klíč předplatného a koncový bod. Vytvořte instanci klienta vytvořením nového
CognitiveServicesCredentials
objektu s klíčem.subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" client = EntitySearchclient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Odeslání žádosti o hledání a přijetí odpovědi
Odešlete žádost o hledání do vyhledávání entit Bingu pomocí
client.entities.search()
a vyhledávací dotaz.entity_data = client.entities.search(query="Gibralter")
Pokud byly entity vráceny, převeďte
entity_data.entities.value
na seznam a vytiskněte první výsledek.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)