README_ja.md
中文阅读 | コミュニティ | インストール | 例 | 論文 | 引用 | 貢献 | CAMEL-AI
</h4> <div align="center" style="background-color: #f0f7ff; padding: 10px; border-radius: 5px; margin: 15px 0;"> <h3 style="color: #1e88e5; margin: 0;"> 🏆 OWLはGAIAベンチマークで<span style="color: #d81b60; font-weight: bold; font-size: 1.2em;">58.18</span>の平均スコアを達成し、オープンソースフレームワークの中で<span style="color: #d81b60; font-weight: bold; font-size: 1.2em;">🏅️ #1</span>にランクインしました! 🏆 </h3> </div> <div align="center">🦉 OWLは、タスク自動化の限界を押し広げる最先端のマルチエージェント協力フレームワークであり、CAMEL-AIフレームワークの上に構築されています。
私たちのビジョンは、AIエージェントが現実のタスクを解決するためにどのように協力するかを革命的に変えることです。動的なエージェントの相互作用を活用することで、OWLは多様な分野でより自然で効率的かつ堅牢なタスク自動化を実現します。
</div> </div> <!-- # Key Features -->コミュニティに参加して、最先端のAIによってあなたの革新的なアイデアが実現されるのを見てみましょう。
https://github.com/user-attachments/assets/2a2a825d-39ea-45c5-9ba1-f9d58efbc372
OWLは、ワークフロープリファレンスに合わせた複数のインストール方法をサポートしています。最適なオプションを選択してください。
# GitHubリポジトリをクローン
git clone https://github.com/camel-ai/owl.git
# プロジェクトディレクトリに移動
cd owl
# uvがインストールされていない場合はインストール
pip install uv
# 仮想環境を作成し、依存関係をインストール
# Python 3.10、3.11、3.12の使用をサポート
uv venv .venv --python=3.10
# 仮想環境をアクティブ化
# macOS/Linuxの場合
source .venv/bin/activate
# Windowsの場合
.venv\Scripts\activate
# すべての依存関係を含むCAMELをインストール
uv pip install -e .
# 完了したら仮想環境を終了
deactivate
# GitHubリポジトリをクローン
git clone https://github.com/camel-ai/owl.git
# プロジェクトディレクトリに移動
cd owl
# 仮想環境を作成
# Python 3.10の場合(3.11、3.12でも動作)
python3.10 -m venv .venv
# 仮想環境をアクティブ化
# macOS/Linuxの場合
source .venv/bin/activate
# Windowsの場合
.venv\Scripts\activate
# requirements.txtからインストール
pip install -r requirements.txt --use-pep517
# GitHubリポジトリをクローン
git clone https://github.com/camel-ai/owl.git
# プロジェクトディレクトリに移動
cd owl
# conda環境を作成
conda create -n owl python=3.10
# conda環境をアクティブ化
conda activate owl
# オプション1:パッケージとしてインストール(推奨)
pip install -e .
# オプション2:requirements.txtからインストール
pip install -r requirements.txt --use-pep517
# 完了したらconda環境を終了
conda deactivate
OWLは、さまざまなサービスと対話するために複数のAPIキーを必要とします。owl/.env_templateファイルには、すべての必要なAPIキーのプレースホルダーと、それらのサービスに登録するためのリンクが含まれています。
.envファイルを使用する(推奨)テンプレートをコピーして名前を変更:
cd owl
cp .env_template .env
APIキーを設定:
お好みのテキストエディタで.envファイルを開き、対応するフィールドにAPIキーを挿入します。
注意:最小限の例(
examples/run_mini.py)の場合、LLM APIキー(例:OPENAI_API_KEY)のみを設定する必要があります。
または、ターミナルで環境変数を直接設定することもできます:
macOS/Linux (Bash/Zsh):
export OPENAI_API_KEY="your-openai-api-key-here"
Windows (コマンドプロンプト):
set OPENAI_API_KEY="your-openai-api-key-here"
Windows (PowerShell):
$env:OPENAI_API_KEY = "your-openai-api-key-here"
注意:ターミナルで直接設定された環境変数は、現在のセッションでのみ有効です。
OWLはDockerを使用して簡単にデプロイでき、異なるプラットフォーム間で一貫した環境を提供します。
# リポジトリをクローン
git clone https://github.com/camel-ai/owl.git
cd owl
# 環境変数を設定
cp owl/.env_template owl/.env
# .envファイルを編集し、APIキーを入力
# このオプションはDocker Hubから即使用可能なイメージをダウンロードします
# 最速であり、ほとんどのユーザーに推奨されます
docker compose up -d
# コンテナ内でOWLを実行
docker compose exec owl bash
cd .. && source .venv/bin/activate
playwright install-deps
xvfb-python examples/run.py
# Dockerイメージをカスタマイズする必要があるユーザーやDocker Hubにアクセスできないユーザー向け:
# 1. docker-compose.ymlを開く
# 2. "image: mugglejinx/owl:latest"行をコメントアウト
# 3. "build:"セクションとそのネストされたプロパティをコメント解除
# 4. 次に実行:
docker compose up -d --build
# コンテナ内でOWLを実行
docker compose exec owl bash
cd .. && source .venv/bin/activate
playwright install-deps
xvfb-python examples/run.py
# コンテナディレクトリに移動
cd .container
# スクリプトを実行可能にし、Dockerイメージを構築
chmod +x build_docker.sh
./build_docker.sh
# 質問を使用してOWLを実行
./run_in_docker.sh "your question"
Docker内でMCPデスクトップコマンダーを使用する場合、次を実行:
npx -y @wonderwhy-er/desktop-commander setup --force-file-protocol
クロスプラットフォームサポート、最適化された構成、トラブルシューティングなど、詳細なDocker使用手順については、DOCKER_README.mdを参照してください。
インストールと環境変数の設定が完了したら、すぐにOWLを使用できます:
python examples/run.py
ツール呼び出し:OWLは、さまざまなツールキットと対話するために強力なツール呼び出し機能を持つモデルを必要とします。モデルはツールの説明を理解し、適切なツール呼び出しを生成し、ツールの出力を処理する必要があります。
マルチモーダル理解:ウェブインタラクション、画像解析、ビデオ処理を含むタスクには、視覚コンテンツとコンテキストを解釈するためのマルチモーダル機能を持つモデルが必要です。
AIモデルの設定に関する情報については、CAMELモデルドキュメントを参照してください。
注意:最適なパフォーマンスを得るために、OpenAIモデル(GPT-4以降のバージョン)を強く推奨します。私たちの実験では、他のモデルは複雑なタスクやベンチマークで著しく低いパフォーマンスを示すことがあり、特に高度なマルチモーダル理解とツール使用を必要とするタスクでは顕著です。
OWLはさまざまなLLMバックエンドをサポートしていますが、機能はモデルのツール呼び出しおよびマルチモーダル機能に依存する場合があります。以下のスクリプトを使用して、異なるモデルで実行できます:
# Qwenモデルで実行
python examples/run_qwen_zh.py
# Deepseekモデルで実行
python examples/run_deepseek_zh.py
# 他のOpenAI互換モデルで実行
python examples/run_openai_compatible_model.py
# Azure OpenAIで実行
python examples/run_azure_openai.py
# Ollamaで実行
python examples/run_ollama.py
LLM APIキーのみを必要とするシンプルなバージョンについては、最小限の例を試してみてください:
python examples/run_mini.py
examples/run.pyスクリプトを変更して、独自のタスクでOWLエージェントを実行できます:
# 独自のタスクを定義
task = "Task description here."
society = construct_society(question)
answer, chat_history, token_count = run_society(society)
print(f"\033[94mAnswer: {answer}\033[0m")
ファイルをアップロードする場合は、質問と一緒にファイルパスを提供するだけです:
# ローカルファイルを使用したタスク(例:ファイルパス:`tmp/example.docx`)
task = "What is in the given DOCX file? Here is the file path: tmp/example.docx"
society = construct_society(question)
answer, chat_history, token_count = run_society(society)
print(f"\033[94mAnswer: {answer}\033[0m")
OWLは自動的にドキュメント関連のツールを呼び出してファイルを処理し、回答を抽出します。
以下のタスクをOWLで試してみてください:
OWLのMCP統合は、AIモデルがさまざまなツールやデータソースと相互作用するための標準化された方法を提供します:
MCPを使用する前に、まずNode.jsをインストールする必要があります。
公式インストーラーをダウンロード:Node.js。
インストール中に「Add to PATH」オプションをチェックします。
sudo apt update
sudo apt install nodejs npm -y
brew install node
npm install -g @executeautomation/playwright-mcp-server
npx playwright install-deps
examples/run_mcp.pyの包括的なMCP例を試して、これらの機能を実際に体験してください!
重要:ツールキットを効果的に使用するには、強力なツール呼び出し機能を持つモデルが必要です。マルチモーダルツールキット(Web、画像、ビデオ)には、マルチモーダル理解機能を持つモデルも必要です。
OWLはさまざまなツールキットをサポートしており、スクリプト内のtoolsリストを変更してカスタマイズできます:
# ツールキットの設定
tools = [
*BrowserToolkit(headless=False).get_tools(), # ブラウザ自動化
*VideoAnalysisToolkit(model=models["video"]).get_tools(),
*AudioAnalysisToolkit().get_tools(), # OpenAIキーが必要
*CodeExecutionToolkit(sandbox="subprocess").get_tools(),
*ImageAnalysisToolkit(model=models["image"]).get_tools(),
SearchToolkit().search_duckduckgo,
SearchToolkit().search_google, # 利用できない場合はコメントアウト
SearchToolkit().search_wiki,
SearchToolkit().search_bocha,
SearchToolkit().search_baidu,
*ExcelToolkit().get_tools(),
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
*FileWriteToolkit(output_dir="./").get_tools(),
]
主要なツールキットには以下が含まれます:
その他の専門ツールキット:ArxivToolkit、GitHubToolkit、GoogleMapsToolkit、MathToolkit、NetworkXToolkit、NotionToolkit、RedditToolkit、WeatherToolkitなど。完全なツールキットのリストについては、CAMELツールキットドキュメントを参照してください。
利用可能なツールをカスタマイズするには:
# 1. ツールキットをインポート
from camel.toolkits import BrowserToolkit, SearchToolkit, CodeExecutionToolkit
# 2. ツールリストを設定
tools = [
*BrowserToolkit(headless=True).get_tools(),
SearchToolkit().search_wiki,
*CodeExecutionToolkit(sandbox="subprocess").get_tools(),
]
# 3. アシスタントエージェントに渡す
assistant_agent_kwargs = {"model": models["assistant"], "tools": tools}
必要なツールキットのみを選択することで、パフォーマンスを最適化し、リソース使用量を削減できます。
# 中国語版を起動
python owl/webapp_zh.py
# 英語版を起動
python owl/webapp.py
# 日本語版を起動
python owl/webapp_jp.py
ウェブインターフェースはGradioを使用して構築されており、ローカルマシン上で実行されます。設定したモデルAPI呼び出しに必要なデータ以外は外部サーバーに送信されません。
OWLのGAIAベンチマークスコア58.18を再現するには:
gaia58.18ブランチに切り替え:
git checkout gaia58.18
評価スクリプトを実行:
python run_gaia_roleplaying.py
これにより、GAIAベンチマークでトップランクのパフォーマンスを達成したのと同じ構成が実行されます。
私たちはOWLの改善に継続的に取り組んでいます。以下は私たちのロードマップです:
ソースコードはApache 2.0ライセンスの下でライセンスされています。
このリポジトリが役立つと思われる場合は、以下を引用してください:
@misc{owl2025,
title = {OWL: Optimized Workforce Learning for General Multi-Agent Assistance in Real-World Task Automation},
author = {{CAMEL-AI.org}},
howpublished = {\url{https://github.com/camel-ai/owl}},
note = {Accessed: 2025-03-07},
year = {2025}
}
私たちはコミュニティからの貢献を歓迎します!以下は、どのように支援できるかです:
現在貢献を受け付けている問題:
問題を引き受けるには、興味を示すコメントを残すだけです。
エージェントのスケーリング法則を見つけるための限界を押し広げるために、私たちと一緒に参加してください(DiscordまたはWeChat)。
さらなる議論に参加してください!
<!--  -->Q: サンプルスクリプトを起動した後、なぜローカルでChromeが実行されていないのですか?
A: OWLがタスクを非ブラウザツール(検索やコード実行など)を使用して完了できると判断した場合、ブラウザは起動しません。ブラウザベースのインタラクションが必要と判断された場合にのみ、ブラウザウィンドウが表示されます。
Q: どのPythonバージョンを使用すべきですか?
A: OWLはPython 3.10、3.11、および3.12をサポートしています。
Q: プロジェクトにどのように貢献できますか?
A: 参加方法の詳細については、貢献セクションを参照してください。コードの改善からドキュメントの更新まで、あらゆる種類の貢献を歓迎します。
OWLはCAMELフレームワークの上に構築されています。以下は、CAMELのソースコードを探索し、OWLとの連携方法を理解する方法です:
# CAMELリポジトリをクローン
git clone https://github.com/camel-ai/camel.git
cd camel