AI

Search-Powered Prompt FlowsのためのAzure AI FoundryにおけるBright DataのSERP API

Bright DataのSERP APIとAzure AI Foundryを組み合わせて、パワフルで検索機能を強化したプロンプトフローで、リアルタイムのニュース検索と分析を行う方法をご覧ください。
3 分読
Bright Data's SERP API with Azure AI Foundry blog image

この記事では、次のことを学びます:

  • Azure AI Foundryとは何か?
  • なぜAzure AI FoundryでBright DataのSERP APIと統合することが勝利の戦略なのか。
  • SERP APIに接続する実際のAzure AIプロンプトフローの構築方法。

さあ、飛び込もう!

Azure AI Foundryとは?

Azure AI Foundryは、AIアプリケーション、エージェント、フローを構築、デプロイ、管理するための一連のツールとサービスを提供する統合プラットフォームだ。言い換えれば、AIシステムの作成プロセスを標準化することで、「AIファクトリー」として機能する。

その主な目的は、コンセプトから本番稼動までを支援することだ。これは、Azure OpenAI、Meta、MistralのようなAIプロバイダーからの幅広いモデルや機能へのアクセスを、開発、デプロイメント、継続的モニタリングのためのツールとともに提供することで達成される。

Bright DataのSERP APIをAzure AI Foundryに統合する理由

Azure AI FoundryはLLMの長いリストを備えているが、どのLLMを選んでも、その知識は固定的だ。例えば、LLMは今日の株式ニュースや昨夜のスポーツの結果などには全く気づいていない。その結果、「陳腐な」あるいは「幻覚のような」回答になってしまう可能性があります。

その制限を克服するために、インターネットからのリアルタイム・データでLLMを「接地」するシステムを構築することができる。このアプローチは、特にRAG(Retrieval-Augmented Generation)ワークフローで一般的であり、LLMは応答を生成する前に外部情報を提供され、その出力が現在の事実に基づいていることを保証する。

Azure AIにはグラウンディングツールが組み込まれているが、データソースとしてBingに限定されており、必ずしも理想的とは言えない。より専門的で柔軟な代替手段は、Bright DataのSERP APIだ!

SERP APIは、検索エンジンの検索クエリをプログラムで実行し、SERPの全コンテンツを取得することができ、AIエージェントやLLMワークフローにシームレスに統合できる新鮮で検証可能なデータの信頼できるソースを提供します。公式ドキュメントでその機能をすべてご覧ください。

Azure AI Foundryでは、サードパーティAPI統合をエージェントとフローの両方に実装できます。ここでは、特にRAGシナリオに適しているプロンプトフローに焦点を当てます。

Azure AIプロンプトフローでSERP APIを使用してWeb検索コンテキストを取得する方法

このガイドセクションでは、ニュース分析のプロンプトフローの一部として、Bright DataのSERP APIをAzure AIフローに統合する方法を紹介します。このワークフローは、4つの主要なステップで構成されています:

  1. 入力受信:関連するニュースを取得するために、ワークフローに興味のあるトピックを提供します。
  2. ニュースの取得:専用のPythonノードが入力トピックを受け取り、Bright DataのSERP APIに送信してGoogleからニュース記事を取得します。
  3. ニュース分析:LLM が SERP API で取得したデータを処理し、読む価値のあるニュースを特定します。
  4. 出力生成:作成されたMarkdownレポートには、SERPから抽出された各ニュース項目が、短い説明と読む価値があることを示すスコアとともにリストアップされます。

:これはほんの一例であり、他の多くのシナリオやユースケースでSERP APIを活用することができます。

以下の手順に従って、Azure AI Foundry内でBright DataのSERP APIからの新鮮なデータに基づいたRAGスタイルのワークフローを構築してください!

前提条件

このチュートリアルセクションに従うには、以下を確認してください:

公式 Bright Data ガイドに従ってAPI キーを取得してください。すぐに必要になるので、安全な場所に保管してください。

ステップ #1: Azure AI Hubの作成

Azure AIプロンプトフローはAzure AI Hubでのみ利用可能なので、最初のステップはAI Hubを作成することです。

これを行うには、Azureアカウントにログインし、アイコンをクリックするか、検索バーで検索してAzure AI Foundryサービスを開きます:

