bid.hao.work/docs
Document

24-rag-regional-inheritance-llm-logic.md

未找到提交记录 · 文件更新时间:2026-01-23 14:12:13 +08:00

招投标 RAG:地域继承机制与 LLM 交互逻辑优化

本文档梳理“地域继承机制”的存储与查询策略,并给出 RAG + LLM 的交互优化流程,确保系统既能回答宏观政策,也能处理细粒度的预算计算与区域判断。


1. 地域继承机制(Region Inheritance)

1.1 目标

在招投标数据存储中引入“继承”逻辑,减少重复维护规则的成本,同时确保查询时能自动汇总所有适用条款。

1.2 继承层级

推荐采用以下地域层级树:

1.3 存储策略

1.4 查询合并逻辑

当查询“福州市某项目”时,系统自动合并:

  1. 国家级规则
  2. 福建省规则
  3. 福州市规则
  4. 项目级条款

1.5 冲突处理建议


2. LLM 交互逻辑优化(按问题类型路由)

在 RAG 系统中,优先用“结构化查询 + 规则判断”,再交给 LLM 生成可读答案,避免让模型直接“算数或判断”。

场景 1:用户问“资格要求是什么?”

动作

LLM 输出
对条款进行结构化归纳,输出主要资格点,并标注引用来源。

场景 2:用户问“这个预算够买多少吨水泥?”

动作

LLM 输出
将计算结果整理成可读答案,例如:
“根据清单单价,预算大约可以购买 X 吨水泥。”

场景 3:用户问“我在鼓楼区能投标吗?”

动作

LLM 输出
结合区域判断与资格条款,输出可执行结论和原因。


3. 数据入库与检索建议

3.1 结构化清洗

3.2 实体识别与标注

3.3 混合检索

查询时同时进行:

最后进行结果合并与去重,再交给 LLM 生成答案。


4. 地域继承冲突处理与版本策略

4.1 冲突处理优先级

当多层级规则对同一字段产生冲突时,按以下优先级覆盖:

  1. 项目级
  2. 区/县级
  3. 市级
  4. 省级
  5. 国家级

若同一层级出现冲突,以“版本号更高 + 生效时间更新”的规则为准。

4.2 规则类型与合并方式

4.3 生效时间与失效时间

规则建议包含:

查询时仅纳入“当前有效”的规则,若无有效规则可回退至最近一次版本并标记“可能过期”。

4.4 版本策略

建议数据结构(示例):

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)

4.5 冲突检测与告警

系统在合并规则时应输出:

对高风险冲突(如“资质门槛降级”)触发告警,需人工确认。

4.6 合并流程建议(伪流程)

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

5. 按现有接口字段的映射示例

以下映射基于现有 REST API 与数据字典字段(docs/10-rest-api-spec.mddocs/06-domain-model-and-data-dictionary.md)。

5.1 地域继承查询

数据来源

处理逻辑

  1. region_code 推导行政区划链路(国家 → 省 → 市 → 区)。
  2. 依链路取规则并按优先级合并。

5.2 资格要求问答

数据来源

处理逻辑

  1. project_id 获取 tenders
  2. 读取标段的 qualification_requirements
  3. 若字段为空,从 notice.content_raw 中补齐条款。
  4. 将命中条款注入 LLM Prompt 进行总结。

5.3 预算/清单计算问答

数据来源

处理逻辑

  1. 预算来自 budget_amount
  2. 单价需从公告附件/正文解析后写入结构化层(建议存为元数据扩展或独立材料清单表)。
  3. 服务端先算 数量 = 预算 / 单价,LLM 负责生成表述。

5.4 区域可投标判断

数据来源

处理逻辑

  1. 使用行政区划树判断企业所在区域是否落在项目范围内。
  2. 同步校验资质条款的区域限定。
  3. 将判断结论与依据交给 LLM 生成解释。

5.5 查询上下文拼装示例

{
  "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": "..." }
    ]
  }
}

6. 小结

通过地域继承 + 结构化数据优先 + LLM 生成的组合,系统能够既回答宏观政策问题,又能精确处理预算与规则判断,实现“懂政策、算细节”的招投标 RAG 能力。

7. 关联文档