Labsco
suwa-sh logo

Local RAG Backend

1

from suwa-sh

A local RAG backend powered by Docker Compose, supporting various document formats for search.

🔥🔥🔥🔥✓ VerifiedFreeAdvanced setup

local-RAG-backend

ローカル環境のdocker composeで完結するRAGシステムのバックエンドです。各種ドキュメントを登録し、MCP serverで検索できます。

特徴

  • 幅広いファイル形式に対応: unstructuredを利用して、PDF、Office、テキスト、画像など多様なファイル形式に対応しています。
  • MCP検索機能: graphiti MCP Serverの実装を流用して、Model Context Protocol対応の検索を提供します。
  • 高度なRAG機能: graphitiを利用して、ベクトル検索 + グラフ検索 + 全文検索の結果を、関係性でリランキングした結果を返します。
  • 時系列の関係性の変化を追跡: graphitiのエピソード機能で、登録したドキュメント内の概念の関係性の変化を追跡できます。
graph TB
    User[システム管理者]
    AIAgent[MCP Client]

    subgraph "local-RAG-backend"
        Ingest[ドキュメント登録<br/>unstructured]
        MCPServer[ナレッジ検索<br/>MCP Server]
        Graphiti[graphiti core]
        Neo4j[Neo4j]
    end

    LLM[LLMモデル<br/>OpenAI API互換]
    Ollama[Embeddingモデル<br/>OpenAI API互換]

    User -->|コマンド実行| Ingest
    AIAgent -->|MCP Tools呼び出し| MCPServer
    Ingest --> Graphiti
    MCPServer --> Graphiti
    Graphiti -->|ドキュメント登録| Neo4j
    Graphiti -->|検索クエリ実行| Neo4j
    Graphiti ---> LLM
    Graphiti ---> Ollama

設定

環境変数の一覧と説明・既定値は .env.example を参照してください(設定はこのファイルで一元管理しています)。

# .env.example をコピーして編集
cp .env.example .env
vi .env

既知の課題

  • ナレッジ検索の内部処理の可視化(ログ分析は可能)