Megosztás a következőn keresztül:


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:

Bing Search v7-erőforrás

  • Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Válassza ki a tarifacsomagot S9 .

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 inicializálása

  1. 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
    
  2. 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_URIhaszná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'
    
  3. Helyi kép feltöltésekor az űrlapadatoknak tartalmazniuk kell a fejlécet Content-Disposition . Állítsa a paramétert name "image" értékre, és állítsa a filename 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--
    
  4. 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}
    
  5. 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

Következő lépések