AI

Qwen-AgentとMCPを統合し、ライブ・データ・アクセスでエージェントを構築する

Qwen-AgentとBright Data MCPサーバーを接続し、リアルタイムのウェブデータ検索と自動化でAIエージェントを強化します。
6 分読
Qwen-Agent with Bright Data's MCP

このガイドで、あなたは学ぶことができる:

  • Qwen-Agentライブラリはどのようなもので、AIエージェントの構築にどのように役立つのか。
  • Qwen3とBright Data MCPサーバーの組み合わせが、次世代AIエージェントの開発に最適な理由。
  • Qwen-AgentとBright DataのMCPを統合し、Qwen3による有能なエージェントを構築する方法。

さあ、飛び込もう!

Qwen-Agentとは何ですか?

Qwen-AgentはAlibaba Cloudが開発したオープンソースのフレームワークで、高度なLLMを搭載したアプリケーションを構築するためのものです。Qwenモデルの機能を活用し、命令追従、ツールの使用、プランニング、メモリ管理をサポートするAIエージェントを作成します。

このライブラリは、特にQwen Chat のバックエンドとして機能します。AIエージェントを構築するためのコアコンポーネントを提供し、MCP(モデルコンテキストプロトコル)経由でも関数やツールの呼び出しをネイティブサポートしています。

Qwen-Agent は、Alibaba Cloud の DashScope サービス、またはセルフホスト Qwen モデルを問わず、柔軟なモデル展開を可能にします。また、ブラウザ上でエージェントを迅速にデプロイし、テストするためのGradio ベースの Web UIも含まれています。

Qwen3 と Qwen-Agent の MCP サーバーを組み合わせる理由

Qwen3はAlibaba Cloudが開発した最新モデルだ。強力なパフォーマンスを発揮し、オープンソースであるため、複数のオンラインプロバイダーから無料で入手できる(セルフホストも可能!)。そのため、費用対効果が高く、しかも強力なAIエージェントを構築するのに理想的な選択肢となっている。

現在、Qwen3を搭載し、Qwen-Agentで構築されたAIエージェントはすでに有能である。しかし、基礎となるLLMの限界を引き継いでいる。これらの制限(リアルタイムの情報にアクセスできないなど)は、エージェントに正確なデータを提供し、ライブでウェブ探索を実行できるようにすることで克服できる。

そこで、Bright Data MCPサーバーの登場です。Node.js上に構築されたMCPサーバーは、Bright DataのAIデータ検索ツール群と統合されています。これらのツールにより、エージェントはリアルタイムのウェブコンテンツへのアクセス、構造化されたデータセットへのクエリ、ライブウェブスクレイピングを実行できるようになります。

現在、サポートされているMCPツールは以下の通り:

