For AI agents: the complete documentation index is available at https://a3s-lab.github.io/Power/v1.0.0/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/Power/v1.0.0/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/Power/v1.0.0/operations.md.
  • 简体中文
  • v1.0.0
  • 部署运维

    后端是 Power 共享执行与证据契约背后的能力提供方。应根据模型格式、平台和信任边界选择后端,而不是把后端名称当作系统架构。

    构建配置

    Feature作用原生依赖
    mistralrs默认 Candle 后端,支持 GGUF、SafeTensors、视觉与嵌入无 C++ 推理引擎
    llamacpp成熟 GGUF 后端,支持原生 MTPCMake、C++ 编译器、libclang
    llamacpp-cudallama.cpp 的 CUDA 执行CUDA toolkit
    llamacpp-external-draft已验证的外部 DFlash、DFlash2 或 DSpark 执行;制品契约类型化且失败关闭对固定 llama-cpp-rs/llama.cpp 源码应用已审查补丁
    llamacpp-mtp-fr实验性缩减词表 MTP draft 投影对固定 llama.cpp 源码应用已审查补丁
    picolm面向受限 TEE 内存的纯 Rust 层流式 GGUF 后端无 C/C++ 推理引擎
    embedded-cuda / embedded-metal模型自有嵌入式图的加速器支持平台工具链
    tls / vsockRA-TLS 与 A3S Box guest-host 传输平台相关
    hw-verifyAMD SEV-SNP 验证;Intel TDX 在 DCAP Quote/QVL 支持完成前失败即关闭平台密码学依赖与 AMD KDS 网络访问
    # 默认托管服务
    cargo build --release
    
    # 无监听器嵌入式运行时
    cargo build --release --no-default-features --features embedded-inference
    
    # 纯 Rust 层流式 TEE 服务
    cargo build --release --no-default-features --features tee-minimal
    
    # 带 CUDA 的 llama.cpp
    cargo build --release --no-default-features --features llamacpp-cuda
    
    # 带机密发布提升能力的严格验证器
    cargo build --locked --release --no-default-features \
      --features server,embedded-inference,hw-verify \
      --bin a3s-power-verify

    llamacpp-mtp-fr 独立成 profile,是因为它会修改固定版本的源码。普通 llamacpp 构建不需要该实验补丁。

    服务端点

    方法端点作用
    GET/health就绪状态、已加载模型、后端能力与 TEE 状态
    POST/v1/chat/completions对话、工具、结构化输出、视觉与 SSE 流式响应
    POST/v1/completions文本补全与 SSE 流式响应
    POST/v1/embeddings嵌入推理
    GET/v1/models已注册模型
    POST/v1/models/pull可续传 ModelScope 或 Hugging Face 下载
    GET/v1/attestation绑定 nonce 与模型的 TEE 证据
    GET/metricsPrometheus 指标

    健康检查与模型检查端点公开实际生效的非敏感配置,使基准和部署自动化能够拒绝配置漂移。

    带键的提示词前缀复用

    后续请求会共享长前缀时,可在文本对话或补全请求中加入 prompt_cache_key。llama.cpp 只在 KV 与循环状态都能精确回滚时复用 token 前缀,再计算剩余后缀;无法证明的混合循环状态回滚会成为可观测的 miss。mistral.rs、picolm、proxy 与多模态请求目前返回 prompt_cache_unsupported,不会静默忽略该字段。

    prompt_cache_max_entries = 1
    prompt_cache_ttl_seconds = 300

    精确缓存基准必须在隔离进程中同时设置 redact_logs = falsesuppress_token_metrics = false。日志脱敏会有意启用指标抑制;/health 报告最终生效的策略,因此复现客户端会在接收被取整的证据之前失败关闭。

    Power 按认证身份、端点与模型对 key 做哈希隔离;原始 key 不进入后端缓存或回执。/health 公布支持后端和容量边界,/metrics 公布请求、命中、未命中、复用/实际计算 token、驱逐与常驻条目。开启 usage 的补全流会把后端 prefill 时长与 TTFT 分开公布;规范基准客户端同时检查这些时长和严格的 miss/hit 计数差值。

    仓库内的 RTX 4090 Q6_K 实测包含五组冷/热请求:后端 prefill 中位数从 786.1375 ms 降到 33.4102 ms(23.5299 倍),TTFT 中位数从 950.0142 ms 降到 72.1932 ms(13.1593 倍),累计复用 9,740 个提示 token。 查看原始报告与复现命令

    当前原生 llama.cpp MTP 还不能与跨请求缓存上下文共用同一套状态事务。显式 MTP 加缓存 key 会失败关闭;auto 为该请求选择精确的目标模型单路解码。前缀缓存优化的是重复 prefill 与 TTFT,不是稳态 decode token/s。完整约束见规范缓存文档

    制品安装

    制品安装器要求提供预期文件名、最大字节数与 SHA-256 摘要。它将数据流式写入私有暂存文件,验证精确字节,再在跨进程锁下原子提交。离线策略找不到已验证制品时会失败关闭。

    托管模型仓库默认位于 ~/.a3s/power,采用内容寻址。模型别名指向 manifest,而不会削弱 blob 身份。

    生产边界

    • 除非经过审查的传输策略另有要求,开发服务只绑定回环地址。
    • 显式选择 RA-TLS 或 vsock;构造嵌入式运行时不会替调用方选择传输。
    • 模拟 TEE 模式只能用于开发。
    • 不得因为 CPU TEE 放置就声称 GPU 推理具备机密性。
    • 只能使用严格机密 GPU 验证返回的不可构造证明提升发布捕获;原始报告是证据输入,不是授权令牌。
    • 保存证明证据时保留原始报告字段。
    • 保留未经改写的 NVIDIA evidence 与 verdict 字节,并按外部捕获流程生成严格的 --promote-capture 发布证据。
    • 混合量化与词表缩减 draft 都是需要质量门槛、与负载相关的技术。
    • 每次性能验收都同时保存模型字节、ACL、二进制哈希、驱动与主机控制信息。

    供应链与存储

    纯 Rust tee-minimal 路径减少原生推理依赖;llama.cpp 路径则用更大的原生工具链换取成熟 GGUF 与 CUDA 能力。审计时必须以实际发布的 feature profile 为准。

    Rust API 类型与 feature flag 参阅 docs.rs/a3s-power