Preformu / core /kernel /services.py
Kevinshh's picture
Deploy Kernel+Skill architecture to HF Spaces; wire advanced stability features; remove deprecated entry points
19729e9
Raw
History Blame Contribute Delete
2.3 kB
"""底座共享服务容器 ``Services``(依赖注入)。
``Services`` 是一个数据类,聚合底座向 Skill 注入的全部共享服务句柄。
底座在启动时一次性构建该容器,并把它注入 Skill 的 ``extract`` / ``explain``
两个阶段;**不注入 ``compute``**——这是需求 2.1 的硬保证:计算阶段从签名上
就拿不到任何服务 / LLM 句柄,从源头阻断「大模型幻觉计算」。
设计对应 design.md「5. Services 容器」。各具体服务(``LLMService`` /
``ReportService`` 等)由后续任务(4–10)实现;在当前阶段,本容器的各字段
默认置为 ``None`` 占位,使注册、路由、流水线等骨架可以独立构建与测试,而无需
等待全部服务就绪。
字段说明:
- ``llm``:多模型路由 + Fallback + 限流 + Token 计量(任务 4/5)。
- ``report``:品牌包装 + HTML→PDF + CMC 美学 + 分页(任务 9)。
- ``chart``:通用图表(真实 CI 喇叭带、风险色块)(任务 8)。
- ``file``:Excel/PDF/Word/CSV 统一解析(任务 7)。
- ``auth``:登录、加盐哈希、角色隔离(任务 6)。
- ``audit``:审计日志 + 计算追踪(任务 7)。
- ``usage``:调用 / Token 累计与阈值告警(任务 5)。
- ``prompt_guard``:forbidden_phrases 强过滤 + 格式清理(任务 9)。
- ``i18n``:中英双语目录 ``t(key, lang)`` + 默认回退(任务 10)。
- ``lang``:当前会话语言(``"zh"`` | ``"en"``,默认中文)。
"""
from __future__ import annotations
from dataclasses import dataclass
from typing import Any
@dataclass
class Services:
"""底座共享服务容器(依赖注入)。
一次构建,注入 Skill 的 ``extract`` / ``explain`` 阶段(不注入 ``compute``)。
当前阶段各服务字段默认 ``None`` 占位,待后续任务逐步替换为真实实现。
类型标注暂用 ``Any``,以便在具体服务类尚未实现时仍可独立导入本模块。
"""
llm: Any = None
report: Any = None
chart: Any = None
file: Any = None
auth: Any = None
audit: Any = None
usage: Any = None
prompt_guard: Any = None
i18n: Any = None
lang: str = "zh" # 当前会话语言("zh" | "en")
__all__ = ["Services"]