大規模言語モデルに基づいたマルチエージェント型ウェブ検索エンジンフレームワークで、人間の思考プロセスをシミュレートして高度なAI検索を実現します。
MindSearch - オープンソースAIマルチエージェント検索エンジンフレームワーク
プロジェクト概要
MindSearchは、大規模言語モデル(LLM)をベースとしたオープンソースのマルチエージェントWeb検索エンジンフレームワークであり、Web情報の検索と統合における人間の認知プロセスをシミュレートすることを目的としています。このプロジェクトは、上海人工知能研究所と中国科学技術大学によって共同開発され、Perplexity.ai ProやSearchGPTに匹敵する検索体験を提供します。
主要機能
🤔 あらゆる質問に回答
MindSearchは、日常生活で遭遇する様々な問題を検索を通じて解決し、複雑なクエリ要求にも対応できます。
📚 深い知識の探索
MindSearchは、数百のWebページを閲覧することで、より広範で深い回答を提供します。システムは3分以内に300以上のWebページ情報を並行処理でき、これは人間の専門家3時間分の作業量に相当します。
🔍 透明性の高い解決策のパス
MindSearchは、思考パスや検索キーワードなど、完全なコンテンツを提供することで、回答の信頼性と有用性を向上させます。
💻 多様なユーザーインターフェース
React、Gradio、Streamlit、ローカルデバッグなど、様々なインターフェースをユーザーに提供します。
🧠 動的なグラフ構築プロセス
MindSearchは、ユーザーのクエリをグラフ内のサブ問題ノードに分解し、WebSearcherの検索結果に基づいて段階的にグラフを拡張します。
技術アーキテクチャ
コアコンポーネント
MindSearchはマルチエージェントアーキテクチャを採用しており、WebPlannerとWebSearcherの2つの主要コンポーネントで構成されています。
WebPlanner(ウェブプランナー)
- 高度なプランナーとして、推論ステップと複数のWebSearcherを調整
- 複雑なユーザーのクエリをグラフ内のアトミックなサブ問題ノードに分解
- WebSearcherの検索結果に基づいて段階的にグラフを拡張
- 長い検索結果に邪魔されることなく、クエリの分解と分析に集中
WebSearcher(ウェブサーチャー)
- きめ細かなWeb検索を実行し、価値のある情報をプランナーに要約して返す
- 階層的な情報検索を実行し、各サブ問題を処理
- 4つの主要ステップを含む:クエリの書き換え、検索コンテンツの集約、詳細ページの選択、最終的な要約
ワークフロー
- クエリ分解:WebPlannerが複雑なクエリを複数のサブクエリに分解
- 並列検索:複数のWebSearcherが異なるサブクエリを並行して処理
- 情報統合:WebPlannerが各WebSearcherからの結果を収集し統合
- 動的拡張:検索結果に基づいて検索グラフを動的に調整・拡張
技術実装
対応モデル
- オープンソースモデル:InternLM2.5-7b-chat(特別に最適化済み)
- クローズドソースモデル:GPT-4、Claudeなど
- デプロイ方法:ローカルサーバー、クライアント、HuggingFaceなど、多様なデプロイ方法に対応
対応検索エンジン
- DuckDuckGo Search(APIキー不要)
- Bing Search
- Brave Search
- Google Serper
- Tencent Search
フロントエンドインターフェース
- React:モダンなWebインターフェース
- Gradio:シンプルで使いやすいPythonインターフェース
- Streamlit:データサイエンスに特化したインターフェース
- Terminal:コマンドラインインターフェース
インストールと使用方法
基本インストール
git clone https://github.com/InternLM/MindSearch
cd MindSearch
pip install -r requirements.txt
環境設定
mv .env.example .env
# .envファイルを編集し、APIキーとモデル設定を追加
サービス起動
python -m mindsearch.app --lang cn --model_format internlm_server --search_engine DuckDuckGoSearch --asy
パラメータ説明
--lang
:モデル言語、cn
は中国語、en
は英語--model_format
:モデル形式、例:internlm_server
、gpt4
など--search_engine
:検索エンジンの種類--asy
:非同期エージェントのデプロイ
Reactフロントエンドの起動
# バックエンドURLを設定
HOST="127.0.0.1"
PORT=8002
sed -i -r "s/target:\s*\"\"/target: \"${HOST}:${PORT}\"/" frontend/React/vite.config.ts
# 依存関係をインストール
cd frontend/React
npm install
npm start
Dockerデプロイ
プロジェクトは、Dockerデプロイプロセスを簡素化するMSDL(MindSearch Docker Launcher)ツールを提供しています。
cd MindSearch/docker
# 対話型設定ツールを実行
ローカルモデルとクラウドモデルの両方のデプロイ方法をサポートし、GPUアクセラレーションに対応しています。
パフォーマンス
ベンチマーク結果
ChatGPT-Web、Perplexity.ai(Pro)、MindSearchのパフォーマンスを、深さ、広さ、生成される応答の正確性の3つの側面で比較しました。評価結果は、人間の専門家によって慎重に設計された100の現実的な問題に基づいており、5人の専門家によって採点されました。
優位性
- 効率向上:3分以内に300以上のWebページを処理し、人間の専門家3時間分の作業に相当
- 品質向上:深さと広さの両面で応答品質を大幅に向上
- 競争力:InternLM2.5-7BベースのMindSearchは、ChatGPT-WebおよびPerplexity.aiよりも優れた応答品質を提供
プロジェクトの特徴
オープンソースの利点
- 完全オープンソース:すべてのコードはApache 2.0ライセンスの下でオープンソース化
- コミュニティ主導:活発なGitHubコミュニティと継続的な更新
- カスタマイズ性:多様なモデルと検索エンジンの柔軟な設定をサポート
技術革新
- マルチエージェント連携:革新的なWebPlanner+WebSearcherアーキテクチャ
- 動的グラフ構築:人間の認知プロセスをシミュレートするグラフ構築方法
- 並列処理:効率的な並列情報検索と統合
- コンテキスト管理:インテリジェントな長文コンテキスト管理メカニズム
関連プロジェクト
MindSearchはInternLMエコシステムの重要な構成要素であり、以下のプロジェクトと連携して動作します。
- Lagent:軽量LLMエージェントフレームワーク
- AgentLego:多機能ツールAPIライブラリ
- InternLM2.5:最適化された大規模言語モデル
- LMDeploy:モデルデプロイツールキット
まとめ
MindSearchは、AI検索エンジン分野における重要なブレークスルーを象徴しており、人間の認知プロセスをシミュレートすることで、効率的かつ正確なWeb情報検索と統合を実現します。そのオープンソースの特性と優れたパフォーマンスは、カスタムAI検索エンジンを構築するための理想的な選択肢となります。