Make deployment truth and remaining graduation gates explicit
Some checks failed
verify / verify (push) Has been cancelled

Document the runnable Docker workflow, expected one-shot container exits, server-controlled Bailian namespace switch, current earned progress, and the security and evaluation work that still blocks private-data or graduation release claims.

Constraint: Current local Bailian credentials are rejected by the configured workspace

Rejected: Mark the project complete from synthetic metrics | would overstate provider, OCR, authorization, and blind-evaluation readiness

Confidence: high

Scope-risk: narrow

Directive: Keep progress evidence task-based and distinguish synthetic engineering validation from real geological efficacy

Tested: make verify-design; Markdown links; secret scan; diff checks

Not-tested: Final thesis review and live provider authorization
This commit is contained in:
2026-07-13 05:58:39 +08:00
parent ecdb10c37a
commit 63279cf213
7 changed files with 214 additions and 109 deletions

View File

@@ -5,7 +5,7 @@
| 课题 | 基于 RAG 的地质找矿知识问答系统构建与应用 |
| 学科方向 | 大数据分析 |
| 文档版本 | v1.1-implementation-sync |
| 状态 | 设计基线;安全运行骨架已部分实现,产品主链路未完成 |
| 状态 | 核心 synthetic 产品链已实现;真实百炼与毕业验收范围未完成 |
| 更新日期 | 2026-07-13 |
| 后端 | Python + FastAPI |
| 前端 | React + TypeScript |
@@ -37,9 +37,10 @@ React/Nginx
-> FastAPI API
-> PostgreSQL + pgvector
-> 内部 model-gateway client
-> Python Worker与 API 共用同一 Python 代码镜像
-> 文档解析、分块、向量化和持久化任务
-> 内部 model-gateway client
-> worker-local有上传卷无模型网络/Token
-> 文档验证、解析、分块和审核工件
-> worker-model无上传卷有内部模型网络/Token
-> 已审批文本的向量化、完整性校验和激活
model-gateway唯一持有百炼 Key 和公网出口)
-> 阿里云百炼 Embedding / Rerank / Chat
```
@@ -144,10 +145,12 @@ flowchart LR
M --> E["text-embedding-v4"]
M --> R["qwen3-rerank"]
M --> L["deepseek-v4-flash"]
J["DB 持久化任务"] --> K["Python Worker"]
K --> D
K --> F
K -->|"Bearer + X-RAG-Caller: worker"| M
J["DB 持久化任务"] --> KL["worker-local"]
J --> KM["worker-model"]
KL --> D
KL --> F
KM --> D
KM -->|"Bearer + X-RAG-Caller: worker"| M
A --> J
```
@@ -158,7 +161,8 @@ flowchart LR
| `web` | React 静态页面、Nginx 代理、SSE 透传 | 模型凭证、业务权限判断 |
| `gateway` | 固定 API 上游、请求大小/头边界、脱敏错误和流式转发 | 数据库凭证、模型凭证、业务权限判断 |
| `api` | 认证、知识库、检索、问答、评测 API | 长时间 OCR/批量入库 |
| `worker` | 解析、OCR、分块、向量化、索引、评测批任务 | 对外开放端口 |
| `worker-local` | 读取上传卷,执行本地验证、解析与确定性切分 | 模型网络、模型 Token、对外端口 |
| `worker-model` | 读取数据库中已审批文本,执行向量化、完整性校验与激活 | 原始上传卷、百炼 Key、对外端口 |
| `model-gateway` | 唯一读取百炼 Key、统一模型协议/限流/脱敏错误;校验 API/Worker 内部身份 | 数据库、上传卷、外部端口、业务授权 |
| `db` | 元数据、向量、任务、会话、评测事实来源 | 原始大文件长期存储 |
| `storage` | 开发期 Docker volume生产可切换 OSS | 访问控制的最终判定 |
@@ -166,7 +170,12 @@ flowchart LR
### 4.3 为什么不先拆微服务
解析、检索、生成和评测共享同一领域模型、配置和数据库。拆分业务微服务会提前引入服务发现、分布式追踪、数据一致性和接口版本问题,却没有对应吞吐收益。第一版使用一个 Python 包,由 `api``worker``model-gateway` 三种进程加载;其中 `model-gateway` 不是独立业务服务,而是最小权限的凭证/出口隔离边界。详细决策见 [ADR-0005](adr/0005-isolate-model-egress.md)。
解析、检索、生成和评测共享同一领域模型、配置和数据库。拆分业务微服务会提前引入服务发现、
分布式追踪、数据一致性和接口版本问题,却没有对应吞吐收益。第一版使用一个 Python 包,由
`api`、两个互斥 capability 的 Worker 和 `model-gateway` 进程加载;其中 `model-gateway` 不是
独立业务服务,而是最小权限的凭证/出口隔离边界。模型出口见
[ADR-0005](adr/0005-isolate-model-egress.md),本地/模型 Worker 拆分见
[ADR-0007](adr/0007-split-local-and-model-workers.md)。
## 5. 技术选型
@@ -730,7 +739,13 @@ pgvector 官方给出的单精度 `vector` 存储约为 `4 * dimensions + 8` 字
### 15.1 2026-07-13 实现边界
当前已实现安全运行骨架、内部 `model-gateway` 及 token 身份、模型内部客户端、应用工厂/Problem/trace 契约`0002_model_profiles` 迁移代码;`provider-smoke`、真实 `seed-demo` 和 API 进程不再直接持有百炼 Key。当前工作空间对 `text-embedding-v4``qwen3-rerank``deepseek-v4-flash` 的实际请求仍返回 401因此三能力真实可用性尚未验收。数字文档上传/解析/审核、正式检索 API、grounded chat、Worker 租约恢复、评测运行器和完整产品 UI 仍是后续实现项;不得把本节理解为“整个项目完成”。
当前已实现安全运行骨架、内部 `model-gateway` 及 token 身份、应用工厂/Problem/trace 契约
profile/cache/invocation 与文档入库/审核迁移。公开 synthetic 文档可经上传、解析、manifest
审核、双 Worker 向量化、原子激活进入正式 Retrieval并可在 Grounded Chat 中带引用回答;
Docker 主链已连续两次得到相同身份和稳定计数。当前工作空间对 `text-embedding-v4`
`qwen3-rerank``deepseek-v4-flash` 的实际请求仍返回 401因此三能力真实可用性尚未验收。
PDF/OCR、真实认证与多租户、300 题正式盲测、备份恢复/压测、论文和答辩仍是后续实现项;
不得把 synthetic 产品链理解为“整个项目完成”。
## 16. 参考资料