3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🚀 OpenAI Agents SDKでOllama, Claude, Geminiのモデルを利用する

Posted at

はじめに

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リポジトリ をチェックして、実際に試してみてください。

このライブラリが皆さんの開発を加速し、より高度なエージェントの構築に貢献できることを願っています!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?