Hızlı Başlangıç: Bing Görsel Arama REST API'sini ve Python'ı kullanarak görüntü içgörüleri alma
Uyarı
30 Ekim 2020'de Bing Arama API'leri Azure yapay zeka hizmetlerinden Bing Arama Hizmetlerine taşındı. Bu belgeler yalnızca başvuru için sağlanır. Güncelleştirilmiş belgeler için Bing arama API'sinin belgelerine bakın. Bing araması için yeni Azure kaynakları oluşturma yönergeleri için bkz. Azure Market aracılığıyla Bing Arama kaynağı oluşturma.
Bing Görsel Arama API'sine ilk çağrınızı yapmak için bu hızlı başlangıcı kullanın. Bu Python uygulaması API'ye bir görüntü yükler ve döndürdüğü bilgileri görüntüler. Bu uygulama Python'da yazılmış olsa da, API çoğu programlama diliyle uyumlu bir RESTful Web hizmetidir.
Önkoşullar
Azure kaynağı oluşturma
Aşağıdaki Azure kaynaklarından birini oluşturarak Bing Görsel Arama API'sini kullanmaya başlayın:
- Kaynağı silene kadar Azure portal aracılığıyla kullanılabilir.
- Fiyatlandırma katmanını
S9
seçin.
- Kaynağı silene kadar Azure portal aracılığıyla kullanılabilir.
- Birden çok Azure AI hizmeti genelinde uygulamalarınız için aynı anahtarı ve uç noktayı kullanın.
Uygulamayı başlatma
Sık kullandığınız IDE veya düzenleyicide yeni bir Python dosyası oluşturun ve aşağıdaki
import
deyimi ekleyin:import requests, json
Abonelik anahtarınız, uç noktanız ve karşıya yüklediğiniz görüntünün yolu için değişkenler oluşturun. değeri
BASE_URI
için aşağıdaki kodda genel uç noktayı kullanabilir veya kaynağınızın Azure portal görüntülenen özel alt etki alanı uç noktasını kullanabilirsiniz.BASE_URI = 'https://api.cognitive.microsoft.com/bing/v7.0/images/visualsearch' SUBSCRIPTION_KEY = 'your-subscription-key' imagePath = 'your-image-path'
Yerel bir görüntüyü karşıya yüklediğinizde, form verilerinin üst bilgiyi içermesi
Content-Disposition
gerekir. parametresininame
"image" olarak, parametresinifilename
ise görüntünüzün dosya adına ayarlayın. Formun içeriği görüntünün ikili verilerini içerir. Karşıya yükleyebileceğiniz en büyük görüntü boyutu 1 MB'tır.--boundary_1234-abcd Content-Disposition: form-data; name="image"; filename="myimagefile.jpg" ÿØÿà JFIF ÖÆ68g-¤CWŸþ29ÌÄøÖ‘º«™æ±èuZiÀ)"óÓß°Î= ØJ9á+*G¦... --boundary_1234-abcd--
İsteğinizin üst bilgi bilgilerini tutmak için bir sözlük nesnesi oluşturun. Abonelik anahtarınızı dizesine bağlayın
Ocp-Apim-Subscription-Key
.HEADERS = {'Ocp-Apim-Subscription-Key': SUBSCRIPTION_KEY}
İsteği gönderdiğinizde açılan ve karşıya yüklenen görüntünüzü içerecek başka bir sözlük oluşturun.
file = {'image' : ('myfile', open(imagePath, 'rb'))}
JSON yanıtını ayrıştırma
API yanıtını kabul etmek için adlı print_json()
bir yöntem oluşturun ve JSON'u yazdırın.
def print_json(obj):
"""Print the object as json"""
print(json.dumps(obj, sort_keys=True, indent=2, separators=(',', ': ')))
İsteği gönderme
Bing Görsel Arama API'sine istek göndermek için kullanın requests.post()
. Uç noktanız, üst bilginiz ve dosya bilgileriniz için dizeyi ekleyin. ile print_json()
yazdırınresponse.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