はじめに
OpenAIは2024年3月12日にAgents SDKを発表しました。このSDKは対話型エージェントやタスク実行エージェントなど、エージェントベースのAIシステムを簡単に構築できるようにする非常に強力なフレームワークと言えます。
しかし、近年のLLM(大規模言語モデル)開発では、OpenAIのGPTシリーズのみならず、ローカルで動作するOllama、コーディングに強いClaude、非常に長いコンテキストを持つGemini など、多様な選択肢が求められています。ただし、これらのモデルはAPI仕様が異なるので、OpenAI Agents SDKで利用するには、インターフェースを合わせる必要があります。
そこで、今回、各モデルの違いを吸収するライブラリ agents-sdk-models
を作成しました。agents-sdk-models
をつかうことで簡単に OpenAI Agents SDKの強力なエージェント構築の機能を多様なモデルで利用できるようになります。 本記事では、agents-sdk-models
の概要と活用方法について詳しく説明します。
agents-sdk-models
の特徴
- 統一API設計 → OpenAI Agents SDKに準拠し、シームレスな移行が可能
- 複数モデルの統合 → OpenAI (GPT-4o), Ollama, Claude, Gemini を同一のコードベースで使用
このライブラリを活用することで、異なるLLMを柔軟に組み合わせたエージェントの開発が可能となります。
インストール方法
pip
を使用して簡単にインストールできます。
pip install agents-sdk-models
構造化出力を含む拡張機能を使用する場合:
pip install agents-sdk-models[examples]
また、最新の開発版を利用したい場合はGitHubから直接インストールも可能です。
git clone https://github.com/kitfactory/agents-sdk-models.git
cd agents-sdk-models
pip install -e .
使い方
OpenAI (GPT-4) を使う
まず、OpenAIの標準的なエージェントの使い方を紹介します。
from agents import Agent, Runner
from agents_sdk_models import OpenAIModel
model = OpenAIModel(api_key="YOUR_OPENAI_API_KEY", model="gpt-4o")
agent = Agent(name="AIアシスタント", instructions="あなたは知識豊富なアシスタントです。", model=model)
runner = Runner(agent)
response = await runner.run("最新の技術トレンドを教えてください。")
print(response)
Ollamaを使用する
from agents import Agent, Runner
from agents_sdk_models import OllamaModel
model = OllamaModel(model="llama3")
agent = Agent(name="Ollamaアシスタント", instructions="あなたはローカルで動作する知識豊富なAIです。", model=model)
runner = Runner(agent)
response = await runner.run("Ollamaとは何ですか?")
print(response)
Claude(Anthropic)を使用する
from agents import Agent, Runner
from agents_sdk_models import AnthropicModel
model = AnthropicModel(api_key="YOUR_ANTHROPIC_API_KEY", model="claude-3")
agent = Agent(name="Claudeアシスタント", instructions="あなたは長文処理が得意なAIです。", model=model)
runner = Runner(agent)
response = await runner.run("Claudeの特徴を教えてください。")
print(response)
Gemini(Google)を使用する
from agents import Agent, Runner
from agents_sdk_models import GeminiModel
model = GeminiModel(api_key="YOUR_GEMINI_API_KEY", model="gemini-pro")
agent = Agent(name="Geminiアシスタント", instructions="あなたはGoogleの最新AI技術を活用したアシスタントです。", model=model)
runner = Runner(agent)
response = await runner.run("最新のAI技術について説明してください。")
print(response)
まとめ
agents-sdk-models
を活用することで、
✅ OpenAIの標準エージェントの使い方を維持したまま、異なるLLMを統一的に扱える
✅ 複数のモデルを簡単に切り替え、比較できる
✅ エージェント開発の自由度と拡張性が向上する
ぜひ GitHubリポジトリ をチェックして、実際に試してみてください。
このライブラリが皆さんの開発を加速し、より高度なエージェントの構築に貢献できることを願っています!