mirror of
https://github.com/camel-ai/owl.git
synced 2026-03-22 05:57:17 +08:00
update camel version to 0.2.84
This commit is contained in:
11
README.md
11
README.md
@@ -1,14 +1,3 @@
|
||||
<div align="center" style="background-color: #fff3cd; padding: 15px; border-radius: 10px; border: 3px solid #ff6b6b; margin: 20px 0;">
|
||||
<h3 style="color: #d63031; margin: 0;">
|
||||
‼️ <b>IMPORTANT NOTICE</b> ‼️
|
||||
</h3>
|
||||
<p style="font-size: 1.1em; margin: 10px 0; color: #2d3436;">
|
||||
<b>The current version of OWL does not use the up-to-date version of <a href="https://github.com/camel-ai/camel">CAMEL</a>.</b><br>
|
||||
If you want to build the best performing agents powered by workforce, please check out <a href="https://github.com/camel-ai/camel/blob/master/examples/workforce/eigent.py"><b>eigent.py</b></a>.<br>
|
||||
We are also working on updating CAMEL to the latest version.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
|
||||
</div>
|
||||
|
||||
46
README_ja.md
46
README_ja.md
@@ -1,14 +1,3 @@
|
||||
<div align="center" style="background-color: #fff3cd; padding: 15px; border-radius: 10px; border: 3px solid #ff6b6b; margin: 20px 0;">
|
||||
<h3 style="color: #d63031; margin: 0;">
|
||||
‼️ <b>重要なお知らせ</b> ‼️
|
||||
</h3>
|
||||
<p style="font-size: 1.1em; margin: 10px 0; color: #2d3436;">
|
||||
<b>現在のOWLバージョンは、最新版の<a href="https://github.com/camel-ai/camel">CAMEL</a>を使用していません。</b><br>
|
||||
workforceを活用した最高性能のエージェントを構築したい場合は、<a href="https://github.com/camel-ai/camel/blob/master/examples/workforce/eigent.py"><b>eigent.py</b></a>をご確認ください。<br>
|
||||
CAMELを最新版に更新する作業も進行中です。
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h1 align="center">
|
||||
🦉 OWL: 労働力学習の最適化による、現実世界のタスク自動化における一般的なマルチエージェント支援
|
||||
</h1>
|
||||
@@ -75,12 +64,42 @@
|
||||
- [📋 目次](#-目次)
|
||||
- [🔥 ニュース](#-ニュース)
|
||||
- [🎬 デモビデオ](#-デモビデオ)
|
||||
- [✨️ コア機能](#-コア機能)
|
||||
- [✨️ コア機能](#️-コア機能)
|
||||
- [🛠️ インストール](#️-インストール)
|
||||
- [オプション1:uvを使用する(推奨)](#オプション1uvを使用する推奨)
|
||||
- [オプション2:venvとpipを使用する](#オプション2venvとpipを使用する)
|
||||
- [オプション3:condaを使用する](#オプション3condaを使用する)
|
||||
- [**環境変数の設定**](#環境変数の設定)
|
||||
- [オプション1:`.env`ファイルを使用する(推奨)](#オプション1envファイルを使用する推奨)
|
||||
- [オプション2:環境変数を直接設定](#オプション2環境変数を直接設定)
|
||||
- [**Dockerでの実行**](#dockerでの実行)
|
||||
- [**セットアップ手順**](#セットアップ手順)
|
||||
- [**デプロイメントオプション**](#デプロイメントオプション)
|
||||
- [**オプション1:事前構築されたイメージを使用する(推奨)**](#オプション1事前構築されたイメージを使用する推奨)
|
||||
- [**オプション2:ローカルでイメージを構築する**](#オプション2ローカルでイメージを構築する)
|
||||
- [**オプション3:便利なスクリプトを使用する**](#オプション3便利なスクリプトを使用する)
|
||||
- [**MCPデスクトップコマンダーのセットアップ**](#mcpデスクトップコマンダーのセットアップ)
|
||||
- [🚀 クイックスタート](#-クイックスタート)
|
||||
- [基本的な使用法](#基本的な使用法)
|
||||
- [異なるモデルでの実行](#異なるモデルでの実行)
|
||||
- [モデルの要件](#モデルの要件)
|
||||
- [サポートされているモデル](#サポートされているモデル)
|
||||
- [例のタスク](#例のタスク)
|
||||
- [🧰 ツールキットと機能](#-ツールキットと機能)
|
||||
- [モデルコンテキストプロトコル (MCP)](#モデルコンテキストプロトコル-mcp)
|
||||
- [モデルコンテキストプロトコル(MCP)](#モデルコンテキストプロトコルmcp)
|
||||
- [**Node.jsのインストール**](#nodejsのインストール)
|
||||
- [Windows](#windows)
|
||||
- [Linux](#linux)
|
||||
- [Mac](#mac)
|
||||
- [**Playwright MCPサービスのインストール**](#playwright-mcpサービスのインストール)
|
||||
- [利用可能なツールキット](#利用可能なツールキット)
|
||||
- [利用可能なツールキット](#利用可能なツールキット-1)
|
||||
- [マルチモーダルツールキット(マルチモーダルモデル機能が必要)](#マルチモーダルツールキットマルチモーダルモデル機能が必要)
|
||||
- [テキストベースのツールキット](#テキストベースのツールキット)
|
||||
- [カスタマイズ設定](#カスタマイズ設定)
|
||||
- [🌐 ウェブインターフェース](#-ウェブインターフェース)
|
||||
- [ウェブUIの起動](#ウェブuiの起動)
|
||||
- [機能](#機能)
|
||||
- [🧪 実験](#-実験)
|
||||
- [⏱️ 将来の計画](#️-将来の計画)
|
||||
- [📄 ライセンス](#-ライセンス)
|
||||
@@ -89,6 +108,7 @@
|
||||
- [🔥 コミュニティ](#-コミュニティ)
|
||||
- [❓ FAQ](#-faq)
|
||||
- [📚 CAMEL依存関係の探索](#-camel依存関係の探索)
|
||||
- [CAMELソースコードへのアクセス](#camelソースコードへのアクセス)
|
||||
- [⭐ Star History](#-star-history)
|
||||
|
||||
# 🔥 ニュース
|
||||
|
||||
43
README_zh.md
43
README_zh.md
@@ -1,14 +1,3 @@
|
||||
<div align="center" style="background-color: #fff3cd; padding: 15px; border-radius: 10px; border: 3px solid #ff6b6b; margin: 20px 0;">
|
||||
<h3 style="color: #d63031; margin: 0;">
|
||||
‼️ <b>重要提示</b> ‼️
|
||||
</h3>
|
||||
<p style="font-size: 1.1em; margin: 10px 0; color: #2d3436;">
|
||||
<b>当前版本的 OWL 未使用最新版本的 <a href="https://github.com/camel-ai/camel">CAMEL</a>。</b><br>
|
||||
如果您想构建基于 workforce 的最佳性能智能体,请查看 <a href="https://github.com/camel-ai/camel/blob/master/examples/workforce/eigent.py"><b>eigent.py</b></a>。<br>
|
||||
我们也正在努力将 CAMEL 更新到最新版本。
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h1 align="center">
|
||||
🦉 OWL: Optimized Workforce Learning for General Multi-Agent Assistance in Real-World Task Automation
|
||||
🦉 OWL: 优化劳动力学习的通用智能体,用于处理现实世界的自动化任务
|
||||
@@ -73,11 +62,38 @@
|
||||
- [📋 目录](#-目录)
|
||||
- [🔥 新闻](#-新闻)
|
||||
- [🎬 演示视频](#-演示视频)
|
||||
- [✨️ 核心功能](#-核心功能)
|
||||
- [✨️ 核心功能](#️-核心功能)
|
||||
- [🛠️ 安装](#️-安装)
|
||||
- [选项1:使用 uv(推荐)](#选项1使用-uv推荐)
|
||||
- [选项2:使用 venv 和 pip](#选项2使用-venv-和-pip)
|
||||
- [选项3:使用 conda](#选项3使用-conda)
|
||||
- [**设置环境变量**](#设置环境变量)
|
||||
- [选项 1:使用 `.env` 文件(推荐)](#选项-1使用-env-文件推荐)
|
||||
- [选项 2:直接设置环境变量](#选项-2直接设置环境变量)
|
||||
- [**使用Docker运行**](#使用docker运行)
|
||||
- [**设置说明**](#设置说明)
|
||||
- [**部署选项**](#部署选项)
|
||||
- [**选项1:使用预构建镜像(推荐)**](#选项1使用预构建镜像推荐)
|
||||
- [**选项2:本地构建镜像**](#选项2本地构建镜像)
|
||||
- [**选项3:使用便捷脚本**](#选项3使用便捷脚本)
|
||||
- [**MCP Desktop Commander设置**](#mcp-desktop-commander设置)
|
||||
- [🚀 快速开始](#-快速开始)
|
||||
- [基本用法](#基本用法)
|
||||
- [使用不同的模型](#使用不同的模型)
|
||||
- [模型要求](#模型要求)
|
||||
- [支持的模型](#支持的模型)
|
||||
- [🧰 工具包与功能](#-工具包与功能)
|
||||
- [模型上下文协议 (MCP)](#模型上下文协议-mcp)
|
||||
- [模型上下文协议(MCP)](#模型上下文协议mcp)
|
||||
- [**安装 Node.js**](#安装-nodejs)
|
||||
- [Windows](#windows)
|
||||
- [Linux](#linux)
|
||||
- [Mac](#mac)
|
||||
- [**安装 MCP 服务**](#安装-mcp-服务)
|
||||
- [可用工具包](#可用工具包)
|
||||
- [主要工具包](#主要工具包)
|
||||
- [多模态工具包(需要模型具备多模态能力)](#多模态工具包需要模型具备多模态能力)
|
||||
- [基于文本的工具包](#基于文本的工具包)
|
||||
- [自定义配置](#自定义配置)
|
||||
- [🌐 网页界面](#-网页界面)
|
||||
- [🧪 实验](#-实验)
|
||||
- [⏱️ 未来计划](#️-未来计划)
|
||||
@@ -87,6 +103,7 @@
|
||||
- [🔥 社区](#-社区)
|
||||
- [❓ 常见问题](#-常见问题)
|
||||
- [📚 探索 CAMEL 依赖](#-探索-camel-依赖)
|
||||
- [访问 CAMEL 源代码](#访问-camel-源代码)
|
||||
- [⭐ Star History](#-star-history)
|
||||
|
||||
</div>
|
||||
|
||||
@@ -23,7 +23,7 @@ from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
VideoAnalysisToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.logger import set_log_level
|
||||
@@ -52,37 +52,37 @@ def construct_society(question: str) -> RolePlaying:
|
||||
models = {
|
||||
"user": ModelFactory.create(
|
||||
model_platform=ModelPlatformType.OPENAI,
|
||||
model_type=ModelType.GPT_4O,
|
||||
model_type=ModelType.GPT_5_1,
|
||||
model_config_dict={"temperature": 0},
|
||||
),
|
||||
"assistant": ModelFactory.create(
|
||||
model_platform=ModelPlatformType.OPENAI,
|
||||
model_type=ModelType.GPT_4O,
|
||||
model_type=ModelType.GPT_5_1,
|
||||
model_config_dict={"temperature": 0},
|
||||
),
|
||||
"browsing": ModelFactory.create(
|
||||
model_platform=ModelPlatformType.OPENAI,
|
||||
model_type=ModelType.GPT_4O,
|
||||
model_type=ModelType.GPT_5_1,
|
||||
model_config_dict={"temperature": 0},
|
||||
),
|
||||
"planning": ModelFactory.create(
|
||||
model_platform=ModelPlatformType.OPENAI,
|
||||
model_type=ModelType.GPT_4O,
|
||||
model_type=ModelType.GPT_5_1,
|
||||
model_config_dict={"temperature": 0},
|
||||
),
|
||||
"video": ModelFactory.create(
|
||||
model_platform=ModelPlatformType.OPENAI,
|
||||
model_type=ModelType.GPT_4O,
|
||||
model_type=ModelType.GPT_5_1,
|
||||
model_config_dict={"temperature": 0},
|
||||
),
|
||||
"image": ModelFactory.create(
|
||||
model_platform=ModelPlatformType.OPENAI,
|
||||
model_type=ModelType.GPT_4O,
|
||||
model_type=ModelType.GPT_5_1,
|
||||
model_config_dict={"temperature": 0},
|
||||
),
|
||||
"document": ModelFactory.create(
|
||||
model_platform=ModelPlatformType.OPENAI,
|
||||
model_type=ModelType.GPT_4O,
|
||||
model_type=ModelType.GPT_5_1,
|
||||
model_config_dict={"temperature": 0},
|
||||
),
|
||||
}
|
||||
@@ -103,7 +103,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
SearchToolkit().search_wiki,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -22,7 +22,7 @@ from camel.toolkits import (
|
||||
ImageAnalysisToolkit,
|
||||
SearchToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType
|
||||
|
||||
@@ -77,7 +77,7 @@ def construct_society(question: str) -> OwlRolePlaying:
|
||||
SearchToolkit().search_google, # Comment this out if you don't have google search
|
||||
SearchToolkit().search_wiki,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -23,7 +23,7 @@ from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
VideoAnalysisToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.logger import set_log_level
|
||||
@@ -101,7 +101,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
SearchToolkit().search_wiki,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -17,7 +17,7 @@ from camel.models import ModelFactory
|
||||
from camel.toolkits import (
|
||||
ExcelToolkit,
|
||||
SearchToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
CodeExecutionToolkit,
|
||||
BrowserToolkit,
|
||||
VideoAnalysisToolkit,
|
||||
@@ -154,7 +154,7 @@ def construct_society() -> RolePlaying:
|
||||
SearchToolkit().search_bing,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -24,7 +24,7 @@ from camel.models import ModelFactory
|
||||
from camel.toolkits import (
|
||||
ExcelToolkit,
|
||||
SearchToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
CodeExecutionToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
@@ -73,7 +73,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
SearchToolkit().search_wiki,
|
||||
SearchToolkit().search_baidu,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -27,7 +27,7 @@ from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
VideoAnalysisToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.configs import ChatGPTConfig
|
||||
@@ -108,7 +108,7 @@ def main():
|
||||
*ImageAnalysisToolkit(model=models["image"]).get_tools(),
|
||||
*SearchToolkit().get_tools(),
|
||||
*ExcelToolkit().get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -21,7 +21,7 @@ from camel.toolkits import (
|
||||
ImageAnalysisToolkit,
|
||||
SearchToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.logger import set_log_level
|
||||
@@ -99,7 +99,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
SearchToolkit().search_wiki,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -37,7 +37,7 @@ from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
VideoAnalysisToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.logger import set_log_level
|
||||
@@ -114,7 +114,7 @@ def construct_society(question: str) -> OwlRolePlaying:
|
||||
SearchToolkit().search_wiki,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -18,7 +18,7 @@ from camel.models import ModelFactory
|
||||
from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
CodeExecutionToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
@@ -82,7 +82,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
*CodeExecutionToolkit(sandbox="subprocess", verbose=True).get_tools(),
|
||||
SearchToolkit().search_duckduckgo,
|
||||
SearchToolkit().search_wiki,
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -82,7 +82,7 @@ from camel.models import ModelFactory
|
||||
from camel.toolkits import FunctionTool
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.logger import set_log_level
|
||||
from camel.toolkits import MCPToolkit, FileWriteToolkit, CodeExecutionToolkit
|
||||
from camel.toolkits import MCPToolkit, FileToolkit, CodeExecutionToolkit
|
||||
from camel.societies import RolePlaying
|
||||
|
||||
from owl.utils.enhanced_role_playing import arun_society
|
||||
@@ -161,7 +161,7 @@ async def main():
|
||||
# Connect to toolkits
|
||||
tools = [
|
||||
*mcp_toolkit.get_tools(),
|
||||
*FileWriteToolkit().get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
*CodeExecutionToolkit().get_tools(),
|
||||
]
|
||||
society = await construct_society(task, tools)
|
||||
|
||||
@@ -20,7 +20,7 @@ from camel.toolkits import (
|
||||
ExcelToolkit,
|
||||
ImageAnalysisToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.logger import set_log_level
|
||||
@@ -90,7 +90,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
*ImageAnalysisToolkit(model=models["image"]).get_tools(),
|
||||
*ExcelToolkit().get_tools(),
|
||||
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -22,7 +22,7 @@ from camel.toolkits import (
|
||||
ImageAnalysisToolkit,
|
||||
SearchToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType
|
||||
|
||||
@@ -98,7 +98,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
# SearchToolkit().search_google, # Comment this out if you don't have google search
|
||||
SearchToolkit().search_wiki,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -22,7 +22,7 @@ from camel.toolkits import (
|
||||
ImageAnalysisToolkit,
|
||||
SearchToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType
|
||||
|
||||
@@ -101,7 +101,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
SearchToolkit().search_google, # Comment this out if you don't have google search
|
||||
SearchToolkit().search_wiki,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -24,7 +24,7 @@ from camel.models import ModelFactory
|
||||
from camel.toolkits import (
|
||||
ExcelToolkit,
|
||||
SearchToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
CodeExecutionToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
@@ -73,7 +73,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
SearchToolkit().search_wiki,
|
||||
SearchToolkit().search_baidu,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -22,7 +22,7 @@ from camel.models import ModelFactory
|
||||
from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.societies import RolePlaying
|
||||
@@ -100,7 +100,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
output_language="Chinese",
|
||||
).get_tools(),
|
||||
SearchToolkit().search_baidu,
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -26,7 +26,7 @@ from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
VideoAnalysisToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.societies import RolePlaying
|
||||
@@ -112,7 +112,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
SearchToolkit().search_baidu,
|
||||
*ExcelToolkit().get_tools(),
|
||||
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -18,7 +18,7 @@ from camel.models import ModelFactory
|
||||
from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
TerminalToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
@@ -73,14 +73,14 @@ def construct_society(question: str) -> RolePlaying:
|
||||
|
||||
# Configure toolkits
|
||||
tools = [
|
||||
*BrowserToolkit(
|
||||
headless=False, # Set to True for headless mode (e.g., on remote servers)
|
||||
web_agent_model=models["browsing"],
|
||||
planning_agent_model=models["planning"],
|
||||
).get_tools(),
|
||||
# *BrowserToolkit(
|
||||
# headless=False, # Set to True for headless mode (e.g., on remote servers)
|
||||
# web_agent_model=models["browsing"],
|
||||
# planning_agent_model=models["planning"],
|
||||
# ).get_tools(),
|
||||
SearchToolkit().search_duckduckgo,
|
||||
SearchToolkit().search_wiki,
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
*TerminalToolkit().get_tools(),
|
||||
]
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ from camel.models import ModelFactory
|
||||
from camel.toolkits import (
|
||||
SearchToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
TerminalToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
@@ -80,7 +80,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
).get_tools(),
|
||||
SearchToolkit().search_duckduckgo,
|
||||
SearchToolkit().search_wiki,
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
*TerminalToolkit().get_tools(),
|
||||
]
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ from camel.toolkits import (
|
||||
ExcelToolkit,
|
||||
ImageAnalysisToolkit,
|
||||
BrowserToolkit,
|
||||
FileWriteToolkit,
|
||||
FileToolkit,
|
||||
)
|
||||
from camel.types import ModelPlatformType, ModelType
|
||||
from camel.logger import set_log_level
|
||||
@@ -90,7 +90,7 @@ def construct_society(question: str) -> RolePlaying:
|
||||
*ImageAnalysisToolkit(model=models["image"]).get_tools(),
|
||||
*ExcelToolkit().get_tools(),
|
||||
*DocumentProcessingToolkit(model=models["document"]).get_tools(),
|
||||
*FileWriteToolkit(output_dir="./").get_tools(),
|
||||
*FileToolkit().get_tools(),
|
||||
]
|
||||
|
||||
# Configure agent roles and parameters
|
||||
|
||||
@@ -67,13 +67,15 @@ class OwlRolePlaying(RolePlaying):
|
||||
|
||||
def _init_agents(
|
||||
self,
|
||||
init_assistant_sys_msg: BaseMessage,
|
||||
init_user_sys_msg: BaseMessage,
|
||||
init_assistant_sys_msg: Optional[BaseMessage],
|
||||
init_user_sys_msg: Optional[BaseMessage],
|
||||
assistant_agent_kwargs: Optional[Dict] = None,
|
||||
user_agent_kwargs: Optional[Dict] = None,
|
||||
output_language: Optional[str] = None,
|
||||
is_reasoning_task: bool = False,
|
||||
stop_event: Optional[threading.Event] = None,
|
||||
assistant_agent: Optional[ChatAgent] = None,
|
||||
user_agent: Optional[ChatAgent] = None,
|
||||
) -> None:
|
||||
r"""Initialize assistant and user agents with their system messages.
|
||||
|
||||
@@ -105,20 +107,60 @@ class OwlRolePlaying(RolePlaying):
|
||||
# model_platform=ModelPlatformType.OPENAI,
|
||||
# model_type=ModelType.O3_MINI,
|
||||
# )
|
||||
if assistant_agent is not None:
|
||||
# Ensure functionality consistent with our configuration
|
||||
if (
|
||||
hasattr(assistant_agent, 'output_language')
|
||||
and output_language is not None
|
||||
):
|
||||
assistant_agent.output_language = output_language
|
||||
if hasattr(assistant_agent, 'stop_event'):
|
||||
assistant_agent.stop_event = stop_event
|
||||
self.assistant_agent = assistant_agent
|
||||
# Handle potential None system_message - use provided or fallback
|
||||
if assistant_agent.system_message is not None:
|
||||
self.assistant_sys_msg = assistant_agent.system_message
|
||||
elif init_assistant_sys_msg is not None:
|
||||
self.assistant_sys_msg = init_assistant_sys_msg
|
||||
else:
|
||||
raise ValueError("Assistant system message cannot be None")
|
||||
else:
|
||||
if init_assistant_sys_msg is None:
|
||||
raise ValueError("Assistant system message cannot be None")
|
||||
|
||||
self.assistant_agent = ChatAgent(
|
||||
init_assistant_sys_msg,
|
||||
output_language=output_language,
|
||||
**(assistant_agent_kwargs or {}),
|
||||
)
|
||||
self.assistant_sys_msg = self.assistant_agent.system_message
|
||||
self.assistant_agent = ChatAgent(
|
||||
init_assistant_sys_msg,
|
||||
output_language=output_language,
|
||||
**(assistant_agent_kwargs or {}),
|
||||
)
|
||||
self.assistant_sys_msg = self.assistant_agent.system_message
|
||||
|
||||
self.user_agent = ChatAgent(
|
||||
init_user_sys_msg,
|
||||
output_language=output_language,
|
||||
**(user_agent_kwargs or {}),
|
||||
)
|
||||
self.user_sys_msg = self.user_agent.system_message
|
||||
if user_agent is not None:
|
||||
# Ensure functionality consistent with our configuration
|
||||
if (
|
||||
hasattr(user_agent, 'output_language')
|
||||
and output_language is not None
|
||||
):
|
||||
user_agent.output_language = output_language
|
||||
if hasattr(user_agent, 'stop_event'):
|
||||
user_agent.stop_event = stop_event
|
||||
self.user_agent = user_agent
|
||||
# Handle potential None system_message - use provided or fallback
|
||||
if user_agent.system_message is not None:
|
||||
self.user_sys_msg = user_agent.system_message
|
||||
elif init_user_sys_msg is not None:
|
||||
self.user_sys_msg = init_user_sys_msg
|
||||
else:
|
||||
raise ValueError("User system message cannot be None")
|
||||
else:
|
||||
if init_user_sys_msg is None:
|
||||
raise ValueError("User system message cannot be None")
|
||||
self.user_agent = ChatAgent(
|
||||
init_user_sys_msg,
|
||||
output_language=output_language,
|
||||
**(user_agent_kwargs or {}),
|
||||
)
|
||||
self.user_sys_msg = self.user_agent.system_message
|
||||
|
||||
# def _judge_if_reasoning_task(self, question: str) -> bool:
|
||||
# r"""Judge if the question is a reasoning task."""
|
||||
|
||||
@@ -19,6 +19,7 @@ import json
|
||||
import random
|
||||
import re
|
||||
import string
|
||||
import pandas as pd
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict, List, Literal, Optional, Union, Tuple
|
||||
|
||||
@@ -120,15 +121,31 @@ class GAIABenchmark(BaseBenchmark):
|
||||
# Load metadata for both validation and test datasets
|
||||
for path, label in zip([valid_dir, test_dir], ["valid", "test"]):
|
||||
self._data[label] = []
|
||||
with open(path / "metadata.jsonl", "r") as f:
|
||||
lines = f.readlines()
|
||||
for line in lines:
|
||||
data = json.loads(line)
|
||||
metadata_jsonl_path = path / "metadata.jsonl"
|
||||
metadata_parquet_path = path / "metadata.parquet"
|
||||
if metadata_parquet_path.exists():
|
||||
raw_data = pd.read_parquet(metadata_parquet_path)
|
||||
# convert to dict
|
||||
raw_data = raw_data.to_dict(orient="records")
|
||||
for data in raw_data:
|
||||
if data["task_id"] == "0-0-0-0-0":
|
||||
continue
|
||||
if data["file_name"]:
|
||||
data["file_name"] = path / data["file_name"]
|
||||
self._data[label].append(data)
|
||||
elif metadata_jsonl_path.exists():
|
||||
with open(metadata_jsonl_path, "r") as f:
|
||||
lines = f.readlines()
|
||||
for line in lines:
|
||||
data = json.loads(line)
|
||||
if data["task_id"] == "0-0-0-0-0":
|
||||
continue
|
||||
if data["file_name"]:
|
||||
data["file_name"] = path / data["file_name"]
|
||||
self._data[label].append(data)
|
||||
else:
|
||||
raise FileNotFoundError(f"Metadata file not found: {metadata_parquet_path} or {metadata_jsonl_path}")
|
||||
|
||||
return self
|
||||
|
||||
@property
|
||||
@@ -167,7 +184,7 @@ class GAIABenchmark(BaseBenchmark):
|
||||
f"Invalid value for `level`: {level}, expected 1, 2, 3 " "or 'all'."
|
||||
)
|
||||
logger.info(f"Running benchmark on {on} set at levels {levels}.")
|
||||
datas = [data for data in self._data[on] if data["Level"] in levels]
|
||||
datas = [data for data in self._data[on] if int(data["Level"]) in levels]
|
||||
# Shuffle and subset data if necessary
|
||||
if randomize:
|
||||
random.shuffle(datas)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
camel-ai[owl]==0.2.57
|
||||
camel-ai[owl]==0.2.84
|
||||
docx2markdown>=0.1.1
|
||||
gradio>=3.50.2
|
||||
mcp-simple-arxiv==0.2.2
|
||||
|
||||
Reference in New Issue
Block a user