今更ながらGPT-OSSでローカル自動リサーチシステムを作成してみた

言語生成AIが出始めた頃、インターネットから情報を収集し、それをまとめてくれる「自動リサーチシステム」で遊んだことがありました。

自律型人工知能(AUTO-GPT)に早期退職ブログの分析を頼んでみた
先日AUTO-GPTを自身のPCにインストールした。 AUTO-GPTはGPT3.5やグーグルなどのAPIと連携してユーザーの指示を受...

当時はオンラインのChatGPT3.5を使っていましたが、「ローカルで動くAI」で同じことができないか試したところ、VRAM不足などの制限で力不足。残念ながら再現はできませんでした。

その後、オンラインAIが自分でネット検索して答えられるようになったため、このシステムのことはすっかり忘れていました。

ところが最近、ローカルPCで稼働するChatGPT o4mini並みの性能を持つオープンモデル GPT-OSS が登場。
「これなら再現できるかも」と思い、AIにコードを書かせて LM Studio 上で GPT-OSS を動かし、接続して試してみることにしました。

作ったスクリプトで、FIREで成功者の有名ブログを3つ自動リサーチさせたところ、

  • 伊藤聡さん
  • Plac.jp さん
  • masouken.com さん

という3つのブログが抽出されました。
(他人のブログを普段見ないので正確さは分かりませんが、システム自体は正常に動作していると確認できました。)

概略図

AI自動リサーチシステム PDF形式


システム構成(概要)

  • AIモデル:openai/gpt-oss-20b(LM Studioで稼働)
  • 検索機能:Google Custom Search API
  • 実行環境:Windows + Python仮想環境
  • PC:GPU VRAM 12GB以上、CPU i3以上、メモリ16GB程度

インストール手順

  1. LM Studio を Windows にインストール
    openai/gpt-oss-20b をダウンロードし、チャット機能が使えることを確認。
  2. モデルを起動
    LM Studio の chat タブの下にある Developer タブで
    status: stoppedRunning に切り替え。
    これで外部から gpt-oss-20b にアクセス可能に。http://127.0.0.1:1234/v1を使用する。
  3. Google API の取得
    手順はこちらを参照 → Qiita記事
  4. Python環境構築(LM Studioをインストールしたディレクトリで実行)
    python -m venv venv
    .\venv\Scripts\activate
    pip install openai requests dotenv
    
  5. 環境変数の設定
    .env ファイルを作成し、以下の3行を記述(APIキーとIDは上記Qiita記事で取得)

    # Google Custom Search API設定
    GOOGLE_API_KEY=*********************************
    GOOGLE_CSE_ID=*************

    当初はKEYとIDをスクリプトにハードコーディングしていましたが、うまくいかないので、環境ファイルとして外出ししました。ChatGPTがハードコーディングでうまくいくと言い張るので小一時間悩みました。

  6. スクリプト実行
    auto.py をダウンロードして解凍して実行。
    最初にゴール(調べたいテーマ)を日本語で入力すると、その後は自動でリサーチしてくれます。

これで、自宅のPCでも「AIがネット検索してまとめる」システムを再現できます。

auto.pyは200ステップと軽量スクリプトなのでコーディングが得意なAIに更なる改良を頼めば、ご自身の仕事や趣味に特化した自動情報収集システムが構築できます。

それとGoogle Custom Search APIには厳しい回数制限があるのでBing Web Search APIやDuckDuckGo Search APIなどの回数制限が緩めな検索用APIを使ってネット検索できるようにした方が使い勝手がよさそうです。

とりあえずの基本スクリプトなので好きなように改良してください。

個人的にはさらに改良して、株の個別銘柄のファンダメンタルのリサーチに使おうかと考えています。

ローカルAIの性能が上がった今、こういった昔のアイデアも再び活用できそうです。

オンラインAIのインターネット利用が優秀になったのでこの手の情報収集は下火になりつつありますが、用途によってはまだローカル型の自動リサーチの価値は残っています。


オンラインAIで十分なケース

  • 一度きりの調査
    ChatGPTやClaudeなどの最新オンラインモデルは、検索と要約をかなり高精度で一気にやってくれるので、単発の情報収集ならこちらが速いです。

  • 幅広い情報が必要なとき
    例えば時事ニュースや公開データなど、ウェブ全体から短時間で答えを得たい場合は、オンラインAI+検索が圧倒的に効率的です。


ローカル自動リサーチがまだ強いケース

  1. 情報の再現性・長期運用が必要な場合

    • 同じテーマを定期的に調査し、結果をローカルに保存して比較したい場合

    • 自動で毎週・毎月動かしてレポートを生成する場合

  2. APIやサイト構造をカスタマイズしたい場合

    • 特定の専門サイトや社内データベースだけを検索対象にする

    • Google検索だけでなく、SNSや論文検索も組み込む

  3. 機密情報を混ぜて調査する場合

    • 社内資料や非公開データを検索・要約に組み込むときは、オンラインAIに送信すると情報漏洩のリスクがある

    • ローカルAIならインターネットに送らずに処理可能

  4. コスト面

    • 大量の調査や常時稼働では、オンラインAI+APIの利用料が積み重なる

    • ローカル環境で自動化すれば、初期設備以降はほぼ無料


もし「その場で答えがほしい」ならオンラインAIで十分ですが、
「定期的に大量のテーマを自動で回す」「機密データとネット情報を混ぜて使う」といった使い方では、今回のようなローカル自動リサーチはまだ現役で活躍できます。


おすすめ記事

ためになる記事だと思ったらシェアおねげえします

フォローする