RAGSpine
アーキテクチャ

概要

プレーンな Python による二重チャネル RAG、ワークフローの相互運用性、安全なプレビュー、そしてオプションのサービス実行境界。

RAGSpine のエンジンは普通の Python です。型付けされたシーム、dataclass、明示的なストア、読みやすい 制御フローで構成されています。answer_question(...) が Q&A 合成のエントリーポイントです。独立した ワークフロードメインが Dify 互換の設定に対して解析、ワークフローのひな形生成、プレビュー、変換、 コンパイルを行い、オプションの FastAPI サービスがこれらの操作と、意図的にデフォルト無効化された エグゼキューターを公開します。

この区別は重要です。RAGSpine は Dify および n8n の相互交換サーフェスを備えていますが、どちらの プラットフォームのランタイムも組み込まず、実行時にそれらのマーケットプレイスをダウンロードすることも、 質問に答えるためにグラフフレームワークを必要とすることもありません。

アーキテクチャ上のコミットメント

コードで強制されるエビデンス

構造化された値はファクトストアから取得され、該当なしの場合は明示的な拒否になります。ナラティブな回答は出典ロケーターを保持します。

ドメインパッケージ

15 のトップレベルドメインにより、オーケストレーション、ストレージ、検索、相互運用性、サービス、CLI の責務が可視化されています。

型付けされたエッジ

プロバイダー、埋め込み、ストア、チャンカー、リランカー、キュー、コネクター、マッチャーは Protocol の背後に注入されます。

デフォルトで非実行

カタログ、ひな形生成、解析、変換、コンパイル、トポロジー、プレビューの各操作はワークフローを実行しません。実行ルートはデフォルトで無効です。

Q&A リクエストのライフサイクル

question
  → deterministic security/intent screening
  → clarification gateway
  → optional service-edge FAQ short-circuit
  → structured | narrative | composite route
       structured: normalize → query fact store → found/not_found/unrecognized
       narrative: filter → retrieve/fuse → rerank/postprocess → cited generation
       composite: execute both evidence paths and merge
  → anti-fabrication/provenance checks
  → answer + sources

オプションの history は、最終的な生成メッセージシーケンスにのみ挿入されます。決定論的な インテント/セキュリティ判定、検索クエリ、そして何をエビデンスとして扱うかを変更することは決して ありません。

ナラティブ RAG チャネルのパスでは、メタデータフィルター、RRF 融合によるライブラリ単位のルーティング、 ストアレベルの親/ウィンドウ拡張を利用できます。引用フィールドは子ヒットのものが維持され、拡張された テキストは別個の生成コンテキストとなります。制限された子は拡張前に除去されます。

ワークフローのライフサイクル

description or JSON/YAML/TOML
  → normalize to JSON-compatible mapping
  → explicit template or catalog match
  → reuse safe Dify workflow | generate fixed start→llm→end graph
  → deterministic YAML/JSON + preview schema v1
  → optional analyze / convert / compile
  → explicit server-controlled execution gate (off by default)

カタログはパッケージデータであり、7 個のキュレーション済みテンプレートと 993 個の生成された ディスクリプターで構成されます。上流の Dify/n8n の URL は調査用メタデータにすぎず、上流の ワークフローテキストや認証情報が再配布されることはありません。

信頼境界

  • 基本ライブラリとカタログに API キーは不要です。
  • サービスの通常のエンジン/カタログ/コンパイラールートには組み込みのアプリケーション認証がなく、 デプロイメントインフラによって保護する必要があります。
  • Dify 互換の公開エンドポイントには Bearer アプリキーが必要です。n8n 互換の公開 CRUD には X-N8N-API-KEY が必要です。
  • Webhook は意図的に非認証であり、イングレス制御が必要です。
  • ワークフロー実行は、デフォルトで RAGSPINE_DIFY_RUN_ENABLED=false によって追加的にゲートされて います。
  • プロセス内の制限レイヤーは OS サンドボックスではありません。サブプロセスのリソース制限は Linux のみで機能します。

次に読むべきページ

このページ