The Azure AI Foundry management page

AI Foundry」管理ページに到達するはずです:

ここで、”Create “ボタンをクリックし、”Hub “オプションを選択する:

Selecting the “Create > Hub” option

次に、Azure AI Hubの作成フォームに以下のように入力する:

Filling out the Azure AI Hub creation form

リージョンを選択し、既存のリソースグループを選択(または必要に応じて新規作成)し、bright-data-serp-ai-hubなど、ハブに名前を付けます。

次に、”Review + Create” ボタンをクリックします。概要が表示されます:

Reviewing the form info and pressing “Create”

問題がなければ、「Create」をクリックしてデプロイを開始します。

初期化プロセスには数分かかる場合があります。完了すると、このような確認ページが表示されます:

Your Hub deployment is complete

素晴らしい!これで、プロジェクトを作成してプロンプトフローを初期化できるAzure AI Hubができました。

ステップ #2: AI Hubでプロジェクトを作成する

プロンプトフローを管理するには、まずAI Hub内にプロジェクトを作成する必要があります。まず、左メニューの「AI Hubs」をクリックします:

Selecting the “AI Hubs” option in the left menu

ハブの名前をクリックし、表示される右側のセクションで「プロジェクトを作成」を選択します:

Pressing the “Create project” button

プロジェクト作成フォームに必要事項を入力します。このとき、プロジェクト名を「SERP-API-FLOW」のようにしてください:

The Azure AI project creation form

Review + create」ボタンをクリックし、サマリーセクションですべてが正しいことを確認します。最後に「Create」ボタンを押してプロジェクトをデプロイします。

プロジェクトが初期化されるまでしばらく待ちます。準備ができたら、”AI Hubs “ページにプロジェクトが表示されます。それをクリックしてください:

Clicking the “Launch studio” button

Launch studio” ボタンを押して、Azure AI Foundry スタジオで開きます:

Your project in Azure AI Foundry studio

上部に、”SERP API flow “プロジェクト内で操作していることに注意してください。そうでない場合(複数のプロジェクトがある場合など)は、正しいプロジェクトを選択してください。

素晴らしい!Azure AIプロンプトフローを定義する準備ができました。

ステップ #3: LLMをデプロイする

プロンプトフローでLLMノードを使用するために、Azureは最初に利用可能なAIモデルの1つをデプロイする必要があります。

これを行うには、左側のメニューから「モデルカタログ」オプションを選択する。カタログページで、使用したいAIモデルを検索する。例えば、gpt-5-miniを使いたいとします。

gpt-5-mini」を検索して選択します:

Selecting the “gpt-5-mini” model

モデルのページで、「このモデルを使用する」をクリックして採用する:

Pressing the “Use this model” button

表示されたモーダルウィンドウで、”Create resource and deploy “ボタンをクリックし、モデルのデプロイが完了するのを待ちます:

Waiting for the model to be deployed

このプロセスには数分かかることがありますので、気長にお待ちください。デプロイが完了すると、以下のように Azure AI プロジェクトで利用可能なモデルが表示されます:

The gpt-5-mini page for the adopted model

素晴らしい!これで、プロンプトフローを動かすLLMエンジンの準備ができました。

ステップ #4: 新しいプロンプトフローの作成

いよいよプロンプトフローの作成を開始します。左側のメニューから「プロンプト・フロー」を選択し、「作成」ボタンをクリックする:

Pressing the “Create” button

新しいフローを作成」モーダルで、「標準フロー」カードの「作成」をクリックし、新しい基本的なプロンプトフローを開始します:

Clicking the “Standard flow > Create” button

フロー名を入力するプロンプトが表示されます。bright-data-SERP-API-flowのような名前にしてください:

Giving your prompt flow a name

Create “ボタンを押して、プロンプト・フローが初期化されるのを待つと、このようなフローができるはずです:

Your new prompt flow in Azure AI Foundry studio

おわかりのように、右側には、フローのDAG(有向非循環グラフ)表現があります。
代わりに左側には、フローのノードを定義できるビジュアルエディターがあります。左側で行った変更は、右側のDAGに自動的に反映されます。

