WebThinkerは、大規模推論モデル(LRM)の自律的な研究能力を強化するために設計されたオープンソースプロジェクトです。WebThinkerは、推論モデルが推論プロセス中に独立してウェブ検索、ナビゲーション、情報抽出を行い、最終的に詳細なレポートを生成することを可能にします。中国人民大学情報検索自然言語処理研究室(RUC-NLPIR)によって開発されたこのプロジェクトは、QwQ-32B推論モデルとQwen-32B-Instruct補助モデルに基づいています。WebThinkerは、モデルがエンドツーエンドのタスク処理のために直接検索とナビゲーション操作を実行できる従来の検索拡張生成(RAG)の限界を打破します。知識集約型の複雑な推論タスク(GPQA、GAIA、WebWalkerQA、HLEなど)やオープンエンドなレポート生成タスクに優れており、研究者の情報収集にかかる時間とコストを劇的に削減します。このプロジェクトはMITライセンスの下にあり、コードとドキュメントは研究者や開発者のためにGitHubで公開されています。
機能一覧
- 自律的ウェブ検索:このモデルは自動的に検索を開始し、タスク要件に基づいて関連情報を抽出することができる。
- ディープ・ウェブ・ナビゲーション:リンクやボタンをクリックして、ウェブコンテンツを深く探索することをサポートします。
- レポートの自動生成:検索しながらレポートを作成し、構造化されたカスタマイズされたコンテンツを生成します。
- レポートの編集とチェック:内容の正確性と一貫性を確保するために、レポートをチェックし、修正するためのツールを提供します。
- 複数の推論モードをサポート:多様なニーズに適応するために、スクリプトを通して異なるタスクモードを実行します。
- Crawl4AI解析との統合:JavaScriptでレンダリングされたウェブページの抽出を最適化します。
- オープンソースで拡張可能:コードはオープンで、ユーザーはモデルや機能をカスタマイズできる。
ヘルプの使用
設置プロセス
WebThinkerを使用するには、ユーザーは以下の手順に従って環境を設定し、プロジェクトを実行する必要があります。下記は、ユーザがすぐに使い始められるようにするための、詳細なインストールと使用ガイドです。
1.Conda環境の作成と有効化
WebThinkerはPython 3.9環境に依存しており、Condaで管理することが推奨されています。以下のコマンドを実行して環境を作成し、有効化してください:
conda create -n webthinker python=3.9
conda activate webthinker
というファイルが作成される。 webthinker
依存関係を確実に分離するために、仮想環境の
2.プロジェクトをクローンし、依存関係をインストールする。
GitHubからWebThinkerリポジトリをクローンし、必要なPythonパッケージをインストールします:
git clone https://github.com/RUC-NLPIR/WebThinker.git
cd WebThinker-main
pip install -r requirements.txt
requirements.txt
vLLMやCrawl4AIなど、プロジェクトに必要な依存パッケージをすべて含めます。インストールを完了するために、安定したインターネット接続を確保します。
3.構成推論モデルと補助モデル
WebThinkerは推論モデルと補助モデルを必要とします。公式には、推論モデルとしてQwQ-32Bを、補助モデルとしてQwen-32B-Instructを、それぞれコア推論とウェブページの読み込みとレポート作成のタスクに使用することを推奨している。ユーザーは、vLLMを介してこれらのモデルをデプロイする必要がある。実行する前に、モデルがダウンロードされ、ローカルまたはサーバー上で起動されていることを確認してください。デプロイ手順は公式ドキュメント(GitHubリポジトリのREADMEにリンクされている)に記載されている。
4.ウェブ解析クライアントのセットアップ
ウェブクローリングを強化するために、以下の設定をお勧めします。 <WebThinker-main>/scripts/search/bing_search.py
Crawl4AIクライアントは、Crawl4AIで設定する。 Crawl4AIは、JavaScriptでレンダリングされた動的なWebコンテンツを処理し、情報抽出の信頼性を向上させることができる。ユーザーはCrawl4AIのサービスに登録し、APIキーを取得する必要がある。
5.WebThinkerを実行する
上記の設定が完了すると、ユーザーは提供されたスクリプトを使ってさまざまな推論モードを実行することができる。例
python scripts/run_inference.py --mode report_generation
このコマンドはレポート生成モードを開始する。他のモード(複雑な推論タスクなど)はスクリプトで指定できます。実行する前に、モデルサービスが開始されていることを確認してください。
主な機能
WebThinkerの中核は、自律的な検索とレポート生成です。以下は、主な機能の詳細なフローです:
自律的ウェブ検索
ユーザーがリサーチクエスチョンを入力すると、WebThinkerは自動的に検索ツール(例:Bing検索)を起動し、関連するウェブページを取得する。モデルは最初の検索結果を分析し、キーワードを抽出し、さらなる検索が必要かどうかを判断する。例えば、ユーザーが "最新のAI研究動向 "を尋ねた場合、WebThinkerは関連する学術論文やニュースを検索し、質の高いコンテンツをフィルタリングする。
詳細なウェブ・ナビゲーション
WebThinkerのディープ・ウェブ・エクスプローラ・モジュールでは、モデルがウェブページ上のリンクやボタンをクリックして、情報をドリルダウンすることができます。例えば、学術的なウェブサイトにアクセスした場合、モデルは「次のページ」や「PDFをダウンロード」ボタンをクリックして、より詳細なデータにアクセスすることができます。どのリンクが最も関連性が高いかをモデルが自動的に判断するため、手動による操作は必要ありません。
レポートの作成と編集
WebThinkerは3つのレポート関連ツールを提供しています:
- チャプター・コンテンツの執筆このモデルは、検索結果に基づいて「背景」や「データ分析」など、レポートの特定のセクションを自動的に生成します。ユーザーはレポートの構造を指定することができ、モデルは必要に応じて内容を入力します。
- 検査の報告このモデルは、レポートのロジックと完全性をチェックし、情報の欠落や一貫性のない部分にフラグを立てます。
- レポート編集者ユーザーは、スクリプトを使用して編集機能を呼び出すことにより、レポートの内容を調整することができます。例えば
python scripts/edit_report.py --report_path ./outputs/report.txt
このコマンドにより、指定されたレポートの文言と構造を最適化することができます。
Crawl4AIによるクローリングの最適化
Crawl4AIは、JavaScriptを含むニュースページのような動的なウェブページ上の複雑なコンテンツを解析することができる。ユーザーには bing_search.py
Crawl4AIでAPIキーを設定し、ネットワーク接続を確保する。一度設定すると、モデルは自動的にCrawl4AIを呼び出し、ウェブテキスト、画像、その他の要素を抽出する。
ほら
- ハードウェア要件QwQ-32Bのような大規模モデルを実行するには、高性能GPU(NVIDIA A100など)が必要です。ハードウェアがvLLM推論をサポートしていることを確認してください。
- ネットワーク環境検索機能とクロール機能には安定したネットワークが必要です。プロキシやVPNを使用することをお勧めします。
- モデルの選択しかし、互換性を確保する必要がある。
- 出力ビュー生成されたレポートは
<WebThinker-main>/outputs/
ディレクトリには、Grok3 DeepSearchおよびGemini 2.0 Deep Researchとの比較レポートが含まれています。
これらのステップで、WebThinkerを簡単にデプロイし、その検索機能とレポート作成機能を使用することができます。プロジェクトのドキュメントは詳細で、ある程度の技術的背景を持つユーザーに適しています。
アプリケーションシナリオ
- 学術研究
特定の分野の最新動向を素早く収集する必要がある研究者のために、WebThinkerは学術論文、ニュース、ブログを自動的に検索し、引用と分析を含むレポートを生成する。例えば、"latest advances in quantum computing "と入力すると、arXivとGoogle Scholarを検索し、構造化されたレポートを作成します。 - 市場分析
WebThinkerは、業界ニュース、企業ウェブサイト、ソーシャルメディアを検索し、市場動向に関するレポートを作成します。 - 技術開発
WebThinkerは、技術ブログやGitHubリポジトリをナビゲートし、重要な情報を抽出して技術サマリーを作成し、プロジェクト開発を支援します。
品質保証
- WebThinkerはどのようなモデルをサポートしていますか?
公式な推奨はQwQ-32B(推論モデル)とQwen-32B-Instruct(補助モデル)である。ユーザは他のコマンド微調整モデルを試すことができるが、vLLMとの互換性を確保する必要がある。 - 動的なウェブコンテンツをどう扱うか?
Crawl4AIクライアントを設定する。<WebThinker-main>/scripts/search/bing_search.py
Crawl4AIは、JavaScriptでレンダリングされたコンテンツを解析する。 - レポート作成にかかる時間は?
タスクの複雑さとネットワーク速度によります。簡単なレポートであれば5~10分程度、複雑なタスクであれば30分以上かかることもあります。 - プログラミングの経験は必要ですか?
WebThinkerのデプロイには、基本的なPythonとCondaの知識が必要です。事前に設定されたスクリプトの使用はシンプルで初心者向けです。