Community研究&データ分析github.com

umiii100/local-rag-server

ローカルLLMを使用してPDFやDOCX文書をクエリする、マルチユーザー対応のローカルRAGシステムをデプロイします。クラウドやAPIに依存しません。

local-rag-server とは?

このスキルは、プライバシーを重視した完全ローカル環境で動作するRAG(検索拡張生成)システムを提供します。PDFおよびDOCX形式の文書をインデックス化し、ローカルLLM(大規模言語モデル)を用いて自然言語による質問応答を実現します。マルチユーザー機能により、複数のユーザーが個別のドキュメントセットに対して同時にクエリを実行できます。クラウドサービスや外部APIに依存しないため、オフライン環境や機密データを扱う組織での利用に適しています。セットアップはシンプルで、Docker Composeを使用して必要なコンポーネント(ベクトルデータベース、埋め込みモデル、LLMサーバー、Web UI)をまとめて起動できます。主なユースケースとしては、社内文書のナレッジベース構築、研究資料の分析、法律文書のレビューなどが挙げられます。

対応~Claude Code~Codex CLI~Cursor
npx skills add umiii100/local-rag-server

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

local-rag-server は何をしますか?

ローカルLLMを使用してPDFやDOCX文書をクエリする、マルチユーザー対応のローカルRAGシステムをデプロイします。クラウドやAPIに依存しません。

概要

このスキルは、完全にローカルで動作するRAG(検索拡張生成)システムを提供し、機密性の高い文書を安全に扱えるようにします。

主な機能

  • ローカルLLMサポート: Ollamaやllama.cppなどのローカルLLMバックエンドを使用
  • マルチユーザー対応: 複数のユーザーが個別の文書コレクションを管理
  • 文書形式サポート: PDFおよびDOCXファイルをインデックス化
  • Web UI: 直感的なインターフェースで文書のアップロードとクエリが可能
  • Docker Composeデプロイ: ワンコマンドで全コンポーネントを起動

前提条件

  • DockerおよびDocker Composeがインストールされていること
  • ローカルLLM(例: Ollamaでmistralモデルをプル済み)

クイックスタート

  1. リポジトリをクローン:
git clone https://github.com/umiii100/local-rag-server.git
cd local-rag-server
  1. 環境変数を設定:
cp .env.example .env
# .envファイルを編集してLLMエンドポイントなどを設定
  1. システムを起動:
docker-compose up -d
  1. Web UIにアクセス:

ブラウザで http://localhost:8000 を開きます。

設定

主要な環境変数:

変数名説明デフォルト値
LLM_BASE_URLローカルLLMのベースURLhttp://localhost:11434
LLM_MODEL使用するモデル名mistral
VECTOR_DB_PATHベクトルデータベースの保存パス./data/vector_db
UPLOAD_DIRアップロード文書の保存パス./data/uploads
SECRET_KEYセッション暗号化用のシークレットキー(必須: 独自の値を設定)

使用方法

  1. Web UIにアクセスし、アカウントを作成するかログインします。
  2. 「文書をアップロード」セクションからPDFまたはDOCXファイルをアップロードします。
  3. 文書が処理され、ベクトルデータベースにインデックス化されるのを待ちます。
  4. チャットインターフェースで質問を入力すると、文書に基づいた回答が返ってきます。

アーキテクチャ

システムは以下のコンポーネントで構成されています:

  • FastAPIバックエンド: 文書処理とRAGパイプラインを管理
  • ChromaDB: ベクトルデータベースとして文書の埋め込みを保存
  • Ollama: ローカルLLMの推論エンジン(別途実行が必要な場合あり)
  • Reactフロントエンド: ユーザーフレンドリーなWebインターフェース

トラブルシューティング

  • LLMに接続できない: LLM_BASE_URLが正しいこと、Ollamaサービスが実行中であることを確認してください。
  • 文書がインデックス化されない: ファイル形式が対応していること(PDF/DOCX)、アップロードディレクトリに書き込み権限があることを確認してください。
  • パフォーマンスが遅い: 使用するLLMモデルをより軽量なものに変更するか、GPUアクセラレーションを有効にしてください。

ライセンス

MIT

関連スキル