デフォルトの標準フローには、AIにジョークを言わせる簡単な例が含まれています。
既存のノードをすべて削除してゼロから始め、”Start compute session “を押して、フロー開発プラットフォームをライブにします:

Starting the compute session in your new, blank flow

:コンピュート・セッションを開始するとき、Azureは自動的にデフォルトのコンピュート・インスタンスを起動しようとします。しかし、リソースの割り当てに数分から数時間かかる場合があります。長い待ち時間を避けるには、独自のコンピュートインスタンスでカスタム設定を使用してコンピュートセッションを手動で開始することを検討してください。

よくできました!これで、Bright Data SERP APIを利用したAzure AIプロンプトフローを作成する準備が整いました。

ステップ #5: プロンプトフローを設計する

フローを構築する前に、フローに含めるノードを明確に定義する必要があります。

この場合、ゴールはニュースの検索と評価のフローを作成することです。トピックが与えられたら、Bright Data SERP APIを利用してGoogleから関連するニュース記事を取得し、LLMに渡して読む価値に基づいて評価する。そうすることで、読む価値のある記事を素早く特定することができます。

これを実現するために、フローは4つのノードで構成される:

  1. ニュースウェブ検索を実行するトピックを受け入れる入力ノード。
  2. 提供されたトピックを使って Bright Data の SERP API を呼び出す Python ツールノード。
  3. API から返された SERP データを処理してニュース記事を識別・評価する LLM ノード。
  4. LLM によって生成された最終レポートを表示する出力ノード。

次のステップでは、このAzure AIプロンプトフローの実装方法を学びます!

ステップ #6: 入力ノードの追加

すべてのフローには、入力ノードと出力ノードの両方を含める必要があります。したがって、入力ノードと出力ノードを削除することはできず、すでにフローの一部になっています。

入力ノードを設定するには、フローの「入力」セクションに移動し、「ボタンを追加」ボタンをクリックします:

Pressing the “Add input” button

入力をトピックとして定義し、そのタイプを文字列に設定します:

Defining a “topic” input as a string

Amazing!これで入力ノードが設定されました。

ステップ7: SERP APIを呼び出す準備

Bright Data SERP APIを呼び出すカスタムPythonノードを作成する前に、いくつかの準備ステップを踏む必要があります。これらは厳密には必須ではありませんが、統合を単純化し、より安全にします。

まず、APIコールを簡単にするために、Bright Data Python SDKをインストールします。このSDKは、SERP APIを含むBright Data製品と対話するための便利な方法を提供します(HTTPクライアントを使用してAPI経由で直接呼び出す代わりに)。詳しくは公式ドキュメントをご覧ください。

SDKはbrightdata-sdkパッケージとして提供されています。これをフローにインストールするには、左側の “Compute session running “ボタンをクリックし、”Install packages from requirements.txt “オプションを選択します:

Select “Install packages from requirements.txt” option

フロー定義パネルにrequirements.txtファイルが開きます。以下の行を追加し、”Save and install “オプションをクリックします:

Adding the brightdata-sdk line into the requirements file

インストールが完了すると、カスタムPythonツールノード内でBright Data Python SDKを使用できるようになります。

次に、SERP API は API キーによる認証が必要で、フローにハードコードしたくないので、Azure にシークレットとして安全に保存する必要があります。これを行うには、左側のメニューから “Management center “を開く(通常は最後のオプションである):

Selecting the “Management center” option in the menu

プロジェクト管理の概要で、”Connected resources “セクションの下にある “New connection “をクリックする:

Pressing “New connection”

表示されたモーダルで、”Custom keys “オプションを選択します:

Selecting the “Custom keys” option

これが、Azure AI FoundryにカスタムAPIキーを保存する方法です。

ここで、BRIGHT_DATA_API_KEY のような名前の新しいシークレットキーを作成し、値フィールドに Bright Data API キーを貼り付けます。必ず “is secret” オプションをチェックしてください。次に、接続にbright-dataのようなわかりやすい名前をつけます:

Defining your bright-data custom connection

最後に “Add connection” を押して保存します。

よし!フローに戻ります。これで、Bright Data Python SDKと保存したAPIキーを使って、わずか数行のコードでSERP APIを呼び出す方法がわかりました。

