15 ポイント 投稿者 GN⁺ 2025-02-28 | 1件のコメント | WhatsAppで共有
  • オープンソースのモデルとツール(Milvus、LangChain など)を活用して、Deep Research 型のリサーチエージェントを実装
  • Web・ドキュメント検索を通じて、テーマや質問に対して自動で深いリサーチを行い、中間段階ごとに 行動(検索、整理など)を選択するエージェント構造を実装する事例が増えている
  • 本文では、こうしたアイデアを拡張した DeepSearcher オープンソースプロジェクトを紹介。クエリルーティング条件付き実行フローWebクローリングツールの利用 などを紹介
  • DeepSearcher は Python ライブラリ・CLI 形式で提供されており、複数のソース文書を入力し、埋め込みモデルやベクターDBの設定をファイルで簡単に調整できる
  • シンプルながら エージェントベースRAG を実演する事例であり、実際の AI アプリケーション開発へとつながる足がかりになりうる
  • 特に 推論モデル の速度と効率の問題が強調されており、問い合わせと検索の過程で多くのトークン生成が必要なため、推論リソース がボトルネックになる
  • SambaNova のカスタムハードウェアで動作する DeepSeek-R1 reasoning model を使うと、1秒あたりのトークン生成速度が競合サービスより高速になる
  • こうしたクラウド推論サービスにより、Llama 3.x、Qwen2.5、QwQ などさまざまなモデルでも効率的な推論が可能になる

質問の定義と細分化

  • 初期のユーザー問い合わせを 詳細なサブクエリ に分解する
  • 前回の記事と同様に、"How has The Simpsons changed over time?" のような問い合わせは、以下のように複数のサブクエリに分けられる
    • 例: 作品の文化的・社会的影響、シーズンごとのキャラクター・ユーモア・物語構成の変化、アニメーション・制作技術の変化、視聴者の反応の変化 など
  • その後の段階で必要に応じて、追加で 質問を再定義 したり拡張したりもする

リサーチと分析

  • サブクエリをもとに、クエリルーティングベクター検索リフレクション(reflection)、そして 条件付き反復 の段階を経る
  • クエリルーティング
    • 複数のデータベースコレクションのうち、どれを使うかを LLM が決定するようにプロンプトを構成する
    • JSON 形式の応答を受け取り、コレクションごとに検索クエリを生成するようにする
  • ベクター検索
    • Milvus に保存された埋め込みを活用して 類似度検索 を実行する
    • 前回の記事と同様に、ソースデータをあらかじめ分割してベクトル化しておく
  • リフレクション(reflection)
    • LLM が前段階で得られたクエリ・回答をもとに、追加情報が必要かどうか を確認する
    • 不足している部分があれば新しいサブクエリを生成し、再検索を試みる
  • 条件付き反復
    • リフレクションの結果、追加クエリが必要なら上記の過程を繰り返す
    • これ以上情報を収集する必要がないと判断したら、最終レポートを生成する段階に進む

最終レポートの生成

  • すべてのサブクエリと検索結果を総合して、1つのプロンプト でレポートを生成する
  • 以前のデモより 一貫性とまとまり を高めた形のレポートが得られる
  • たとえば、"How has The Simpsons changed over time?" に対する最終レポートは、以下のような構成で詳細を提供する
      1. 文化的影響と社会的な関連性
      1. キャラクター・ユーモア・ストーリーラインの進化
      1. アニメーション・技術的変化
      1. 視聴者層、反応、視聴率の変化
    • 結論: 初期の反抗的な風刺から大衆的アイコンへと変貌した過程 など
  • DeepSeek-R1 モデルを使った版と、GPT-4o mini モデルで生成した版のレポートを比較できる

今後の方向性

  • DeepSearcher はまだシンプルな段階だが、追加のエージェント構成レポートの構造化条件付き反復の拡張 などによってさらに発展させられる
  • 大規模推論モデルは 非常に重い計算 を伴うため、推論速度コスト がサービスの中核的課題になる
  • SambaNova の DeepSeek-R1 モデルを使って 65 回の推論呼び出し、約 25k の入力トークンと 22k の出力トークンを使用し、約 0.30 ドルのコストで十分に高速な応答が得られたという
  • DeepSearcher リポジトリ でプロジェクトを直接試せるほか、今後も追加機能や事例を継続的に共有していく予定

1件のコメント

 
GN⁺ 2025-02-28
Hacker Newsのコメント
  • このシステムはローカルLLMを使っていないので、真のローカルシステムではない

    • OllamaやLM StudioがホストするローカルLLMを使えるDeep Searcherがあるのか気になる
  • HuggingFaceのオープンソース版との比較が気になる

    • HF版は、Webを探索して結果を収集した後に評価し、最終結果を合成する推論LLMを使っている
    • この版は、Webクローリングで生成されたドキュメントのベクターストアを見せているように思える
  • Grokの実装の魔法は、ほとんどのWebサイトをキャッシュしているため非常に高速に感じられることにある

    • Bing/Brave検索はその機能を提供していないようだ
    • こうしたサービスが存在するのか気になる
  • Deep Researchに対するさまざまなアプローチが好き

    • Flowを使って新しいワークフローを試しているところ
  • 関連する2本のブログ記事がある

    • オープンソースを使ってDeep Researchを構築した経験を共有している
  • 主要なAI企業が同じDeep Research製品を作っているので、共有オープンソースプラットフォームに集中するのが合理的だろう

  • Webクローリング統合の実質的な意味が気になる

    • 理論的にはSci-Hubで論文を読み、有効な大学院レベルの研究を生成するのに使えるのか気になる
    • DeepSeek R1、GPT-4o、その他の大規模モデルを使って書かれたレポートを比較するのに役立つかもしれない
    • オープンソースコードは、さまざまなLLMの限界をより早く明らかにし、特定のニーズに合ったより良い推論ループの開発に役立つ可能性がある
  • 個人ノート(Obsidian)とWebに接続できるDeep Researchツールを探していた

    • このツールにはその機能があるようだ
    • あとはDeep Researchの結果をObsidianにエクスポートする方法を見つけるだけだ
  • 実際に使ってみて、いくつか問題に直面したため、openAIテキスト埋め込みをMilvusEmbeddingに置き換える必要があった

    • QuickStartの反応は良かった
  • 真の魔法の弾丸は、lib-genとsci-hubを検索することだ