本文档由 g2rain-knowledge 的
# 模块与依赖边界
docs/architecture/modules.md 自动同步生成。本服务目标采用 G2rain java-domain-service 1.0.0 基线:
g2rain-knowledge-startup → g2rain-knowledge-biz → g2rain-knowledge-api
| Maven 模块 | 平台职责 | 知识库职责 |
|---|---|---|
api | 查询契约、VO、SelectDto、稳定枚举与明确的受信命令 | 检索证据 VO、知识只读查询、具有明确语义的受信命令契约 |
biz | Controller、Service、Domain、DAO、Converter 和本地写入 DTO | 管理用例、状态机、任务、发布事务、索引适配器和检索编排 |
startup | 启动、运行配置、Actuator、镜像组装 | Bean 装配、外部客户端配置、任务 worker、健康检查 |
api 不依赖 biz 或 startup,不发布 PO、Biz Service 或宽泛远程 CRUD;startup 不承载领域逻辑。
| 逻辑模块 | 责任 | 允许依赖 | 不应承担 |
|---|---|---|---|
| 管理 API | 文件/FAQ、审核、发布和反馈请求 | 应用服务、鉴权与审计 | 直接操作 Milvus 或磁盘路径 |
| 知识应用服务 | 生命周期编排、版本裁决、发布事务 | 元数据仓储、任务、索引适配器 | 回答生成或对话状态 |
| 解析与切片适配器 | 调用 Docling,规范化结构化结果 | Docling HTTP API | 发布状态切换 |
| 索引适配器 | Embedding、Rerank、Milvus 写入/检索 | 外部模型、Milvus | 作为元数据真相来源 |
| 文件存储适配器 | 原文件与解析产物的受控读写 | 本地持久化卷 | 接受未净化的用户路径 |
| 检索 API | 检索条件校验、证据与引用输出 | 应用服务 | 返回未生效或跨租户数据 |
| 审计与任务 | 状态迁移、失败记录、可观测性 | MySQL、日志/指标 | 记录原文或 Secret |
Biz 内部依赖方向应保持为 Controller → Service → DAO,Service 可调用 Domain / Client,Converter 不发起数据库或网络调用。MySQL 持有知识元数据和发布真相;Milvus 仅持有可重建的已发布索引。
所有 knowledge_* 表的基础 CRUD 必须通过 g2rain-generator-maven-plugin 生成,并复用 g2rain-common 的基类、ID、主体上下文、校验、异常和返回契约。领域模块只能在生成代码之上扩展,详细规则见 G2rain 公共基线与代码生成约束。