チャンク
見出し対応の Markdown チャンカーが CommonMark AST を走査し、コードブロックを保持、長段落をオーバーラップ付きで分割、小さな断片を統合します。各チャンクは見出しパスを保ち、検索結果が辿れます。
MarkNest の各ドキュメントは見出し対応のチャンクに分かれ、OpenAI text-embedding-3-small で埋め込まれ、pgvector に索引化されます。AI アシスタントは推測ではなく正確な一節を取り出します。
{
"query": "pgvector HNSW index",
"limit": 5
} {
"id": "01J..chunk",
"document_id": "01J..doc",
"document_title": "Roadmap 11",
"document_slug": "roadmap-11",
"heading_path": "Roadmap 11 > pgvector chunking",
"text": "HNSW index for cosine similarity over 1536-dim
embeddings, tuned for recall at low cardinality...",
"score": 0.91,
"source": "vector"
} 3 段階のパイプラインが Markdown を検索可能なナレッジベースに変えます。各段階は観察可能で、保存時に暗号化され、冪等です。
見出し対応の Markdown チャンカーが CommonMark AST を走査し、コードブロックを保持、長段落をオーバーラップ付きで分割、小さな断片を統合します。各チャンクは見出しパスを保ち、検索結果が辿れます。
各チャンクは OpenAI text-embedding-3-small(1536 次元、次元削減なし)でベクトル化され、HNSW 索引付きの pgvector に書き込まれます。チャンク本文は AES-256 で保存時に暗号化されたまま、ベクトルのみ平文です。
ハイブリッド検索はベクトル脚(pgvector cosine、top-40)とキーワード脚(Meilisearch、top-20)を走らせ、Reciprocal Rank Fusion(k=60)で融合します。結果はスコアと出典付きのチャンクレベルのヒットです。
MarkNest はナレッジ層であり、AI アプリが対話を担います。取得した文脈は REST と MCP で公開し、LLM のホスティングは行いません。トークン費用はあなたとモデルプロバイダーの間だけのものです。
ベクトル類似度が意味的一致を捉え、キーワード検索が精密な語句を捉えます。RRF 融合が両者を均衡させ、「HNSW index」を検索すると実際に「HNSW 索引、cosine 類似度用」と書かれたチャンクを見つけます。
POST /api/v1/search/semantic は excerpt・見出しパス・ドキュメント・スコア・出典(vector / keyword / both)付きのヒットを返します。GET /api/v1/documents/{doc}/chunks/{chunk} は id で単一チャンクを取得します。
marknest_search_chunks と marknest_get_chunk、API キーの rag:read 権限で保護。MCP 対応のアシスタントにそのまま追加できます。
日次クエリと月次埋め込みトークンの上限で利用量を予測可能に。/api/me/rag-usage で随時確認。部分対応:埋め込み枠が不足したら可能分だけ埋め、残りは保留します。