mcpField
N
ns-postgres-rag

ns-postgres-rag

github.com/nextstage-brasil数据与数据库076 次安装1 周前更新
代码仓库

关于 ns-postgres-rag

ns-postgres-rag 是面向 PostgreSQL 检索设计的技能,帮助团队评估语料并选择向量、混合或关系型 GraphRAG 模式。它通过必须审批的设计报告规范检索方案,不编写应用代码。

主要功能

  1. 01盘点语料规模与特征
  2. 02选择检索基础模式
  3. 03制定检索设计报告
  4. 04约束图关系证据与来源
  5. 05规划评估门槛与扩展

适用场景

  1. 01为新 PostgreSQL 检索项目选型
  2. 02审查现有 DDL 与索引
  3. 03判断是否需要多跳 GraphRAG

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nextstage-brasil/skills --skill ns-postgres-rag

安装后在 Claude Code 中输入/ns-postgres-rag确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
evals.json
references/
anti-patterns.md
corpus-assessment.md
entity-resolution.md
evaluation-and-gates.md
ingestion-pipeline.md
multi-hop-traversal.md
operations-and-scale.md
retrieval-augmentations.md
retrieval-contract.md
retrieval-decision.md
schema-and-indexes.md
templates/
retrieval-design-report.md
templates/snippets/
chunk-schema.sql.snippet
entity-edge-schema.sql.snippet
hnsw-index.sql.snippet
hybrid-search.sql.snippet
multi-hop-cte.sql.snippet
retrieval-result.ts.snippet

详细介绍

PostgreSQL 检索(RAG / GraphRAG)

Postgres 检索准则:pgvector、FTS、实体/边、多跳。

分析。提出建议。不编写应用代码。 必须先批准所需报告(检索设计报告;当模式为关系型 GraphRAG 且已安装 ns-graphrag 时,还需 GraphRAG 流程报告)→ ns-spec-driven(Specify / Tasks)。

核心规则

链接 = 查询结果,绝不是文本推断。向量 = 候选项。只有在确认键/规则并存储溯源信息后,才能建立边。路径始终包含 path + provenance + confidence。

规范跳转链(仅作示例,英文产物):company → contract → invoice → payment。在 GraphRAG 流程报告中推导语料链。

必需:pgvector。Timescale:可选 — 适用于时间序列数据量、保留策略或时间分区。规模:1MM+ 文件、文档链接。

适用性

上下文要求
在 Postgres 上从零开始构建检索必须在 DDL 获批前通过门槛 1–3
现有架构 / 索引必须先盘点 DDL;诊断将相似度当作链接的问题
所需报告已获批,用户想要代码停止。 Specify / Tasks 由 ns-spec-driven 负责(GraphRAG 且已安装 ns-graphrag 时,必须先完成流程报告)

阅读代码仓库(DDL、迁移、Postgres 版本、扩展、源格式)。不要向用户询问代码树已显示的信息。

路由(先阅读)

信号操作
现在就要实现应用如果缺少所需报告,则填写(检索设计报告;GraphRAG 且已安装 ns-graphrag 时还需流程报告);否则转到 ns-spec-driven。不要编写应用代码
将相似度用作已存储链接阅读 references/anti-patterns.md + references/entity-resolution.md
答案需要 N≥2 次跳转;没有单份文档包含完整链路GraphRAG 模式 — 阅读 references/retrieval-decision.md。若已安装 ns-graphrag:完成检索设计报告后,转到该工具,在转交 ns-spec-driven 前先完成本体 / 抽取 / 答案形状 / 引用或拒答(流程报告)
本体、架构锁定的抽取、答案形状路由、引用或拒答若已安装 ns-graphrag,则使用它 — 不属于本技能
主题搜索、语料较小、没有跳转链仅向量检索 — 拒绝创建图表
GitLab ISSUE_URL 或 SDD 版本范围延后处理,参见 ../../ns-harness/references/code-skill-routing.md

启动(必需)

参见 ../../ns-harness/references/session-boot.md — 完成 Session boot(阻塞项)。然后扫描:

  1. DDL / 迁移(表、索引、vector、tsvector、实体/边)
  2. Postgres 版本;扩展(必需 pgvector;如果存在 Timescale 或触发门槛 2,则检查 Timescale)
  3. 源格式、语料路径、可推断的数量
  4. 继续使用本技能

**成功:**依据代码树和项目规则完成盘点。**失败:**臆造架构,或向用户询问代码仓库中已有的信息。

流程

启动。门槛 1:语料盘点。门槛 2:检索决策。在 Postgres 中选择纯向量检索 或 混合 RRF 或 GraphRAG。门槛 3:检索设计报告。由用户审批。如果模式为关系型 GraphRAG 且 已安装 ns-graphrag:先在那里完成并获批 GraphRAG 流程报告,再转到 ns-spec-driven。否则转到 ns-spec-driven(或返回盘点流程)。

门槛 1 — 语料盘点(阻塞项)

