<目次>
(1) Bing AIのAPIを疎通(HelloWorld)
やりたいこと/概要
前提条件
STEP1:Bing Web Search APIにサインアップ
STEP2:APIキーの取得
STEP3:Python環境のセットアップ(パッケージインストール)
STEP4:サンプルプログラムの実行
(1) Bing AIのAPIを疎通(HelloWorld)
やりたいこと/概要
やりたいこと
- Bing AIの概要について理解する
- Bing AIのAPIをコールしてみる
- Microsoftは2023年5月、BingとEdgeでのAIイノベーションの次の波を発表しました。
- Bingは「瞬時翻訳」や「ライブ翻訳」といった新機能が追加されました。
- Edgeは以下のような新機能が追加された
- 「スマートフィード」はユーザーの好みや興味に基づいてコンテンツを推奨する機能
- 「スマートショッピング」はユーザーが興味を持っている商品を自動的に見つけてくれます
- 「スマートアシスタント」はAIがユーザーのために作業を自動化する。
- 例えば重要なメールの返信や、会議の予定を調整するなどの作業を効率的に行えます。
- ユーザーはより効率的に作業を行い、より個人に最適化された体験を得られます
前提条件
STEP1:Bing Web Search APIにサインアップ



Microsoft Bing APIの利用に関するポイントをまとめます。
- Bing APIは、商用および非商用目的で利用できます。
- 利用にはMicrosoftの利用規約に同意が必要です。
- 利用規約にはAPIの使用に関する制限が含まれます。
- APIキーを取得して利用する必要があります。
- 利用量制限があり、超過した場合は停止される可能性があります。
- 利用に関してMicrosoftの承認や保証は受けられません。
- 利用規約に違反した場合、APIの利用が停止され、Microsoftは責任を負いません。
- APIを使用する際には、Bingブランドの表示方法や検索結果の表示方法に関する要件に従う必要があります。
- 要件には、検索結果の最小高さやテキストサイズ、注釈のテキストや表示方法に関する制限が含まれます。
- 要件の目的は、Bingブランドの保護やユーザーエクスペリエンスの向上、検索結果の信頼性の確保です。
- 要件に違反した場合、MicrosoftはAPIの利用を停止することができます。
STEP2:APIキーの取得


STEP3:Python環境のセットアップ(パッケージインストール)
- > pip install requests

STEP4:サンプルプログラムの実行
●サンプルプログラム
- import requests
- bing_subscription_key = 'xxxxxxx'
- def bing_web_search(subscription_key, query):
- # set parameters
- search_url = "https://api.bing.microsoft.com/v7.0/search"
- headers = {"Ocp-Apim-Subscription-Key": subscription_key}
- params = {
- "q": query,
- "textDecorations": True,
- "textFormat": "HTML"}
- # get response
- response = requests.get(search_url, headers=headers, params=params)
- response.raise_for_status()
- return response.json()
- def main():
- result = bing_web_search(
- bing_subscription_key,
- "SUUMOで次の条件に合致する中古マンションのURLを教えて。①JR藤沢駅、②3LDK、徒歩5分以内、③築年数15年以内、④4000万円以内"
- )
- print(result)
- if __name__ == "__main__":
- main()

●レスポンス構造
- {
- "_type": "SearchResponse",
- "queryContext": {...},
- "rankingResponse": {...}
- }
- {
- "_type": "SearchResponse",
- "queryContext": {...},
- "webPages": {...},
- "images": {...},
- "relatedSearches": {...},
- "videos": {...},
- "news": {...},
- "spellSuggestion": {...},
- "computation": {...},
- "timeZone": {...},
- "rankingResponse": {...},
- "entities": {...},
- "places": {...},
- "translations": {...},
- }
●実行例
- {
- "_type": "SearchResponse",
- "queryContext": {
- "originalQuery": "SUUMOで次の条件に合致する中古マンションのURLを教えて。①JR藤沢駅、②3LDK、徒歩5分以内、③築年数15年以内、④4000万円以内"
- },
- "webPages": {
- "webSearchUrl": "https://www.bing.com/search?q=SUUMO%E3%81%A7%E6%AC%A1%E3%81%AE%E6%9D%A1%E4%BB%B6%E3%81%AB%E5%90%88%E8%87%B4%E3%81%99%E3%82%8B%E4%B8%AD%E5%8F%A4%E3%83%9E%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AEURL%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%80%82%E2%91%A0JR%E8%97%A4%E6%B2%A2%E9%A7%85%E3%80%81%E2%91%A13LDK%E3%80%81%E5%BE%92%E6%AD%A95%E5%88%86%E4%BB%A5%E5%86%85%E3%80%81%E2%91%A2%E7%AF%89%E5%B9%B4%E6%95%B015%E5%B9%B4%E4%BB%A5%E5%86%85%E3%80%81%E2%91%A34000%E4%B8%87%E5%86%86%E4%BB%A5%E5%86%85",
- "totalEstimatedMatches": 479000,
- "value": [
- {
- "id": "https://api.bing.microsoft.com/api/v7/#WebPages.0",
- "name": "【SUUMO】中古マンション購入情報サイト",
- "url": "https://suumo.jp/ms/chuko/",
- "isFamilyFriendly": true,
- "displayUrl": "https://<b>suumo</b>.jp/ms/chuko",
- "snippet": "<b>中古マンションの</b>購入情報探しなら<b>SUUMO</b> (スーモ)<b>中古マンション</b>. 便利な使い方. <b>中古マンション</b>を買うなら、<b>SUUMO</b> (スーモ)<b>に</b>お任せ下さい ...",
- "deepLinks": [
- {
- "name": "関東",
- "url": "https://suumo.jp/ms/chuko/kanto/",
- "snippet": "【SUUMO(スーモ)中古マンション】関東で中古マンションを買うなら、リクルートの物件情報検索サイトSUUMOにお任せください。中古マンシ ョンの ..."
- },
- ~繰り返し~
- ],
- "dateLastCrawled": "2023-05-12Txx:xx:00.0000000Z",
- "language": "ja",
- "isNavigational": true
- },
- ~繰り返し~
- ]
- },
- "rankingResponse": {
- "mainline": {
- "items": [
- {
- "answerType": "WebPages",
- "resultIndex": 0,
- "value": {
- "id": "https://api.bing.microsoft.com/api/v7/#WebPages.0"
- }
- },
- ~繰り返し~
- ]
- }
- }
- }

●備考:jsonの特定の値を抽出
- print(result['webPages']['value'][0]['url'])