Files
RAG/backend
YoVinchen 75592af33a
Some checks failed
verify / verify (push) Has been cancelled
Isolate cloud model access before enabling product RAG workflows
The API and ingestion tools now use a fixed internal model gateway while
governed profiles, embedding cache assignments, traceable citations, and
stable API errors establish the boundaries required by later workflows.

Constraint: The current Alibaba Cloud workspace rejects all three live model calls with authentication failures
Rejected: Give the API or seed tools the Bailian key and direct egress | combines database access, cloud credentials, and public network access
Rejected: Mix offline and Bailian vectors in one demo namespace | makes profile activation and retrieval ambiguous
Confidence: high
Scope-risk: moderate
Reversibility: clean
Directive: Keep Bailian credentials and egress exclusive to model-gateway and create a new immutable profile hash for any embedding identity change
Tested: make verify; 121 backend tests; 14 frontend tests; fresh and populated Alembic upgrade-downgrade-upgrade; two idempotent offline seeds; Docker health and HTTP retrieval; isolated provider smoke
Not-tested: Successful live Bailian responses because the supplied workspace credential currently fails authentication
2026-07-13 04:09:06 +08:00
..

Backend

Python/FastAPI 后端代码位于本目录。实现阶段采用模块化单体,同一代码镜像分别运行 API 与持久化任务 Worker。

规划边界:

backend/
├── app/
│   ├── api/v1/            HTTP/SSE 接口
│   ├── core/              配置、安全、日志、遥测
│   ├── domain/            领域实体与状态机
│   ├── ports/             外部能力协议(依赖倒置边界)
│   ├── services/          入库、检索、生成、评测用例
│   ├── adapters/          百炼、解析器、文件存储等外部适配器
│   ├── persistence/       SQLAlchemy 模型与仓储
│   ├── workers/           PostgreSQL 任务队列消费者
│   ├── tools/             模型探测、seed 与离线运维入口
│   └── prompts/           版本化提示词
└── tests/
    ├── unit/
    ├── integration/
    └── contract/

前端不得直接访问百炼API Key 读取逻辑只允许存在于后端配置层。