Rövid útmutató: A Bing Entity Search ügyfélkódtár használata
Figyelmeztetés
2020. október 30-án a Bing Search API-k átkerültek az Azure AI-szolgáltatásokból a Bing Search Servicesbe. Ez a dokumentáció csak referenciaként szolgál. A frissített dokumentációt a Bing search API dokumentációjában találja. Az új Azure-erőforrások Bing-kereséshez való létrehozásával kapcsolatos útmutatásért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace keresztül.
Ezzel a rövid útmutatóval megkezdheti az entitások keresését a C# Bing Entity Search ügyfélkódtárával. Bár a Bing Entity Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.
Előfeltételek
- A Visual Studio 2017 vagy újabb verzióinak bármely kiadása.
- A Json.NET keretrendszer, amely NuGet-csomagként letölthető.
- Linux/MacOS rendszer esetében az alkalmazás a Monóval futtatható.
- A Bing News Search SDK NuGet-csomagja. A csomag telepítése a következőket is telepíti:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Ha hozzá szeretné adni a Bing Entity Search ügyfélkódtárat a Visual Studio-projekthez, használja a NuGet-csomagok kezelése lehetőséget Megoldáskezelő, és adja hozzá a Microsoft.Azure.CognitiveServices.Search.EntitySearch
csomagot.
Azure-erőforrás létrehozása
Kezdje el használni a Bing Entity Search API-t az alábbi Azure-erőforrások egyikének létrehozásával.
Bing Entity Search-erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
- A Bing Entity Search a Bing Search v7-erőforrás fizetős szintjeiben is elérhető.
Többszolgáltatásos erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Alkalmazás létrehozása és inicializálása
hozzon létre egy új C#-konzolmegoldást a Visual Studióban. Ezután adja hozzá a következőket a fő kódfájlhoz.
using System; using System.Linq; using System.Text; using Microsoft.Azure.CognitiveServices.Search.EntitySearch; using Microsoft.Azure.CognitiveServices.Search.EntitySearch.Models; using Newtonsoft.Json;
Ügyfél létrehozása és keresési kérelem küldése
Hozzon létre egy új keresési ügyfelet. Adja hozzá az előfizetési kulcsot egy új
ApiKeyServiceClientCredentials
létrehozásával.var client = new EntitySearchClient(new ApiKeyServiceClientCredentials("YOUR-ACCESS-KEY"));
A lekérdezés kereséséhez
Entities.Search()
használja az ügyfél függvényét:var entityData = client.Entities.Search(query: "Satya Nadella");
Entitás leírásának lekérése és nyomtatása
Ha az API keresési eredményeket adott vissza, kérje le a fő entitást a forrásból
entityData
.var mainEntity = entityData.Entities.Value.Where(thing => thing.EntityPresentationInfo.EntityScenario == EntityScenario.DominantEntity).FirstOrDefault();
A fő entitás leírásának nyomtatása
Console.WriteLine(mainEntity.Description);
Következő lépések
Ezzel a rövid útmutatóval megkezdheti az entitások keresését a Java Bing Entity Search ügyfélkódtárával. Bár a Bing Entity Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.
Előfeltételek
A Java Bing Entity Search ügyfélkódtára
Telepítse a Bing Entity Search ügyféloldali kódtár-függőségeit a Maven, a Gradle vagy más függőségkezelési rendszer használatával. A Maven POM-fájlhoz a következő deklarációra van szükség:
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-entitysearch</artifactId>
<version>1.0.2</version>
</dependency>
Azure-erőforrás létrehozása
Kezdje el használni a Bing Entity Search API-t az alábbi Azure-erőforrások egyikének létrehozásával.
Bing Entity Search-erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
- A Bing Entity Search a Bing Search v7-erőforrás fizetős szintjeiben is elérhető.
Többszolgáltatásos erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Projekt létrehozása és inicializálása
Hozzon létre egy új Java-projektet a kedvenc IDE-környezetében vagy szerkesztőjében, és importálja az alábbi kódtárakat.
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;
Változó létrehozása az előfizetési kulcshoz
String subscriptionKey = "your-key-here"
Keresési ügyfél létrehozása
Implementálja az ügyfelet
dominantEntityLookup
, amelyhez az API-végpont és azServiceClientCredentials
osztály egy példánya szükséges. Használhatja az alábbi globális végpontot, vagy az erőforráshoz tartozó Azure Portal megjelenő egyéni altartományvégpontot.public static EntitySearchAPIImpl getClient(final String subscriptionKey) { return new EntitySearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { //... } )};
A implementálásához kövesse az
ServiceClientCredentials
alábbi lépéseket:felülbírálhatja a
applyCredentialsFilter()
függvényt, paraméterként pedig objektummalOkHttpClient.Builder
.//... new ServiceClientCredentials() { @Override public void applyCredentialsFilter(OkHttpClient.Builder builder) { //... } //...
A
applyCredentialsFilter()
területen belül hívja meg a parancsotbuilder.addNetworkInterceptor()
. Hozzon létre egy újInterceptor
objektumot, és felülbírálja annak metódusátintercept()
, hogy elfogóobjektumotChain
vegyen fel.//... builder.addNetworkInterceptor( new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { //... } }); ///...
A függvényen
intercept
belül hozzon létre változókat a kéréshez. A használatávalRequest.Builder()
létrehozhatja a kérést. Adja hozzá az előfizetési kulcsot aOcp-Apim-Subscription-Key
fejléchez, és térjen visszachain.proceed()
a kérelemobjektumra.//... 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); } //...
Kérés küldése és válasz fogadása
Hozzon létre egy új keresési ügyfelet az előfizetési kulccsal. használatával
client.entities().search()
keresési kérést küldhet a keresési lekérdezéshezsatya nadella
, és választ kaphat.EntitySearchAPIImpl client = getClient(subscriptionKey); SearchResponseInner entityData = client.entities().search( "satya nadella", null, null, null, null, null, null, "en-us", null, null, SafeSearch.STRICT, null);
Ha bármelyik entitást visszaadta, konvertálja őket listává. Iterálja át őket, és nyomtassa ki a domináns entitást.
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; } } }
Következő lépések
Ezzel a rövid útmutatóval megkezdheti az entitások keresését a JavaScripthez készült Bing Entity Search ügyfélkódtárban. Bár a Bing Entity Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.
Előfeltételek
- A Node.js legújabb verziója.
- A JavaScripthez készült Bing Entity Search SDK
- A telepítéshez futtassa a
npm install @azure/cognitiveservices-entitysearch
- A telepítéshez futtassa a
- Az
CognitiveServicesCredentials
osztály a csomagból@azure/ms-rest-azure-js
az ügyfél hitelesítéséhez.- A telepítéshez futtassa a
npm install @azure/ms-rest-azure-js
- A telepítéshez futtassa a
Azure-erőforrás létrehozása
Kezdje el használni a Bing Entity Search API-t az alábbi Azure-erőforrások egyikének létrehozásával.
Bing Entity Search-erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
- A Bing Entity Search a Bing Search v7-erőforrás fizetős szintjeiben is elérhető.
Többszolgáltatásos erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Az alkalmazás létrehozása és inicializálása
Hozzon létre egy új JavaScript-fájlt a kedvenc IDE-jében vagy szerkesztőjében, és adja hozzá a következő követelményeket.
const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; const EntitySearchAPIClient = require('@azure/cognitiveservices-entitysearch');
Hozzon létre egy példányt az előfizetési
CognitiveServicesCredentials
kulcs használatával. Ezután hozza létre a keresési ügyfél egy példányát vele.let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let entitySearchApiClient = new EntitySearchAPIClient(credentials);
Kérés küldése és válasz fogadása
Entitáskeresési kérés küldése a következővel:
entitiesOperations.search()
. A válasz beérkezése után nyomtassa ki a , aqueryContext
visszaadott eredmények számát és az első eredmény leírását.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; });
Következő lépések
Ezzel a rövid útmutatóval megkezdheti az entitások keresését a Pythonhoz készült Bing Entity Search ügyfélkódtárral. Bár a Bing Entity Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.
Előfeltételek
Javasoljuk, hogy pythonos virtuális környezetet használjon. Virtuális környezetet a venv modullal telepíthet és inicializálhat. A virtualenv a következőkkel telepíthető:
python -m venv mytestenv
Telepítse a Bing Entity Search ügyfélkódtárat a következővel:
cd mytestenv
python -m pip install azure-cognitiveservices-search-entitysearch
Azure-erőforrás létrehozása
Kezdje el használni a Bing Entity Search API-t az alábbi Azure-erőforrások egyikének létrehozásával.
Bing Entity Search-erőforrás
- A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős tarifacsomagra éles környezetben.
- A Bing Entity Search a Bing Search v7-erőforrás fizetős szintjeiben is elérhető.
Többszolgáltatásos erőforrás
- A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Az alkalmazás létrehozása és inicializálása
Hozzon létre egy új Python-fájlt a kedvenc IDE-jében vagy szerkesztőjében, és adja hozzá az alábbi importálási utasításokat.
from azure.cognitiveservices.search.entitysearch import EntitySearchClient from azure.cognitiveservices.search.entitysearch.models import Place, ErrorResponseException from msrest.authentication import CognitiveServicesCredentials
Hozzon létre egy változót az előfizetői azonosítóhoz és a végponthoz. Példányosíthatja az ügyfelet úgy, hogy létrehoz egy új
CognitiveServicesCredentials
objektumot a kulccsal.subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" client = EntitySearchclient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Keresési kérés küldése és válasz fogadása
Küldjön keresési kérést a Bing Entity Searchnek a következővel
client.entities.search()
: és egy keresési lekérdezés.entity_data = client.entities.search(query="Gibralter")
Ha entitásokat ad vissza, konvertálja listává
entity_data.entities.value
, és nyomtassa ki az első eredményt.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)