変更履歴
リリースごとの RAGSpine の注目すべきユーザー向け変更点と、それに並走する Spine ファミリーの現在地。
このページはリリースごとのユーザー向けの変更を追跡します:API の形状、設定サーフェス、
パッケージング、依存関係。変更の背後にある理由については、リンクされた
ADR を辿ってください。シンボルレベルの詳細については、タグ付けされたソースに対して make docs を実行してください。
このドキュメントは現在の main ツリーに追随しており、そのパッケージメタデータは 0.11.0 です。これは
PyPI に 0.11.0 が公開されているという主張ではありません。インストール済みディストリビューションの
挙動については ragspine version とロックファイルを確認してください。
0.11.0(現在のソーススナップショット)
自然言語によるワークフローのひな形生成と、安全なウェブサイトプレビュー契約。 この作業は
main に存在します。公開ステータスは意図的にソースメタデータから推測していません。
追加
- インストール済みショートハンド
ragspine "description"と明示的なragspine workflow createコマンド。 完全一致テンプレート選択、再利用のオプトアウト、lexical/ONNX/auto マッチング、JSON/YAML 出力、 安全なクロスプラットフォームのファイル書き込みを備えます。 - 1,000 件のバンドルカタログ:手作業でキュレートされた 7 件のワークフローと、ちょうど 39 の業種、 27 のユースケース、5 つのアーキタイプにわたる 993 件の生成ディスクリプタ。Dify/n8n マーケットプレイスの ページは事実確認のためのリサーチ参照にはなり得ますが、上流のワークフロー本体、プロンプト、 認証情報は、実行時にコピーもダウンロードもされません。
- JSON、YAML、TOML のワークフロー取り込みを JSON 互換マッピングへ正規化。重複キー、サイズ、深さ、 構造ノード、文字列、YAML エイリアス、シンボリックリンク、特殊ファイルの各ガードを備えます。
- ワークフロープレビュースキーマ v1:プロンプト、変数、プロバイダー設定、認証情報、実行可能な設定を 含めずにレンダリングするための、決定的にリダクションされたノード/エッジ/ジオメトリ。
- 読み取り専用のカタログ/詳細/ひな形生成 HTTP エンドポイント、ページキャッシュ/ETag、 マッチャーのフォールバック。
セキュリティ挙動
- ひな形生成とプレビューがワークフローを実行することは決してありません。既存の Dify/n8n 実行サーフェスは、
デフォルトで
RAGSPINE_DIFY_RUN_ENABLED=falseの背後に留まります。 - サービスは、選択されたワークフローのリクエストボディをバッファリング前に制限し、422 レスポンスから エコーされたバリデーション入力/コンテキストを取り除きます。
0.10.0
検索プロダクトプリセット、履歴セマンティクス、永続化された small-to-big 展開。
追加
eq、ne、in、nin、gt、gte、lt、lte、betweenによるメタデータフィルタと、 オプションの自動抽出シーム。フィルタは絞り込みのみを行い、順序を保持します。- マルチライブラリルーティングと
MultiIndexRetriever:ライブラリごとの検索、RRF 融合、library_idによる出典追跡、ルーティング失敗時の全ライブラリフォールバック。 - 埋め込みバックエンドもベクトルストアも構築しないエコノミー検索モード(
economy/bm25/lexical)。 - 親子/small-to-big チャンク分割と、ストアレベルの
parent_id、heading、window_text、parent_locatorの永続化/マイグレーション。引用元となるのは引き続き子チャンクであり、展開されたprompt_textは生成専用で、制限付きの子がそのウィンドウを通じて漏洩することはあり得ません。 answer_question(..., history=...)と HTTP ask 履歴。過去のターンは生成コンテキストとしてのみ 用いられ、意図/セキュリティ/検索の入力や証拠になることは決してありません。ADR 0017 と ADR 0018 を参照してください。
0.9.0
ソースコネクタ、リレーショングラフの出典追跡、ドメインチャンク分割とストリーミング。 このリリースは
さらに 3 つのオプトインシームを開き、ストリーミング回答エンドポイント、.txt 取り込み、
2 つのエルゴノミクスヘルパーを追加します — すべてデフォルトオフで、未選択時にはバイト単位で同一です。
追加
- KB ソースコネクタシーム。
SourceConnectorProtocol (iter_documents() -> Iterable[RawDoc]、make_source_connector/RAGSPINE_SOURCE_CONNECTOR) により取り込みソースがプラガブルになります:filesystem(依存ゼロのデフォルト)、in_memory、http、notion。サードパーティのコネクタはragspine.source_connectorsエントリポイント グループを通じて登録します。取り込みを参照してください。 - 出典追跡マーカー付きのオプトイン
RelationExtractorスロット。build_relation_graphの傍らに 置かれたRelationExtractorProtocol(make_relation_extractor/RAGSPINE_RELATION_EXTRACTOR)。 デフォルトのNoneはベースグラフをバイト単位で同一に保ちます。決定的な共起抽出器はクリーンな 系譜を持つco_occurs_withエッジを追加します。オプトインの LLM 抽出器([llm]の背後)は すべてのエッジにmodel-derived+unverifiedのスタンプを押し、両端点をSecurityGateで スクリーニングし、RESTRICTED テキストがモデルに到達することを決して許しません。ADR 0015 を参照してください。 - ドメインチャンクプリセット —
laws/qa/book。 ドキュメントファミリーごとに見出し検出のみを 調整する(条項/章/質問と回答のペアリング)、3 つのレイアウト対応RAGSPINE_CHUNKERプリセット。 ベースの予算、parent_id、ロケータを継承します。 検索を参照してください。 - ストリーミング ask エンドポイント —
POST /v1/ask/stream(SSE)。/v1/askと同じ回答を トークン単位でストリーミングします。完全なガードチェーン(FAQ ショートサーキット、二重チャネル検索、 捏造防止リライト、出典追跡)は最初のバイトがストリーミングされる前に最後まで実行されるため、 捏造が途中までストリーミングされてから撤回されることは決して起こりません。 HTTP APIを参照してください。 .txtナラティブ取り込み。 プレーンテキストファイルがナラティブパス (extract_txt_narrative)に加わります:UTF-8、空行による段落分割、ブロックごとにpara={N}ロケータ付きの 1 セグメント — 依存ゼロかつ決定的です。 取り込みを参照してください。- エルゴノミクスヘルパー。
AgentResult.answer_plain(インラインの(来源:…)サフィックスを取り除いた回答。sourcesから引用をレンダリングする UI 向け)、キーワード専用のFact.metric(...)ビルダー(frozen な 10 タプルに対する順序非依存の構築)、そしてSqliteFactStore.has_source_doc(source_doc_id)(増分リフレッシュのための存在プローブ)。 Python API を参照してください。
依存関係
- 新しいオプションの、寛容なライセンスの、遅延インポートされる extra が 1 つ:
[connectors](httpx。http/notionコネクタのみが必要とします)。非オプションの新しいランタイム依存は なく、オフラインのデフォルトパスは変更ありません。
0.8.1
拡張シームの強化。 幅方向バックログにあった 3 つのガバナンスシームが正式化され、サードパーティの バックエンドが不変条件の conformance パックを_通して_(決して迂回せずに)プラグインできるように なります。純粋に構造的な作業です — すべてのデフォルトパスはバイト単位で同一のままで、捏造防止の ラチェットはゼロを維持します。
追加
TraceSinkシーム + プライバシートレース conformance。 プライバシーに配慮したトレースシンクは 登録可能なシーム(make_trace_sink/RAGSPINE_TRACE_SINK)となり、回答/ファクト値/チャンク テキストを含むあらゆるペイロードを拒否またはスクラブする conformance パックを_通して_、観測性を OpenTelemetry / ファイルへファンアウトできます。実際のOtelTraceSinkはオプションの[otel]extra の背後で出荷され、系譜を漏洩するシンクはパックに失敗します。FactStoreProtocol。 構造化ストアは、stdlib-sqlite のSqliteFactStoreをデフォルト (make_fact_store/RAGSPINE_FACT_STORE)とする@runtime_checkableProtocol となり、 DuckDB / Postgres アダプタをフォローアップとして開きます。その conformance パックは、ストレージ側の 2 つの不変条件 — found-determinism(ミスは空を返し、捏造された値を決して返さない)と 出典の存続(source_doc_id+ ロケータが upsert/query を通じて持続する)— を、必ず失敗 しなければならないリバースプルーフのスタブとともに拘束します。Extractor出典追跡 conformance パック。 登録されたすべての抽出器(xlsx · pptx · pdf · docx · pptx-rich)は、実際のフィクスチャに対して非 null のsource_doc_id+ セルロケータを 持つことが検証されます。系譜を落とすスタブは両方の次元で失敗します。
依存関係
- 新しいオプションの、寛容なライセンスの、遅延インポートされる extra が 1 つ:
[otel](OpenTelemetry、Apache-2.0)。非オプションの新しいランタイム依存はありません。
0.8.0
2 回目の競合パリティバッチ(ワークストリーム W8–W12)。主流スタック(LlamaIndex · LangChain / LangGraph · Haystack · RAGFlow · Weaviate · Vespa · Jina · Cohere)に対して ベンチマークされています。0.7.0 と同様、すべての追加はオプトインでデフォルトオフです:何も 選択しなければオフラインの決定的ループはバイト単位で同一であり、新しい各バックエンドは RESTRICTED の 2 出口分離と出典追跡 conformance パックを継承します。
追加
- 検索後のポストプロセッサチェーン。 再ランキングの後、プロンプト組み立ての前に実行される
NodePostprocessorシーム(make_postprocessor/RAGSPINE_POSTPROCESSOR、例:"mmr,lost_in_middle")— MMR 多様性による重複除去、lost-in-the-middle の並べ替え、 決定的な抽出型コンテキスト圧縮。いずれもモデル不要です。LLMLingua-2 / LLM コンプレッサは このシームのフォローアップです。圧縮は別個のprompt_textキーに書き込み、textと すべての参照フィールドをバイト単位で同一に保ちます。 - LLM クエリ変換。 既存の
QueryRewriter/IntentParserシーム上の HyDE、 RAG-Fusion(RRF を再利用)、step-back プロンプティング、Adaptive-RAG ルーティング (make_query_transform/RAGSPINE_QUERY_TRANSFORM、RAGSPINE_ADAPTIVE)。生成された 各サブクエリは決定的セキュリティゲートを再実行します。HyDE の仮想ドキュメントは検索プローブで あり、引用可能なファクトには決してなりません。 - RAPTOR + チャンク分割戦略。 RAPTOR 多粒度ツリー(決定的なしきい値クラスタリング。
出典追跡を保持し、引用可能なファクトには決してならない
is_synthesisクラスタサマリー)に 加え、Chunkerシーム上の sentence-window および semantic チャンク分割 (RAGSPINE_CHUNKER、make_raptor_*/RAGSPINE_RAPTOR*)。 - ColBERT と SPLADE の再ランカー。 既存の
ListwiseJudgeシーム上でmake_rerankerを介した、 トークンレベルの遅延相互作用(MaxSim)と学習型スパーススコアリング (RAGSPINE_RERANKER=colbert|splade、[colbert]/[splade])。再ランカーとして 出荷されます。重いマルチベクトル/スパース検索インデックスはフォローアップです。 - ColPali ビジュアルドキュメント検索。 OCR→テキスト変換でレイアウトが失われるような、チャートや
図が密集したレポートのための、
VisualEmbedderシーム上のページ画像遅延相互作用 (make_visual_embedder/RAGSPINE_VISUAL_EMBEDDER、[colpali])。オプトインで GPU を 使用します。決定的な MaxSim オーケストレーションと入口での RESTRICTED 分離は完成済みで、 実 GPU でのエンドツーエンドはフォローアップです。
依存関係
- 新しいオプションの、寛容なライセンスの、遅延インポートされる extra のみ:
[colbert]、[splade]、[colpali](すべてfastembed経由、Apache-2.0)。非オプションの新しいランタイム 依存はなく、オフラインのデフォルトパスは変更ありません。
0.7.0
品質深化バッチ(ワークストリーム W1–W7):デフォルトの検索ループが真にセマンティックになり、 オフラインの再ランキング頭脳を獲得し、Spine ファミリーのドキュメントスタックを活用し、根拠性 (groundedness)の測定を追加し、決定的なナレッジグラフを育てます。オプトインの追加はデフォルト オフで、リーンな純 BM25 パスはバイト単位で同一のままです。
変更
- extra が存在するときは dense がデフォルトでオン。
ServiceConfig.embeddingのデフォルトが"auto"になりました:[embed-onnx]がインストールされていれば、出荷されるループは設定なしで 真のハイブリッド(BM25 + ONNX セマンティック → RRF)になります。extra がなければNoneに 解決され、リーンな純 BM25 パスはバイト単位で同一です。RAGSPINE_EMBEDDINGにonnx/autoが追加されます。
追加
- 実セマンティック埋め込みのデフォルト(W1)。
[embed-onnx]の背後にあるOnnxEmbeddingBackend(fastembed経由、paraphrase-multilingual-MiniLM-L12-v2、384 次元 多言語、オフライン、決定的)。make_embedding_backendにonnx/autoとして登録されます。 - ローカルクロスエンコーダ再ランカー(W2)。 新しい
make_rerankerファクトリ (RAGSPINE_RERANKER、[rerank])を介したListwiseJudgeシーム上のCrossEncoderReranker(fastembedのms-marco-MiniLM、オフライン、決定的)— オフラインの 再ランキング頭脳です。LLM listwise judge はより高コストな選択肢として残ります。 - ファミリードキュメントスタック(W3)。 デフォルトの
OcrBackendはファミリーのオフライン OCR (pdfspine → ocrspine)となり、スキャン PDF のパスが実際に取り込みへ配線されました (以前はキュー投入のみ)。新しい.docxExtractor(docspine、[doc])とオプトインの.pptxExtractor(pptspine、[ppt])。docx / pptx のセル塗りつぶしとネストされたテーブルがStyledGridIR に流れ込むようになりました。 - Contextual Retrieval + レイアウトチャンク分割(W4)。 インデックステキストのみに注入される
決定的なコンテキストヘッダー(
title · entity · period · heading)(RAGSPINE_CONTEXTUAL)に 加え、Chunkerシーム上のレイアウト対応チャンク分割および親子/small-to-big チャンク分割 (RAGSPINE_CHUNKER)。 - 忠実性/根拠性の評価(W5)。 2 つの新しいラチェット付きゲート — クレームレベルの忠実性と 自由テキストの回答正確性 — が同じベースラインラチェットに組み込まれ、オフラインの決定的 含意判定デフォルトを備えます。評価を参照してください。
- エージェント的な深化、オプトイン(W6)。 LLM クエリ分解(
RAGSPINE_QUERY_DECOMPOSE)、 修正的検索 / CRAG の grade→act ループ(RAGSPINE_CORRECTIVE)、そして有界のマルチターン 会話メモリのスケルトン — それぞれがサブクエリ/ターンごとにセキュリティゲートと分離を 再アサートします。 - GraphRAG(W7)。 新しい
graph/ドメイン:制御された次元(子会社ロールアップ、同業比較、 導出トレース — すべて引用付き)上の決定的な構造化リレーショングラフ、インプロセスの デフォルトとnetworkxアダプタを備えたGraphStoreProtocol(RAGSPINE_GRAPH_STORE、[graph])、そしてナラティブ GraphRAG の抽出/コミュニティスケルトン(オプトイン、[graph]+[llm]の背後)。チャネルを参照してください。
依存関係
- 新しいオプションの、寛容なライセンスの、遅延インポートされる extra のみ:
[embed-onnx]、[rerank]、[doc]、[ppt]、[graph]。オフラインで重い SDK ゼロのデフォルトパスは 保持されます。
0.3.0
ヘッドラインは、共有ファミリーコアへの LLM プロバイダーシームの移行と、オプションのアクティブ レートリミッターです。完全な根拠については ADR 0012 を参照してください。
変更(カスタムプロバイダーには破壊的変更)
-
LLMProviderは現在corespineに置かれ、ragspine.agent.llm_providerから再エクスポートされます。インターフェースはcreate_message(*, system, messages, tools) -> ProviderResponseから OpenAI chat-completions 形式へ移行しました:def chat( self, messages: list[dict[str, Any]], *, tools: list[dict[str, Any]] | None = None, ) -> ChatCompletion: ...システムプロンプトは、独立した引数ではなく最初の
{"role": "system", ...}メッセージとなり、ProviderResponseはcorespine.ChatCompletionに置き換えられました(choices→content+tool_callsを持つResponseMessage、加えてusage/model/id)。カスタム プロバイダーは移行が必要です — 拡張ポイントを参照してください。
追加
- アクティブ TPM レート制限。
RAGSPINE_TOKENS_PER_MINUTE(int、デフォルト0= オフ)を 設定すると、サービスはプロバイダーを corespine のRateLimitedProviderでラップします — tokens-per-minute の上限を_下回り続ける_スライディングウィンドウのソフトリミットで、SDK の 受動的なmax_retries429 バックオフを補完します。設定を参照してください。 [all]extra —pip install "rag-spine[all]"はすべてのランタイム機能 ([pdf,ocr,llm,embed,vector,service]。[dev]は除く)を取り込みます。 インストールを参照してください。
依存関係
- 非オプションのランタイム依存が 1 つ追加されます:
corespine>=0.1.0(薄い共有ファミリー コア。それ自体のdependenciesは空です)。オフラインファースト、重い SDK ゼロのデフォルト パスは保持されます。
Spine ファミリー
RAGSpine は、薄い corespine コアを共有する小さなファミリーの 1 パッケージです。兄弟パッケージの
現在のリリース:
corespine 0.1.0
薄い共有コア:LLMProvider シーム + RateLimitedProvider、6 つの Protocol シーム、統一エラー型、mypy ゲート。ドメイン中立なプリミティブのみで、ランタイム依存は空です。
spineagent 0.0.3
汎用マルチエージェント協調フレームワーク(agent / tool / オーケストレーション + MCP / A2A シーム)。オフラインファーストで corespine 上に構築されています。mypy --strict + beartype の二重型ゲートで強化されています。
pdfspine 0.3.0
PyMuPDF(fitz)の Apache-2.0・純 Rust 再実装(PyO3 バインディング付き)— PP-OCRv5 OCR がコンパイル済みで wheel に同梱され、Markdown と画像からの PDF 生成にも対応しました。RAGSpine はこれを通じて([pdf] extra 経由で)ファミリー OCR に到達します。
docspine 0.2.0
Apache-2.0・純 Rust の DOCX で、第一級のテーブルモデル(gridSpan / vMerge / ネスト)を備えます。忠実な .docx → PDF エクスポート(ストリーミングページネーション、セクションごとのジオメトリ、テーブル忠実度)に対応しました。[doc] extra を通じて RAGSpine の .docx Extractor を支えます。
pptspine 0.2.0
Apache-2.0・純 Rust の PowerPoint / OOXML で、より充実したマージ処理を備えます。忠実な .pptx → PDF エクスポート(スライドごとに 1 ページ、プレースホルダー/テーマ継承)に対応しました。[ppt] extra を通じて RAGSpine のオプトイン .pptx Extractor を支えます。