ステップ #8: Bright Data の SERP API を呼び出すカスタム Python ノードの定義

フローキャンバスで “Python” ボタンをクリックし、新しいPython ツールノードを作成します:

Pressing the Python button

ノードにserp_api などの名前を付けて、”Add” ボタンを押します:

Clicking the “Add” button

コードテキストエリアに、以下の Python コードを追加します:

from promptflow import tool
from promptflow.connections import CustomConnection
from brightdata import bdclient

ツール
def serp_api(search_input: str, bd_conn: CustomConnection) -> str:
    # Bright Data SDKクライアントを初期化します。
    client = bdclient(api_token=bd_conn.BRIGHT_DATA_API_KEY)

    # GoogleからSERPをMarkdown形式で取得します。 
    serp_page = client.search(
        search_input、
        data_format="markdown"、
        country="us"
    )

    return serp_page

Azure AI Foundryでは、Pythonノードは@toolでアノテーションされた関数としてツールを定義する必要があります。この場合、serp_api()関数は、検索入力文字列とカスタム接続を入力として受け入れます。

カスタム接続から、関数は先に定義したBRIGHT_DATA_API_KEYを読み込み、それを使用して Bright Data API Python SDK クライアントインスタンスを初期化します。そのクライアントを使用して、search()メソッドでSERP APIを呼び出し、data_format="markdown "country="US "オプションを指定して、米国版GoogleからスクレイピングされたSERPページをMarkdownで返します。(AIに取り込むには理想的だ)。

次に、下にスクロールして、ノードの入力要素を定義する。まず、”Validate and parse input “を押して、ノードが有効な入力を認識できるようにする。識別された入力をマッピングして設定する:

  • bd_connを bright-data(先ほど定義したカスタム接続)にマッピングする。
  • search_inputを ${input.topic}にマッピングし、入力ノードからの検索入力がSERP APIに渡されるようにする。
Your serp_api node’s inputs

すごい!これで Azure AI Foundry における Bright Data SERP API の統合は完了です。

ステップ #9: LLM ノードの指定

最初の検索トピックに対応する SERP ページができたので、それを LLM に送り、ニュースの抽出と評価を行います。フロー」タブのすぐ下にある「LLM」ボタンを押して、LLMノードを追加する:

Pressing the “LLM” option

LLMノードにllmのような名前を付け、”Add “をクリックして確認する:

Clicking the “Add” button

このノードでプロンプトフローのコアロジックを定義する。ニュースの抽出と評価の目標を達成するには、次のようなプロンプトを書けばよい:

# システム:
あなたはニュース分析アシスタントで、与えられたトピックに対して最も関連性の高いニュース記事を特定することを任務としている。

# user:
以下のSERPページが与えられたら、最も重要なニュース項目を抽出し、それぞれを読む価値がどの程度あるかに基づいて1から5の尺度で評価してください。

以下を含むMarkdownフォーマットのレポートを返す:
* ニュースのタイトル  
* ニュースのURL  
* 短い説明(20ワード以内)  
* 読む価値(1-5)

SERPページ
{{serp_page}}

システムセクションはアシスタントの役割と全体的な動作を定義し、#ユーザーセクションは具体的なタスクと入力処理の指示を提供する。

