HN公開: ローカルで動作する「Perplexity」クローンを作る
(github.com/nilsherzig)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件のコメント
Hacker Newsの意見
背景知識: LLMs(Large Language Models)は大規模言語モデルであり、自然言語処理に使われる。ベクターデータベースはデータをベクトル形式で保存し、高速検索を可能にするデータベース。Perplexityは自然言語処理分野でモデルの性能を評価する指標でもあるが、ここでは特定の製品またはサービスを指しているようだ。