プロジェクト概要
PokeeResearchOSSは、7Bパラメータ規模の高度なAIモデルを基盤としたオープンソースの研究代理エンジンです。複数回にわたる質問応答サイクルを通じて、ウェブ検索機能とコンテンツ抽出ツールを自律的に連携させ、複雑な推論タスクに対応します。学術調査や市場動向の分析など、多岐にわたる専門分野で活用可能です。
システム要件と環境整備
ハードウェア仕様
- GPU: 80GB VRAMを備えたNVIDIA A100を推奨。メモリ容量が小さい場合でも実行可能ですが、処理速度に制約が生じます。
- ドライバー/CUDA: NVIDIAドライバー 570.133.20以上、CUDA Toolkits 12.8以上の導入が必要です。
ソフトウェア依存関係
- コンテナ管理にはDockerを使用します。
- スクリプト実行環境にPython 3.8以降が必須です。
外部サービス連携キー
以下のAPI認証情報を取得・設定する必要があります:
- Serper API: 検索エンジン統合用
- Jina API: Webコンテンツ解析用
- Gemini API: 要約生成および結果評価用
- HuggingFace Token: モデルウェイトのダウンロード用
環境構築手順
1. ソースコードの取得
git clone https://github.com/verl-project/PokeeResearchOSS.git
cd PokeeResearchOSS
2. コンテナ化された作業環境の作成
ホストPCのパスをコンテナ内へマウントし、永続プロセスとして起動するシェルスクリプト例を示します。
IMAGE_NAME="verlai/verl:app-verl0.5-transformers4.55.4-sglang0.4.10.post2-mcore0.13.0-te2.2"
CONTAINER_NAME="pokee-research-runner"
docker pull $IMAGE_NAME
docker run -d --name $CONTAINER_NAME \
--runtime=nvidia --gpus all --net=host \
--shm-size="80g" \
-v $(pwd):/project/workdir \
$IMAGE_NAME sleep infinity
docker exec -it $CONTAINER_NAME bash
3. パッケージ依存性の解決
コンテナ内で以下のコマンドを実行し、ライブラリを追加インストールします。
pip install colorlog google-genai
hf auth login # インターラクティブに入力 prompts されるためトークンを貼り付け
pip install -e ./verl
4. シークレット情報の設定
ルートディレクトリに env_vars.conf ファイルを作成し、各種キーを格納します。スクリプト起動時に環境変数として展開する設計です。
SERPER_API_KEY=""
JINA_API_KEY=""
GEMINI_API_KEY=""
export SERPER_API_KEY JINA_API_KEY GEMINI_API_KEY
運用とインターフェース
バックエンドサービス起動
検索リクエストとドキュメント解析を担当するミドルウェアを先行して起動します。
python backend/tool_server.py --cache-enabled=true
ベンチマーク実行と結果出力
パイプラインテストを実行すると、回答履歴と評価スコアが専用ディレクトリへ自動保存されます。
bash scripts/run_benchmarks.sh
実行ログは evaluation_outputs/ ディレクトリ配下に記録され、プロンプト内容、正解データ、推論軌跡、判定スコアが構造化データとして保持されます。
対話型インターフェースの起動
CLIモードまたはGUIモードから操作が可能です。引数により起動モードを切り替えます。
# ターミナル経由での直接入力モード
python frontend/cli_mode.py --query "深層学習アーキテクチャの最新動向"
# ブラウザ向けWeb UIサーバー起動
python frontend/gradio_interface.py
Web UI起動後は、表示されるローカルアドレスにアクセスすれば視覚的な操作パネルを利用できます。
モジュール構成
core_agent/: エージェントの中核ロジックおよび推論マネージャーorchestration/: ルーティング処理とセッション管理スクリプトsettings/: ハイパーパラメータおよびマルチターン設定ファイルclients/: 外部ツールとの通信インターフェース実装services/: 検索・抽出バックエンドサーバー本体
よくある課題と対策
メモリ不足によるクラッシュが発生する場合
バッチサイズを縮小するか、並列処理スレッド数を減らす設定を変更してください。ランタイムパラメータ内のGPU割り当て数を調整することで安定性が向上する場合があります。
認証情報の入手先
SerperおよびJinaのキーは公式ポータルから個別申請可能です。Gemini用のアクセスポイントはGoogle AI Studioにて発行し、HFトークンはアカウント認証画面から生成できます。
CPU環境での実行可否
理論的にはCPU推論にも対応していますが、演算負荷が高すぎるため実用的な速度は得られません。GPU搭載マシンでの利用を強く推奨します。