次に、LLMノードを先ほど(ステップ#3で)デプロイしたAIモデルに接続するように設定します:

Configuring the deployed model

プロンプトにはserp_pageパラメータが含まれており、先に定義したserp_apiノードの出力に設定する必要があることに注意してください。Inputs “セクションで “Validate and parse input “を押し、serp_pageを ${serp_api.output}に代入することで設定します:

Setting the node's inputs

クールだ!これで、あなたのAzure AIフローは、SERPの結果を処理し、評価されたニュースレポートを生成できるLLMの “脳 “として機能するようになった。

ステップ #10: 出力ノードの定義

最後のステップは、出力ノードの設定です。Outputs “セクションで、”Add output “をクリックする:

Pressing the “Add output” button

出力名をreportに設定し、${llm.output}変数を使ってLLMノードの出力に割り当てます:

Defining the “report” output

完了したら、”Save “を押してプロンプトフローを保存する:

Saving your flow

おめでとうございます!これでAzure AIフローは完全に実装されました。

ステップ #11:すべてをまとめる

フロー開発環境の「グラフ」セクションを見ると、以下のようなDAGが表示されているはずです:

The final DAG

これは、ステップ#5で説明したニュース分析フローを明確に表しており、入力、SERP APIコール、LLM評価、出力がどのように接続されているかを示しています。

ステップ #12: プロンプトフローの起動

Azure AIプロンプトフローをテストするために、例のトピック “株式市場のニュース “を使ってみましょう。Inputs “ノードで、トピックの“Value “に “stock market news “という文字列を記入する:

Setting “stock market news” as the flow input

次に、右上の「実行」ボタンを押してフローを実行する:

Running the flow

データがフローを通過して「Outputs」ノードに到達するまで、各ノードが徐々に緑色に変わっていくのがわかるはずだ:

The flow execution

実行が完了すると、このような通知が表示されます:

Pressing the “View outputs” button

View outputs “をクリックすると、フローの結果が表示されます:

The Markdown report produced by the flow

予想通り、フローはニュース記事を含むMarkdownレポートを生成する。この場合、以下の内容が含まれます:

- ニュース・タイトル:**米中協議がトランプ大統領との貿易協定締結を示唆、ダウ、S&P500、ナスダック先物は上昇

  **ニュースURL:** [ヤフーファイナンス](https://finance.yahoo.com/news/live/stock-market-today-dow-sp-500-nasdaq-futures-climb-as-us-china-talks-tee-up-trade-deal-for-trump-225050786.html)

  **Short description:** Live update: トランプ会談を控えた米中貿易協定への期待で米先物が上昇。

  **読み応え:** 5

- ニュースタイトル:** 今日の株式市場:ダウ、S&P500、ナスダック先物は上昇、米中会談でトランプ大統領への貿易協定締結を示唆

    **ニュースURL:** [ヤフーファイナンス](https://finance.yahoo.com/news/live/stock-market-today-dow-sp-500-nasdaq-futures-climb-as-us-china-talks-tee-up-trade-deal-for-trump-225050786.html)

    **今日の株式市場:ダウ、S&P500、ナスダック先物が上昇、米中会談でトランプ大統領との通商取引に期待

    **読み応え:** 5

# 簡潔にするため省略...

これらの結果は、フロー実行時の「株式市場ニュース」SERPページを反映している:

The SERP for “stock market news” on the day of the flow run

SERPページが正しく取得されたことを確認するには、serp_apiノードの “Outputs “セクションの “output “タブを検査する:

The output produced by the “serp_api” node

そこには、元のSERPのMarkdownバージョンがあります。Bright DataのSERP APIは魔法をかけたのだ!

さて、フローの出力の全容を確認するには、レポート出力をファイルにコピーしてください。それをVisual Studio CodeのようなMarkdownビューアで表示します:

Inspecting the flow's output in Visual Studio Code

フローによって生成されたレポートが、”株式市場のニュース “のGoogle SERPに表示されたニュースとどのように一致しているかに注目してください。Googleの検索結果をスクレイピングするのは、ボット対策やレートリミッターのために難しいことで有名だ。SERP APIを使用することで、スケーラビリティの制限なく、様々な地域のGoogle(または他のサポートされている検索エンジン)の検索結果をAI対応のMarkdownフォーマットで確実かつ簡単に取得することができます。

この例はシンプルな使用例を示していますが、より複雑なフローを試したり、他のBright Data製品を統合したり、異なるタスクを処理するためにLLMプロンプトを調整したりすることができます。他の多くのユースケースもサポートされています!

さあ、できました!これで、Web 検索データを取得し、RAG スタイルのワークフローでコンテキストとして使用する Azure AI Foundry フローができました。

まとめ

このブログポストでは、Bright DataのSERP APIを使用してGoogleから新鮮なニュース記事を取得し、Azure AIでRAGワークフローに統合する方法を学びました。

ここで示したAIワークフローは、コンテンツをフィルタリングするニュースアシスタントを構築したい人に最適です。より高度なAIのためのワークフローを作成するには、ライブウェブデータを取得、検証、変換するためのBright Dataのツール群をご覧ください。

今すぐ無料のBright Dataアカウントにサインアップして、AIのためのウェブデータソリューションをお試しください!