連携

AutoGen

Microsoft AutoGen のエージェントに Thunderbit 駆動の Web Reader を持たせる

AutoGen のエージェントは Python 関数を Tool として受け取れます。/distill をラップすれば、任意の AssistantAgent(または GroupChat のメンバー)がライブの Web コンテンツを取得できます。

インストール

pip install pyautogen httpx

Function Tool

import httpx

API = "https://openapi.thunderbit.com/openapi/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}

def read_url(url: str) -> str:
    """Fetch a URL and return clean Markdown.

    Use for any web research task: docs, articles, search results, product pages.
    """
    resp = httpx.post(f"{API}/distill",
                      headers=H,
                      json={"url": url, "renderMode": "basic"},
                      timeout=60.0)
    resp.raise_for_status()
    return resp.json()["data"]["markdown"]

Agent に登録

from autogen import AssistantAgent, UserProxyAgent

llm_config = {"model": "gpt-4o", "api_key": "YOUR_OPENAI_KEY"}

researcher = AssistantAgent(name="researcher", llm_config=llm_config)
proxy      = UserProxyAgent(name="proxy", code_execution_config=False)

researcher.register_for_llm(name="read_url", description="Fetch URL as Markdown")(read_url)
proxy.register_for_execution(name="read_url")(read_url)

proxy.initiate_chat(researcher, message="Summarize https://arxiv.org/abs/2501.00001")

GroupChat

マルチエージェント crew(researcher + writer + critic)では、read_url を researcher の register_for_llm のみに登録し、他のエージェントが起動できないようにします。実行は引き続き共有の UserProxyAgent を通ります。

関連