Rövid útmutató: Képelemzések lekérése a Bing Visual Search REST API és a Python használatával
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 kezdeményezheti első hívását a Bing Visual Search API-hoz. Ez a Python-alkalmazás feltölt egy képet az API-ba, és megjeleníti a visszaadott információkat. Bár ez az alkalmazás Python nyelven van megírva, az API egy RESTful webszolgáltatás, amely kompatibilis a legtöbb programozási nyelvvel.
Előfeltételek
Azure-erőforrás létrehozása
Kezdje el használni a Bing Visual Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Válassza ki a tarifacsomagot
S9
.
- 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 inicializálása
Hozzon létre egy új Python-fájlt a kedvenc IDE-jében vagy szerkesztőjében, és adja hozzá a következő
import
utasítást:import requests, json
Hozzon létre változókat az előfizetési kulcshoz, a végponthoz és a feltöltött lemezkép elérési útjához. A értékeként
BASE_URI
használhatja a globális végpontot az alábbi kódban, vagy használhatja az erőforráshoz tartozó Azure Portal megjelenő egyéni altartományvégpontot.BASE_URI = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch' SUBSCRIPTION_KEY = 'your-subscription-key' imagePath = 'your-image-path'
Helyi kép feltöltésekor az űrlapadatoknak tartalmazniuk kell a fejlécet
Content-Disposition
. Állítsa a paramétertname
"image" értékre, és állítsa afilename
paramétert a kép fájlnevére. Az űrlap tartalma tartalmazza a kép bináris adatait. A feltölthető maximális képméret 1 MB.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
Hozzon létre egy szótárobjektumot a kérés fejlécadatainak tárolásához. Kösse az előfizetési kulcsot a sztringhez
Ocp-Apim-Subscription-Key
.HEADERS = {'Ocp-Apim-Subscription-Key': SUBSCRIPTION_KEY}
Hozzon létre egy másik szótárat, amely tartalmazza a rendszerképet, amelyet a rendszer a kérés elküldésekor nyit meg és tölt fel.
file = {'image' : ('myfile', open(imagePath, 'rb'))}
A JSON-válasz elemzése
Hozzon létre egy nevű print_json()
metódust az API-válasz elfogadásához, és nyomtassa ki a JSON-t.
def print_json(obj):
"""Print the object as json"""
print(json.dumps(obj, sort_keys=True, indent=2, separators=(',', ': ')))
A kérés elküldése
A használatával requests.post()
kérést küldhet a Bing Visual Search API-nak. Adja meg a végpont, a fejléc és a fájl adatainak sztringét. Nyomtatás response.json()
a használatával print_json()
.
try:
response = requests.post(BASE_URI, headers=HEADERS, files=file)
response.raise_for_status()
print_json(response.json())
except Exception as ex:
raise ex