はじめに
OptexityはGitHub上のオープンソースプロジェクトで、Optexityチームによって開発されている。その中核は、人間の実演データを使って、コンピュータ・タスク、特にウェブ・ページ操作を完了するAIを訓練することである。このプロジェクトには、ComputerGYM、AgentAI、Playwrightの3つのコードライブラリがあり、ユーザーが操作を記録し、データを処理し、AIがボタンをクリックしたりフォームに記入したりするタスクを学習できるようにモデルを訓練することができる。すべてのコードは無料で、ユーザーがダウンロードして変更することができる。将来的には、自己探索、ソフトウェア・ドキュメンテーション、YouTubeビデオ・トレーニングがサポートされる予定である。
機能一覧
- AIがウェブタスクを完了できるように訓練するために、人間の動作デモの記録をサポートします。
- クリックやフォーム操作など、MiniWoB++などのタスク環境を提供。
- デモデータを加工し、トレーニング用のフォーマットを作成する。
- Gemini、vLLM、その他のモデルがサポートされており、LLaMA-Factoryで微調整することができる。
- オープンソースのコードがダウンロードできるので、簡単にカスタマイズできる。
- Playwrightと統合し、Webオートメーション機能を強化。
ヘルプの使用
設置プロセス
Optexityを使用するには、まず環境を準備する必要があります。以下はその手順です:
- ダウンロードコード
それをターミナルに入力する:
mkdir optexity
cd optexity
git clone https://github.com/Optexity/ComputerGYM.git
git clone https://github.com/Optexity/AgentAI.git
git clone https://github.com/Optexity/playwright.git
これで3つのコードライブラリがダウンロードされる。
- 設定環境
Condaで環境を作る:
conda create -n optexity python=3.10 nodejs
conda activate optexity
- 依存関係のインストール
ComputerGYMとAgentAIをインストールする:
pip install -e ComputerGYM
pip install -e AgentAI
Playwrightをもう一度インストールする:
cd playwright
git checkout playwright_optexity
npm install
npm run build
playwright install
cd ..
主な機能
録音デモ
- 確立
demonstration_config.yaml
参照demonstration_config_example.yaml
タスクのゴールを書く(例:「ボタンをクリックする」)。 - 録画を実行する:
./ComputerGYM/computergym/demonstrations/demonstrate.sh ComputerGYM/computergym/demonstrations/demonstration_config.yaml
マウスやキーボードの操作を記録します。
加工データ
加工後のデータを記録する:
python ComputerGYM/computergym/demonstrations/process_demonstration.py --yaml ComputerGYM/computergym/demonstrations/demonstration_config.yaml --seed 5
これは、操作をAIで読める形式に変換する。
トレーニングデータの作成
AgentAIでトレーニングファイルを作成します:
python AgentAI/agentai/sft/prepare_training_data.py --agent_config AgentAI/agentai/train_configs/hubspot_agent.yaml
ファイルは train_data
フォルダをLLaMA-Factoryに適合させた。
トレーニングモデル
LLaMA-Factoryでトレーニング。トレーニング後、モデルは http://localhost:8000
.
AIのテスト
HubSpotで通貨を変更するなど、AI効果をテストする:
python AgentAI/agentai/main.py --url "https://app.hubspot.com" --port 8000 --log_to_console --goal "change currency to SGD" --storage_state cache_dir/auth.json --model vllm
結果はターミナルに表示される。
注目の機能操作
ヒューマン・デモンストレーション・トレーニング
Optexityのハイライトは、人間の動作をAIに教えることです。一度動作を記録すると、AIはそれを繰り返すように学習します。記録も処理も簡単なので、初心者でも使える。
オリジナルモデルのテスト
さっそく試してみたい。 ジェミニ モデル?走れ:
EXPORT GEMINI_API_KEY=<你的密钥>
python AgentAI/agentai/main.py --url "https://app.hubspot.com" --port 8000 --log_to_console --goal "change currency to SGD" --storage_state cache_dir/auth.json --model gemini
キーは https://aistudio.google.com/apikey
無料で入手できる。
MiniWoB++の統合
MiniWoB++はクリックやフォームなどのタスクを提供する。実行時に、AIはゴールを完了しようとし、端末には成功率が表示される。
オープンソース・エクステンション
3つのコードベースはすべてオープンソースです。新しいタスクなどの機能を追加したり、Playwrightのロジックに手を加えたりするためにコードを変更することができ、それをGitHubに提出することで、正式なプロセスの一部となります。
運営プロセスの概要
- コードベースと環境をインストールする。
- プレゼンテーションを記録し、データを処理する。
- 学習データを生成し、モデルを訓練する。
- AIをテストし、パラメーターを調整する。
手順は明確で、数分で始めることができる。
アプリケーションシナリオ
- AIリサーチ
研究者たちは、ウェブタスクにおけるAIのパフォーマンスをテストするためにこれを使用した。 - ウェブオートメーション
開発者はAIを使って反復作業を自動化する。 - 教育実習
学生たちは、AIのトレーニングプロセスを学ぶためにこれを使用する。
品質保証
- プログラミングの基礎が必要ですか?
Pythonとターミナルの知識が少し必要だが、チュートリアルは詳細でわかりやすい。 - LLaMA-Factoryは何のためにあるのですか?
デモデータをトレーニング形式に変換する微調整ツールである。 - デモを見ながらトレーニングする必要がありますか?
その必要はない。元のモデルを直接テストすることもできるが、デモ・トレーニングの方が効果的だ。