根据代码仓库和数据样本填写。只有代码树无法显示的信息才询问用户。字段见:templates/retrieval-design-report.md。方法见:references/corpus-assessment.md。

字段原因
规模(文件数、字节数、分块估算)1MM+ 时的索引和存储
增长 / 可变性重新嵌入率、增量写入还是重建
实体密度图表还是仅向量检索
问题类型模式
延迟预算(p95)HNSW / 筛选 / 跳转上限

不得跳过。缺少盘点 = 不得进入门槛 2。

Gate 2 — 检索决策(阻断性)

恰好选择一种基础模式。决策矩阵:references/retrieval-decision.md。

模式适用场景
仅向量主题 / 相似度;无需多跳链
混合(tsvector + 向量,排序融合)关键词 + 语义;一个文档通常就能给出答案
关系型 GraphRAGN≥2 跳,且没有任何单个文档包含完整链

增强项(叠加使用,不改变基础模式):none | multi-index | agentic | both。每个非 none 选项都需要有经测量确认、足以证明其合理性的症状。原则:references/retrieval-augmentations.md。默认选择 none。没有症状时,拒绝叠加使用。

扩展:始终使用 pgvector。Timescale 仅限 references/operations-and-scale.md 中的情况——不是默认选项。

在继续完整报告之前,先提交基础模式、增强项锁定结果,以及一段话说明理由。模式错误 = 重写 Gate 2,不要试图用 DDL 掩盖问题。

Gate 3 — 检索设计报告

复制 templates/retrieval-design-report.md。填写所有部分。不要编写应用代码。SQL = 目标 DDL / 查询形态,不是要发布的迁移。

由人工审批。若被拒绝:返回 Gate 1 或 Gate 2。

如果模式为关系型 GraphRAG,且已安装 ns-graphrag:不要立即进入 ns-spec-driven——先通过 ns-graphrag 完成 GraphRAG 流程报告(本体、提取、持久化模型、答案形态、引用或拒答)。两份报告均获批后,再进入 ns-spec-driven。如果未安装 ns-graphrag,请说明这一点,并以仅涵盖检索的范围进行交接(流程缺口仍未解决)。

参考资料索引

按需加载。

参考资料阅读时机
references/corpus-assessment.mdGate 1;1MM+ 预测
references/retrieval-decision.mdGate 2 基础模式 + 分区 / Timescale
references/retrieval-augmentations.mdGate 2 增强项(multi-index、agentic);症状锁定
references/schema-and-indexes.md目标 DDL、HNSW、筛选器、分区
references/entity-resolution.md合并、别名、没有证据时不得创建边
references/ingestion-pipeline.md提取、分块、嵌入、幂等 upsert
references/multi-hop-traversal.md递归 SQL 上限;公司 / 合同 / 发票 / 付款
references/retrieval-contract.md返回形态;path / provenance / confidence
references/evaluation-and-gates.md黄金问题、召回率、错误链接、EXPLAIN
references/operations-and-scale.md1MM+ 构建、存储、保留策略、Timescale
references/anti-patterns.md将报告标记为完成之前

代码片段(示意性 SQL / 一种返回类型):templates/snippets/。

交接给 ns-spec-driven

检索设计报告经人工审批后——如果模式为关系型 GraphRAG 且已安装 ns-graphrag,则还需 GraphRAG 流程报告经人工审批后:

## Retrieval implementation planning
- Report: path/to/retrieval-design-report.md (approved)
- GraphRAG Process Report: path/to/graphrag-process-report.md (approved | N/A if not GraphRAG or skill absent)
- Mode: vector-only | hybrid | relational GraphRAG
- Target DDL: [tables]
- Indexes: [HNSW / GIN / partition]
- Ingestion: [idempotent key + hash]
- Eval gates: [recall@k, path precision, false-link, p95]
- Out of scope for this skill: application code; GraphRAG process when ns-graphrag owns it

ns-spec-driven 负责 Specify / Tasks。此技能不编写任何应用代码。不要将 ns-graphrag 添加到此技能的 depends 中。

停止条件

条件操作
人工要求实现应用先完成必需报告(GraphRAG + ns-graphrag 时,包括流程报告);然后仅进入 ns-spec-driven
将相似度提议为存储的边拒绝;应使用候选 + 确认 + 来源信息
无 N≥2 跳的需求却采用图模式拒绝图模式;使用向量或混合模式
将其他向量存储作为默认选项坚持使用 Postgres + pgvector
递归遍历不设上限限制深度、分支数、循环,并按分数剪枝
没有时间触发因素却使用 Timescale不要推荐
跳过清单盘点阻止进入 Gate 2

禁止事项

  • 实现检索层(使用方迁移、工作进程、HTTP)
  • 将嵌入距离当作链接
  • 将外部图存储设为默认选项
  • 未经 P0 推导,就把规范的多跳示意图视为唯一允许的语料链
  • 指定应用语言或框架(允许 SQL / DDL;允许一个示意性返回类型片段)

评论

支持 Markdown