工具 説明
検索エンジン Google、Bing、Yandexの検索結果をスクレイピング。SERPの結果をマークダウン形式で返します(URL、タイトル、説明)。
scrape_as_markdown 1つのウェブページをスクレイピングし、抽出したコンテンツをMarkdown形式で返します。ボットで保護されたページやCAPTCHAで保護されたページでも動作します。
scrape_as_html 上記と同じですが、コンテンツを生のHTMLで返します。
セッション統計 現在のセッションにおけるツールの使用状況の概要を提供する。
ウェブ_データ_アマゾン_商品 構造化されたAmazon商品データを/dp/URLを使って取得する。キャッシュによりスクレイピングよりも信頼性が高い。
web_data_amazon_product_reviews dp/URLを使用して構造化されたAmazonレビューデータを取得します。キャッシュされ、信頼できる。
web_data_linkedin_person_profile(ウェブデータ・リンケディン・パーソン・プロフィール 構造化されたLinkedInプロフィールデータにアクセス。一貫性とスピードのためにキャッシュされます。
web_data_linkedin_会社概要 LinkedInの構造化された企業データにアクセス。キャッシュバージョンで信頼性が向上。
web_data_zoominfo_会社概要 構造化された ZoomInfo 企業データを取得します。有効な ZoomInfo URL が必要です。
ウェブ_データ_インスタグラム_プロフィール 構造化されたインスタグラムのプロフィールデータ。有効なInstagramのURLが必要です。
ウェブ_データ_インスタグラム_投稿 Instagramの投稿の構造化データを取得する。
ウェブ_データ_インスタグラム_リール インスタグラムのリールの構造化データを取得する。
ウェブ_データ_インスタグラム_コメント インスタグラムのコメントを構造化データとして取得する。
ウェブデータ_facebook_posts Facebook投稿の構造化データにアクセス
ウェブデータ_facebook_マーケットプレイス_リスティング Facebook Marketplaceから構造化されたリストを取得します。
web_data_facebook_企業レビュー Facebookの企業レビューを取得する。会社のURLとレビュー数が必要です。
web_data_x_posts X(旧Twitter)の投稿から構造化データを取得する。
ウェブデータ・ジロー物件リスト 構造化されたZillowの物件データにアクセス。
web_data_booking_hotel_listings Booking.comから構造化されたホテルのリストを取得します。
web_data_youtube_videos 構造化されたYouTube動画データ。有効な動画 URL が必要です。
スクレイピング_ブラウザ_ナビゲート スクレイピング・ブラウザを新しいURLに移動する。
スクレイピング_ブラウザ_ゴーバック 前のページに戻る。
スクレイピング_ブラウザ_ゴーフォワード ブラウザの履歴を進む。
スクレイピング_ブラウザ_クリック ページ上の特定の要素をクリックする。要素セレクタが必要です。
スクレイピング_ブラウザリンク 現在のページにあるすべてのリンクを、セレクタとテキストとともに取得する。
スクレイピング・ブラウザ・タイプ 入力フィールドにテキストを入力するシミュレーション。
スクレイピング・ブラウザ・ウェイト・フォー 特定の要素が表示されるのを待つ。
スクレイピング_ブラウザ_スクリーンショット 現在のページのスクリーンショットを撮る。
スクレイピング_ブラウザ_get_html 現在のページの完全なHTMLを取得する。ページ全体のコンテンツが不要な場合は、注意して使用すること。
スクレイピング_ブラウザ_テキスト取得 現在のページの可視テキストコンテンツを取得する。

実例については、MCPサーバーを使用したスクレイピングに関するガイドをお読みいただくか、Google SDKのようなツールとの統合方法をご覧ください。

:Bright Dataは、MCPツールセットを継続的に拡張しています。

では、Qwen3 を通してこれらの MCP ツールを Qwen-Agent でどのように使用できるかを見てみましょう!

Python で Qwen-Agent と Bright MCP Server を統合する方法

このセクションでは、Qwen-Agent を使用して、Qwen3 を搭載した強力な Python AI エージェントを構築する方法を学びます。このエージェントは、Bright Data MCP サーバを介したライブデータスクレイピング、検索、変換機能を備えています。

例として、AIエージェントが、スクレイピングの難しさで知られるアマゾンから生きた商品データを取得する方法を紹介する。これは可能性のあるユースケースの一つに過ぎない。AIエージェントは、MCPサーバーを通じて利用可能な20以上のツールのいずれかを活用して、多種多様なタスクを処理することができる。

:AIエージェントに異なるプロンプトを与えるだけで、他のシナリオやユースケースを達成することができます。

以下の手順に従って、Qwen-Agent と Qwen 3 を使用して Bright Data MCP を搭載した AI エージェントを構築してください!

前提条件

このチュートリアルに従うには、以下のものが必要です:

これも必要だ:

  • ブライトデータのアカウント。
  • OpenRouter API キー。

以下のステップでは、Bright DataとOpenRouterの両方の認証情報を必要なときに設定する方法を説明します。ですから、今は心配しないでください。

必須ではありませんが、以下の知識はこのチュートリアルを最大限に活用するのに役立ちます:

  • MCPの仕組みについての一般的な理解。
  • Qwen Agentの基本的な機能を理解していること。
  • Bright Data MCPサーバーとその利用可能なツールについてある程度の知識があること。
  • Pythonでの非同期プログラミングの経験。

ステップ1:プロジェクトのセットアップ

ターミナルを開き、MCPを搭載したAIエージェント用の新しいフォルダを作成する:

mkdir qwen-agent-mcp

qwen-agent-mcpフォルダには、Python AI エージェントのすべてのコードが格納されます。

次に、プロジェクトフォルダーに移動し、その中に仮想環境を作成する:

cd qwen-agent-mcp
python -m venv venv

お好みのPython IDEでプロジェクトフォルダを開きます。Python拡張機能付きのVisual Studio CodeまたはPyCharm Community Editionを使用することを推奨します。

プロジェクトフォルダ内にagent.pyというファイルを作成します:

Qwen-Agent MCP エージェントプロジェクトのファイル構造

agent.pyファイルは現在空ですが、近日中にQwen3とBright Data MCPサーバーを統合するためのロジックを含む予定です。

IDEのターミナルを使用して仮想環境をアクティブにします。LinuxまたはmacOSでは、次のコマンドを実行する:

source venv/bin/activate

同様に、Windowsでは、起動します:

venv/Scripts/activate

これで準備完了です!これでQwen-AgentとBright Data MCPサーバーを使用したAIエージェントを構築するためのPython環境が整いました。

ステップ2:環境変数の設定 読み込み

あなたのプロジェクトは、OpenRouterやBright Dataのようなサードパーティのサービスとやり取りします。API キーを Python コードにハードコードするのは避けましょう。代わりに、より良いセキュリティと保守性のために、環境変数からロードしてください。

このプロセスを簡単にするために、python-dotenvライブラリを利用します。仮想環境を起動した状態で、python-dotenv ライブラリをインストールします:

pip install python-dotenv

次に、agent.pyファイルでライブラリをインポートし、load_dotenv() で環境変数をロードします:

from dotenv import load_dotenv

load_dotenv()

これにより、スクリプトはローカルの.envファイルから環境変数を読み込むことができるようになります。それでは、プロジェクトフォルダー内に.envファイルを作成してください:

ネストしたエージェントフォルダ内の.envファイル

これで、コードの中で次のように環境変数にアクセスできる:

env_value = os.getenv("<ENV_NAME>")

Python標準ライブラリからosモジュールをインポートすることを忘れないでください:

import os

素晴らしい!これで環境変数から秘密を安全にロードするための準備が整った。

ステップ #3: Google ADKを使い始める

起動した仮想環境で、Qwen-Agentライブラリをインストールしてください:

pip install "qwen-agent[gui,mcp]"

qwen-agentはいくつかのオプションのサブモジュールをサポートしていることに注意してください。このチュートリアルでは、この二つで十分です:

  • [gui]はGradioベースのユーザーインターフェース。
  • [mcp]はMCPサーバーと統合するためのものです。

次に、agent.pyファイルを開き、以下のインポートを含めます:

from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI

これらは、次のステップで Qwen-Agent と MCP サーバを接続し、AI エージェントを実装するために使用されます。

デフォルトでは、Qwen-Agent は、Qwen モデルにアクセスするためのDashScope API キーを使用します。しかし、このチュートリアルでは、無料の OpenRouter プラットフォーム経由で Qwen3 を使用します。

⚠️警告:なぜアリババクラウドのDashScopeを使ってQwen3に直接アクセスしないのか不思議に思われるかもしれません。その理由は、この記事を書いている時点では、海外ユーザー(つまり中国国外のユーザー)には制限があるからです。この制限により、現在以下のような(やや誤解を招く)エラーメッセージが表示されます:

Error code: InvalidApiKey. Error message: Invalid API-key provided.

この問題を回避するには、OpenRouterや、地域制限なしにQwen3へのアクセスを提供する他のプラットフォームに頼ることができます。

それでは、Qwen3統合のためのOpenRouter APIキーの設定方法を説明しましょう!

ステップ #4: OpenRouter API キーを取得する

まだの場合は、OpenRouterアカウントにサインアップしてください。すでにお持ちの場合は、ログインするだけです。

次に、右上のプロフィール画像にカーソルを合わせ、”Keys “オプションを選択して “API Keys “ページに移動します:

OpenRouter プラットフォームの "API Keys" ページ

Create API Key “ボタンをクリックし、指示に従ってキーを生成します。そのキーをコピーして、.envファイルに追加します:

OPEN_ROUTER_API_KEY="<YOUR_OPEN_ROUTER_API_KEY>"

プレースホルダを プレースホルダを実際の OpenRouter API キーに置き換えます。

次に、agent.pyファイルでキーをロードします:

OPEN_ROUTER_API_KEY = os.getenv("OPEN_ROUTER_API_KEY")

素晴らしい!これで OpenRouter 経由で Qwen3 と Qwen-Agent を使う準備ができました。

ステップ#5: Bright Data MCPサーバーのセットアップ

まずは[Bright Dataアカウントを新規作成]() するか、既存のアカウントにログインしてください。

次に、公式の指示に従って次のことを行う:

  1. Bright Data API トークンを取得します。
  2. ウェブアンロッカーとスクレイピングブラウザをMCP統合用に設定する。

それが終われば、あなたはこうなるはずだ:

  • Bright Data APIトークン。
  • Web Unlockerゾーン(ここでは、ゾーン名をデフォルトの “mcp_unlocker “とする)。
  • <BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>の形式でブラウザの認証情報をスクレイピングする。

次に、Bright Data MCPサーバーをNode.js環境にグローバルにインストールします:

npm install -g @brightdata/mcp

次に、ターミナルで2つの環境を指定する:

API_TOKEN="<YOUR_BRIGHT_DATA_API_TOKEN>"
BROWSER_AUTH="<BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>"

オペレーティング・システムに応じて、正しい手順で環境変数を定義してください。

これで、@brightdata/mcpnpmパッケージを使ってMCPサーバーを起動できる:

npx -y @brightdata/mcp

このコマンドはMCPサーバーをローカルに起動し、必要な環境変数(API_TOKENと BROWSER_AUTH)を読み込みます。すべてが正しく設定されていれば、次のような出力が表示されるはずです:

Checking for required zones...
Required zone "mcp_unlocker" already exists
Starting server...

よくやったブライト・データのMCPサーバーは魅力的に機能する。

次に、この2つの環境変数を.envファイルに追加する:

BRIGHT_DATA_API_TOKEN="<YOUR_BRIGHT_DATA_API_TOKEN>"
BRIGHT_DATA_BROWSER_AUTH="<BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>"

プレースホルダーを実際の値に置き換える。

agent.pyで、これらの変数をロードします:

BRIGHT_DATA_API_TOKEN = os.getenv("BRIGHT_DATA_API_TOKEN")
BRIGHT_DATA_BROWSER_AUTH = os.getenv("BRIGHT_DATA_BROWSER_AUTH")

完璧です!これで、Bright Data MCP サーバと Qwen-Agent を統合するためのすべての設定が完了しました。

ステップ6: Qwen3 MCP対応エージェントの定義

Qwen3とMCPをサポートするAIエージェントを初期化する関数を作成します:

def initialize_mcp_agent():
    # To connect to Qwen3 via OpenRouter
    llm_cfg = {
        "model": "qwen/qwen3-32b:free",
        "model_server": "https://openrouter.ai/api/v1",
        "api_key": OPEN_ROUTER_API_KEY,
    }

    # To connect to the Bright Data MCP server
    tools = [{
        "mcpServers": {
            "brightdata": {
                "command": "npx",
                "args": ["-y", "@brightdata/mcp"],
                "env": {
                    "API_TOKEN": BRIGHT_DATA_API_TOKEN,
                    "BROWSER_AUTH": BRIGHT_DATA_BROWSER_AUTH,
                }
            }
        }
    }]


    # Define the Qwen-Agent assistant with MCP integration
    agent = Assistant(
        llm=llm_cfg,
        function_list=tools,
        name="MCP-Powered Assistant with Access to Live Data",
        description="This agent can answer questions by retrieving up-to-date information from the Internet using configured MCP tools"
    )

    return agent

ご覧のように、上のコードでは

  • llm_cfg辞書は、OpenRouter API 経由で Qwen3 の無料版へのアクセスを設定します。
  • tools配列は、Bright Data MCPサーバーへの接続方法を定義し、AIエージェントが外部のデータ検索ツールを呼び出せるようにします。
  • 最後に、Qwen-Agentが提供するAssistant()クラスを使用して、LLMとツールの両方を統合したAIエージェントを定義します。

これです!Qwen-Agentのおかげで、MCPをAIエージェントに統合するのに数行のコードで済みます。

ステップ #7: Qwen3 MCPエージェントの起動

agent.pyに以下のコードを追加して、定義されたAIエージェントをGradioインターフェースで実行します:

if __name__ == "__main__":
    # Initialize the MCP-powered agent
    mcp_agent = initialize_mcp_agent()

    # Launch the Gradio-based web UI to interact with the AI agent in the browser
    WebUI(mcp_agent).run()

ミッションは完了した!あとはコードをテストして、AIエージェントの能力を見るだけだ。

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

これがagent.pyの最後のコードです:

from dotenv import load_dotenv
import os
from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI

# Load the environment variables from the .env file
load_dotenv()

# Read the API key from OpenRouter to use Qwen3
OPEN_ROUTER_API_KEY = os.getenv("OPEN_ROUTER_API_KEY")

# Read the envs for integration with the Bright Data MCP server
BRIGHT_DATA_API_TOKEN = os.getenv("BRIGHT_DATA_API_TOKEN")
BRIGHT_DATA_BROWSER_AUTH = os.getenv("BRIGHT_DATA_BROWSER_AUTH")

# Define the agent with Qwen 3 and MCP configuration
def initialize_mcp_agent():
    # To connect to Qwen3 via OpenRouter
    llm_cfg = {
        "model": "qwen/qwen3-32b:free",
        "model_server": "https://openrouter.ai/api/v1",
        "api_key": OPEN_ROUTER_API_KEY,
    }

    # To connect to the Bright Data MCP server
    tools = [{
        "mcpServers": {
            "brightdata": {
                "command": "npx",
                "args": ["-y", "@brightdata/mcp"],
                "env": {
                    "API_TOKEN": BRIGHT_DATA_API_TOKEN,
                    "BROWSER_AUTH": BRIGHT_DATA_BROWSER_AUTH,
                }
            }
        }
    }]


    # Define the Qwen-Agent assistant with MCP integration
    agent = Assistant(
        llm=llm_cfg,
        function_list=tools,
        name="MCP-Powered Assistant with Access to Live Data",
        description="This agent can answer questions by retrieving up-to-date information from the Internet using configured MCP tools"
    )

    return agent

if __name__ == "__main__":
    # Initialize the MCP-powered agent
    mcp_agent = initialize_mcp_agent()

    # Launch the Gradio-based web UI to interact with the AI agent in the browser
    WebUI(mcp_agent).run()

すごい!Qwen-AgentとOpenRouterのおかげで、わずか50行程度のコードで、強力なMCP搭載AIエージェントを構築できる。

でAIエージェントを実行する:

python agent.py

ターミナルには、以下のような出力が表示されるはずだ:

2025-05-27 15:40:58,783 - mcp_manager.py - 122 - INFO - Initializing MCP tools from mcp servers: ['brightdata']
2025-05-27 15:40:58,800 - mcp_manager.py - 340 - INFO - Initializing a MCP stdio_client, if this takes forever, please check the config of this mcp server: brightdata
2025-05-27 15:41:01,098 - mcp_manager.py - 350 - INFO - No list resources: Method not found
* Running on local URL:  http://127.0.0.1:7860

これは、MCP サーバーが稼働し、AI エージェントがhttp://127.0.0.1:7860 に接続され、アクセス可能であることを示しますGradioのウェブUIを通じてエージェントと対話するには、ブラウザでそのURLにアクセスしてください。

例えば、次のようなプロンプトを出してみてください:

From the Amazon product page "https://www.amazon.com/PlayStation%C2%AE5-console-slim-PlayStation-5/dp/B0CL61F39H/", extract the main info and return it in JSON format

これは、AIエージェントがアマゾンのPS5の商品ページからリアルタイムのデータを取得できるかどうか(したがって、そこから利用/学習できるかどうか)を検証するための素晴らしいテストである:

アマゾンPS5ページ

このプロンプトをUIで実行すると、次のようになるはずだ:

Qwen-Agent での Amazon データ抽出リクエストの実行

まず、右側のパネルに利用可能な Bright Data MCP サーバツールのリストがあることに注意してください。また、Qwen-Agent がどのように Bright Data MCP サーバからweb_data_amazon_productツールを使用して要求を満たすかを見てください。

ツールの実行結果を示すインターフェイスの箇条書きリストをチェックすることで、それを確認することができる:

web_data_amazon_productツールの結果を見る

最終的なJSON出力は次のようになる:

{
  "title": "PlayStation®5 console (slim)",
  "url": "https://www.amazon.com/PlayStation%C2%AE5-console-slim-PlayStation-5/dp/B0CL61F39H",
  "brand": "Sony",
  "model_number": "CFI-2015",
  "price": {
    "currency": "USD",
    "final_price": 499
  },
  "availability": "In Stock",
  "rating": 4.7,
  "reviews_count": 6824,
  "description": "The PS5 console unleashes new gaming possibilities that you never anticipated. Experience lightning fast loading with an ultra-high speed SSD, deeper immersion with support for haptic feedback, adaptive triggers, and 3D Audio*, and an all-new generation of incredible PlayStation games...",
  "key_features": [
    "Custom CPU, GPU, and SSD with Integrated I/O",
    "Support for haptic feedback, adaptive triggers, and 3D Audio",
    "Backward compatibility with PS4 games",
    "1TB SSD and 10.6 lb console weight",
    "Includes DualSense Wireless Controller"
  ],
  "delivery_info": "FREE delivery Sunday, June 1. Or Prime members get FREE Same-Day delivery Today 10 AM - 3 PM.",
  "images": [
    "https://m.media-amazon.com/images/I/41ECK5cY-2L.SL1000.jpg",
    "https://m.media-amazon.com/images/I/41srF-iY93L.SL1000.jpg"
    // more image URLs...
  ],
  "product_details": {
    "ASIN": "B0CL61F39H",
    "Release Date": "December 10, 2023",
    "Dimensions": "14 x 17 x 7 inches",
    "Weight": "10.6 pounds",
    "Best Seller Rank": "#18 in Video Games",
    "Manufacturer": "Sony"
  },
  // omitted for brevity...
}

さて、この単純な例は、あなたのAIエージェントがいかに強力であるかを示している。このAIエージェントは、あらゆるサイトから生きた構造化データをその場で抽出することができる。これは、ライブ検索、RAG(Retrieval-Augmented Generation)、最新の意思決定に最適です。

さらに良いことに、エージェントはAgent Browser(以前はScraping Browser)を使ってウェブページと直接やりとりすることもでき、高度な自動化と複雑なワークフローを可能にします。

これで出来上がりです!これが、Qwen3 + MCP と Qwen-Agent の統合による、次世代 AI エージェント構築のパワーです。

結論

このブログ記事では、Qwen3とBright Data MCPを組み合わせたQwen-Agentライブラリを使用して、Pythonで強力なAIエージェントを構築する方法を学びました。

このように、機能豊富な MCP サーバーを Qwen-Agent と統合することで、AI エージェントがウェブからリアルタイムのデータを取得し、高度なタスクを自律的に実行できるようになります。これは、Bright Dataのツールがインテリジェントな自動AIワークフローをどのように強化できるかの一例に過ぎません。

AIインフラストラクチャのソリューションをご覧ください:

  • 自律型AIエージェント:強力なAPIセットを使って、あらゆるウェブサイトをリアルタイムで検索、アクセス、対話。
  • 業種別AIアプリ:信頼性の高いカスタムデータパイプラインを構築し、業種固有のソースからウェブデータを抽出します。
  • 基礎モデル:ウェブスケールのデータセットにアクセスし、事前学習、評価、微調整を行うことができます。
  • マルチモーダルAI:AIに最適化された世界最大の画像、動画、音声のリポジトリを利用できます。
  • データプロバイダー:信頼できるプロバイダーと接続し、高品質でAIに対応したデータセットを大規模に調達。
  • データパッケージ:キュレーションされた、すぐに使える、構造化された、エンリッチされた、注釈付きのデータセットを入手。

詳しくはAIハブをご覧ください。

ブライトデータのアカウントを作成し、AIエージェント開発のためのすべての製品とサービスをお試しください!

クレジットカードは必要ありません

あなたは下記にもご興味がおありかもしれません

web scraping with NODRIVER blog image
ウェブデータ

2025年のNODRIVERによるウェブスクレイピング

NODRIVERを使ってウェブスクレイピングをマスターしましょう。このガイドでは、セットアップ、主要機能、データ抽出ワークフローを合理化する方法について説明します。
4 分読
web scraping with claude blog image
ウェブデータ

2025年のクロードによるウェブスクレイピング

Pythonを使ってWebスクレイピングを自動化し、構造化データを楽に抽出するClaude AIの使い方を学ぶ。
18 分読
Building AI-Ready Vector Datasets for LLMs blog image
AI

LLMのためのAI対応ベクトルデータセット構築:Bright Data、Google Gemini、Pineconeを使ったガイド

大規模言語モデル(LLM)は、私たちが情報にアクセスし、インテリジェントなアプリケーションを構築する方法を変革しています。LLMの可能性を最大限に引き出すには、特にドメイン固有の知識や独自のデータを使用する場合、高品質で構造化されたベクトルデータセットを作成することが重要です。LLMの性能と精度は、入力データの品質に直接結びついています。準備不足のデータセットは劣悪な結果をもたらす可能性があり、一方、十分にキュレーションされたデータセットはLLMを真のドメイン・エキスパートに変えることができます。 このガイドでは、AIに対応したベクターデータセットを生成するための自動パイプラインの構築方法を順を追って説明する。 課題:LLMのためのデータ収集と準備 LLMは膨大な汎用テキストコーパスで学習されますが、商品関連のクエリへの回答、業界ニュースの分析、顧客フィードバックの解釈など、特定のタスクやドメインに適用すると、不足することがよくあります。LLMを真に役立てるには、ユースケースに合わせた高品質のデータが必要です。 このデータは通常、ウェブ上に分散していたり、複雑なサイト構造の背後に隠されていたり、ボット対策によって保護されていたりする。 当社の自動ワークフローは、データセット作成の最も困難な部分を処理する合理化されたパイプラインでこれを解決します: コア技術の概要 パイプラインを構築する前に、関連するコアテクノロジーと、それぞれがワークフローをどのようにサポートしているかを簡単に見ておこう。 ブライトデータスケーラブルなウェブデータ収集 AIに対応したベクターデータセットを作成するための最初のステップは、関連性のある高品質なソースデータを収集することです。ナレッジベースやドキュメンテーションのような内部システムから得られるものもあるが、大部分は公共のウェブから得られることが多い。 しかし、最近のウェブサイトは、CAPTCHA、IPレート制限、ブラウザフィンガープリントなどの高度なボット対策メカニズムを使用しているため、大規模なスクレイピングは困難である。 Bright Dataは、データ収集の複雑さを抽象化するWeb Unlocker APIでこの課題を解決します。プロキシのローテーション、CAPTCHAの解決、ブラウザのエミュレーションを自動的に処理するため、データへのアクセス方法ではなく、データに集中することができます。 Google Gemini: インテリジェント・コンテンツ・トランスフォーメーション Geminiは、Googleによって開発された強力なマルチモーダルAIモデルのファミリーであり、様々なタイプのコンテンツを理解し処理することに優れている。私たちのデータ抽出パイプラインにおいて、Geminiは3つの重要な機能を果たします: このAIを活用したアプローチは、特に以下のような使用例において、脆弱なCSSセレクタや壊れやすい正規表現に依存する従来の方法よりも大きな利点をもたらす: AIがデータ抽出プロセスにどのような変化をもたらしているかについては、Using AI for Web Scrapingをご覧ください。スクレイピングのワークフローにGeminiを実装するための実践的なチュートリアルをお探しの場合は、包括的なガイドをご覧ください:GeminiによるWebスクレイピングをご覧ください。 文の変形意味埋め込み文の生成 エンベッディングは、高次元空間におけるテキスト(または他のデータタイプ)の密なベクトル表現である。これらのベクトルは意味的な意味を捉え、コサイン類似度やユークリッド距離のようなメトリクスを用いて測定される、類似したテキスト片を近接したベクトルで表現することを可能にする。この特性は、セマンティック検索、クラスタリング、検索拡張生成(RAG)のようなアプリケーションで重要である。 Sentence Transformersライブラリは、高品質の文や段落の埋め込みを生成するための使いやすいインターフェースを提供する。Hugging Face Transformersの上に構築され、意味タスクのために微調整された幅広い事前学習済みモデルをサポートしています。 このエコシステムで最も人気があり、効果的なモデルの1つがオールMiniLM-L6-v2である: より大きなモデルはより微妙なエンベディングを提供するかもしれないが、all-MiniLM-L6-v2は性能、効率、コストの間で非常に優れたバランスを提供する。その384次元ベクトルは ほとんどの実用的なユースケース、特に初期段階の開発やリソースに制約のある環境では、このモデルで十分すぎる。エッジケースにおける精度のわずかな低下は、通常、スピードとスケーラビリティの大幅な向上によって相殺されます。そのため、AIアプリケーションの最初のイテレーションを構築する場合や、控えめなインフラストラクチャでパフォーマンスを最適化する場合は、all-MiniLM-L6-v2を使用することをお勧めします。 Pineconeベクトル埋め込み画像の保存と検索 テキストがベクトル埋め込みデータに変換されると、それを効率的に保存、管理、照会するための専用のデータベースが必要になります。従来のデータベースはこのために設計されていません。ベクトル・データベースは、埋め込みデータの高次元の性質を扱うために特別に設計されており、RAGパイプライン、セマンティック検索、パーソナライゼーション、その他のAI駆動型アプリケーションに不可欠なリアルタイムの類似性検索を可能にします。 Pineconeは、開発者フレンドリーなインターフェイス、低レイテンシの検索パフォーマンス、完全に管理されたインフラストラクチャで知られる人気のベクトルデータベースです。ベクトル検索インフラストラクチャの複雑さを抽象化することで、複雑なベクトルインデックスと検索を効率的に管理します。主なコンポーネントは以下の通りです: Pineconeは2つのデプロイメントアーキテクチャを提供する:ServerlessとPod-Based です。ほとんどのユースケース、特に開始時や動的な負荷に対処する場合は、シンプルさとコスト効率からサーバーレスが推奨されます。 セットアップと前提条件 パイプラインを構築する前に、以下のコンポーネントが適切に設定されていることを確認する。 前提条件 各APIキーの生成方法については、以下のツール固有の設定セクションを参照してください。 必要なライブラリのインストール このプロジェクトのコアとなるPythonライブラリをインストールする: これらのライブラリーは提供している: 環境変数の設定 プロジェクトのルート・ディレクトリに.envファイルを作成し、APIキーを追加する: ブライトデータ設定 Bright DataのWeb Unlockerを使用するには: 実装例と統合コードについては、Web Unlocker GitHub […]
6 分読