2 ポイント 投稿者 GN⁺ 2024-04-04 | 1件のコメント | WhatsAppで共有

LLocalSearchとは何か

  • LLMエージェントを使用する、完全にローカルで動作する検索エンジン。
  • ユーザーが質問すると、システムがLLMチェーンを使って答えを探す。
  • ユーザーはエージェントの進行状況と最終的な回答を確認できる。
  • OpenAIやGoogleのAPIキーは不要。
  • フォローアップ質問機能が追加された: demo.mp4

特徴

  • 🕵️ 完全にローカルで動作するため、APIキー不要。
  • 💸 「低スペック」なLLMハードウェアで動作(デモ動画では7bモデルを使用)。
  • 🤓 検索プロセスをよりよく理解できるよう、進行ログを提供。
  • 🤔 フォローアップ質問が可能。
  • 📱 モバイルフレンドリーなインターフェース。
  • 🚀 Docker Composeを使って高速かつ簡単にデプロイ可能。
  • 🌐 どのデバイスからでも簡単にアクセスできるWebインターフェース。
  • 💮 ライトモードとダークモードをサポートする手作りUI。

状態

  • このプロジェクトはまだ初期段階。一部バグがある可能性がある。

動作原理

  • 最新情報を得るには、infraドキュメントを参照。

セルフホスティング & 開発

要件

  • コンテナからアクセス可能な、実行中のOllamaサーバー。
  • GPUは必須ではないが推奨。
  • Docker Compose

最新リリースを実行

  • このプロジェクトを開発する意図がないなら推奨。
    git clone https://github.com/nilsherzig/LLocalSearch.git
    cd ./LLocalSearch
    # 🔴 composeファイル内の環境変数を確認し、ollamaサーバーのhost:portを追加
    docker-compose up 🎉
    
  • これでデフォルトでは http://localhost:3000 でWebインターフェースを開ける。
  • デフォルトでは、それ以外は公開されない。

現在のgitバージョンを実行

  • より新しい機能を使えるが、安定性は低い可能性がある。
    git clone https://github.com/nilsherzig/LLocalsearch.git
    # 1. `docker-compose.dev.yaml` 内の環境変数を必ず確認。
    # 2. 通常のcomposeファイルではなく、dev composeファイルを確認したことを確認。
    # 3. コンテナをビルドしてサービスを開始
    make dev
    
  • make がインストールされていない場合は、Makefile内のコマンドを手動で実行できる。
  • これで http://localhost:3000 からフロントエンドにアクセスできる。

GN⁺の見解

  • LLocalSearchは、ユーザーのプライバシーを重視する現代的な検索エンジンの代替として注目に値する。ユーザーデータを外部サーバーに送信せずに検索機能を提供することで、プライバシーへの懸念を和らげられる。
  • このプロジェクトは、オープンソースコミュニティにおいて開発者に魅力的な機会を提供する。開発者はこのプロジェクトに貢献することで、検索エンジン技術への理解を深め、自身のポートフォリオを強化できる。
  • ただし初期段階のプロジェクトであるため、バグや安定性の問題がある可能性がある。これは実運用への適用を検討する際には慎重さが必要であることを意味する。
  • LLocalSearchが順調に発展すれば、既存の大手検索エンジンへの依存を減らし、検索エンジン市場の多様性を高めるきっかけになり得る。
  • 技術的な観点では、LLMエージェントを使った検索は非常に革新的だが、それを効果的に活用するには十分な計算資源と技術的知識が必要。

1件のコメント

 
GN⁺ 2024-04-04
Hacker Newsの意見
  • Hacker Newsコメントまとめ要約:
    • 🤖 LLMと検索エンジンの結合: LLMが検索エンジンにアクセスしてベクターデータベースをクエリできるシステムの説明。LLMが初期化した検索クエリの上位n件の結果をスクレイピングし、ベクターデータベースに小さなチャンクとして保存して、LLMはこのデータベースをクエリして関連チャンクを取得できる。128kコンテキストのLLMがすべてを要約するほど包括的ではないが、ローカルハードウェアでははるかに高速で、使用リソースも少ない。GitHub上のデモは一般的な民生向けGPU(amd rx 6700xt)で動作する。

    • 👍 アーキテクチャへの称賛: 既存のLLMと一緒に使う予定で、ローカルでも動作するのを見られてうれしい。共有への感謝を示しつつ、このアーキテクチャを気に入っている。

    • Perplexityとの関連性への質問: このシステムがPerplexityとどう関係しているのか、代わりに使われている基盤モデルへの言及が必要だと指摘している。

    • 🌟 ローカルモデルの特別な機能: ローカルモデルが特殊モジュールを呼び出すのを見たことがなく、個人的に使っているローカルの7b open-hermesはとても良いと評価している。

    • 🚀 企業向け社内検索エンジンとの連携可能性: まだ実行していないが非常に有望に見え、社内の企業検索エンジンに接続して使うのにとても有用だろうと考えている。ローカルLLMに接続されたAPIキー不要の製品がもっと増えるのを見られてうれしい。

    • 🛠️ インフラ内の意思決定プロセスへの質問: 「ツール使用が必要」と「答えを見つけた」ブロックがインフラ内でどのように決定されるのか、デモを見ると結果の返却に時間がかかるが、検索、ベクターストア、ベクターデータベース検索のうちどの段階が最も時間を要するのかという質問。

    • 🕵️ ローカル検索エンジンの動作原理: 「ローカルで動作する検索エンジン」とあるが、どのようにサイトやページを見つけてインデックスしているのかという疑問。

    • 🤫 Perplexityの秘密: Perplexityは既製モデルを使っている以外には大したことをしていない、という意見。

    • 🏭 Perplexityのチャットボット競合: Perplexityはチャットボットの競合相手に見える。

    • Plandexとの統合提案: 今日共有されたPlandexとつなげて、コンピュータから離れることなくコードでAIと協業できるツールを作れたら素晴らしい、という提案。

背景知識: LLMs(Large Language Models)は大規模言語モデルであり、自然言語処理に使われる。ベクターデータベースはデータをベクトル形式で保存し、高速検索を可能にするデータベース。Perplexityは自然言語処理分野でモデルの性能を評価する指標でもあるが、ここでは特定の製品またはサービスを指しているようだ。