本文档梳理“地域继承机制”的存储与查询策略,并给出 RAG + LLM 的交互优化流程,确保系统既能回答宏观政策,也能处理细粒度的预算计算与区域判断。
在招投标数据存储中引入“继承”逻辑,减少重复维护规则的成本,同时确保查询时能自动汇总所有适用条款。
推荐采用以下地域层级树:
当查询“福州市某项目”时,系统自动合并:
在 RAG 系统中,优先用“结构化查询 + 规则判断”,再交给 LLM 生成可读答案,避免让模型直接“算数或判断”。
动作
LLM 输出
对条款进行结构化归纳,输出主要资格点,并标注引用来源。
动作
数量 = 预算 / 单价。LLM 输出
将计算结果整理成可读答案,例如:
“根据清单单价,预算大约可以购买 X 吨水泥。”
动作
LLM 输出
结合区域判断与资格条款,输出可执行结论和原因。
查询时同时进行:
最后进行结果合并与去重,再交给 LLM 生成答案。
当多层级规则对同一字段产生冲突时,按以下优先级覆盖:
若同一层级出现冲突,以“版本号更高 + 生效时间更新”的规则为准。
规则建议包含:
effective_at(生效时间)expire_at(失效时间,可空)查询时仅纳入“当前有效”的规则,若无有效规则可回退至最近一次版本并标记“可能过期”。
major.minor.patch(例:2.1.0)建议数据结构(示例):
RuleMeta:
- id
- scope_level (national/province/city/district/project)
- scope_code (如:CN-35-01)
- version
- effective_at
- expire_at
- supersedes (上一个版本id)
- status (active/expired/draft)
系统在合并规则时应输出:
对高风险冲突(如“资质门槛降级”)触发告警,需人工确认。
input: project_scope
rules = query_rules_by_scope_chain(project_scope) # 国家→省→市→区→项目
rules = filter_by_effective_time(rules, now)
rules = sort_by_scope_and_version(rules)
merged = merge_rules(rules, strategy_map)
conflicts = detect_conflicts(rules, merged)
return merged, conflicts
以下映射基于现有 REST API 与数据字典字段(docs/10-rest-api-spec.md、docs/06-domain-model-and-data-dictionary.md)。
数据来源
Project.region_code(GET /projects/{id} 返回)处理逻辑
region_code 推导行政区划链路(国家 → 省 → 市 → 区)。数据来源
Project.tenders(项目关联标段 ID 列表)Tender.qualification_requirementsNotice.content_raw / Notice.attachments(作为兜底来源)处理逻辑
project_id 获取 tenders。qualification_requirements。notice.content_raw 中补齐条款。数据来源
Project.budget_amount、Project.currencyNotice.attachments / Notice.content_raw(用于解析材料清单与单价)处理逻辑
budget_amount。数量 = 预算 / 单价,LLM 负责生成表述。数据来源
Project.region_code(项目地域范围)Organization.region_code(投标主体所在地)Tender.qualification_requirements(额外门槛)处理逻辑
{
"project": {
"project_id": "p-123",
"project_name": "某市轨道交通项目",
"stage": "award",
"region_code": "350100",
"budget_amount": 120000000,
"currency": "CNY",
"tenders": ["t-1"]
},
"tender": {
"tender_id": "t-1",
"tender_name": "A 标段",
"qualification_requirements": "具备市政工程总承包一级资质"
},
"notice": {
"notice_id": "n-1",
"notice_type": "tender",
"title": "招标公告",
"content_raw": "...",
"attachments": [
{ "name": "工程量清单.xlsx", "url": "..." }
]
}
}
通过地域继承 + 结构化数据优先 + LLM 生成的组合,系统能够既回答宏观政策问题,又能精确处理预算与规则判断,实现“懂政策、算细节”的招投标 RAG 能力。
docs/27-rag-pipeline.md:RAG 数据处理与索引流程docs/06-domain-model-and-data-dictionary.md:字段与实体口径docs/10-rest-api-spec.md:接口字段与查询参数