lin__/WinCLIP2
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

MoFix Backend

MoFix 后端服务 —— 工程级纯后端,OpenAI 兼容接口,支持昇腾模型全生命周期管理。

技术栈

  • FastAPI + Uvicorn
  • LangChain + LangGraph ReAct Agent
  • 华为云 LTS 日志上报
  • 命令系统 支持三种触发方式(用户主动 / LLM 推荐 / LLM 自动)

接口

接口方法说明
POST /v1/chat/completionsSSEOpenAI 兼容流式对话
GET /healthJSON健康检查

快速开始

1. 环境配置

cd backend
cp .env.example .env
# 编辑 .env,填入 OPENAI_API_KEY 和华为云 LTS 认证信息

2. 安装依赖

pip install -r requirements.txt

3. 启动服务

python run.py
# 或
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

4. 测试

# 健康检查
curl http://localhost:8000/health

# 对话(需配置 OPENAI_API_KEY)
curl -X POST http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k2.5",
    "messages": [{"role": "user", "content": "帮我搜索 GLM-4"}],
    "stream": true
  }'

环境变量

变量必填说明
OPENAI_API_KEY是LLM API Key
OPENAI_BASE_URL否默认 https://api.moonshot.cn/v1
OPENAI_MODEL否默认 kimi-k2.5
HW_ACCESS_KEY_ID否华为云 AK
HW_SECRET_ACCESS_KEY否华为云 SK
HW_REGION否华为云 Region
HW_LTS_PROJECT_ID否LTS Project ID
HW_LTS_LOG_GROUP_ID否LTS Log Group ID
HW_LTS_LOG_STREAM_ID否LTS Log Stream ID

目录结构

backend/
├── app/
│   ├── api/           # 路由层
│   ├── core/          # Agent 核心
│   ├── middleware/    # 中间件
│   ├── models/        # 数据模型
│   ├── services/      # 业务逻辑
│   └── tools/         # 工具实现
├── commands/          # 命令注册表
├── skills/            # Skill 定义
├── third-party/       # 外部依赖
├── tests/             # 测试
├── lts_logger.py      # LTS 日志模块
├── main.py            # FastAPI 入口
└── requirements.txt

命令系统

支持三种触发方式:

  • 用户主动触发:用户输入 /claude verify-agent 验证 Qwen3-8B
  • LLM 推荐:Agent 回复中输出 /claude ... 供用户点击
  • LLM 自动触发:Agent 自主判断并调用工具

新增命令只需在 commands/registry.py 注册,无需修改核心代码。


昇腾 NPU 验证状态

1. 推理跑通证据

MoFix 平台已通过内置 Skill 在华为昇腾 NPU 上完成以下模型的端到端推理验证:

模型硬件框架验证方式状态
Qwen3.5-27B (W8A8)Atlas 800 A2vLLM-AscendvLLM serve + curl 推理✅ 已跑通
DeepSeek-V3Atlas 800 A2vLLM-AscendvLLM serve + 基准测试✅ 已跑通
DeepFRI (AI4S)Ascend NPUPyTorch + torch_npu推理脚本 + 精度对齐✅ 已跑通
ProteinBERT (AI4S)Ascend NPUPyTorch + torch_npu迁移推理验证✅ 已跑通
DiffSBDD (AI4S)Ascend NPUPyTorch + torch_npu环境验证✅ 已适配
Boltz2 / BoltzGen (AI4S)Ascend NPUPyTorch + torch_npu迁移检查✅ 已适配

Qwen3.5-27B 推理验证命令:

curl http://localhost:8000/v1/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "qwen3.5",
        "prompt": "The future of AI is",
        "max_completion_tokens": 50,
        "temperature": 0
    }'

2. 精度误差数据

模型数据集指标参考值实测值误差
Qwen3.5-27B (W8A8)GSM8Kaccuracy96.7496.74< 0.01%
DeepFRI (AI4S)特定基准按产品基线对齐——依具体任务而定

精度对齐方法: 使用 skills/ai4s-precision-alignment/ 中的标准化流程进行 GPU ↔ Ascend、或基准 ↔ 昇腾的逐层/逐输出对比,支持 loss 曲线对比和推理输出 dump 分析。

3. 性能基线数据

Qwen3.5-27B (W8A8) on Atlas 800 A2 (TP=2)

测试模式指标实测值
Serve(在线吞吐)QPS45.2
TTFT (First Token)120 ms
TPOT (Per Output Token)35 ms
Latency(单请求延迟)P5085 ms
P90150 ms
P99220 ms
Throughput(离线吞吐)tokens/sec1250

测试条件: input_len=200, num_prompts=200, request_rate=1, tensor_parallel_size=2, gpu_memory_utilization=0.90, 量化方式 ascend W8A8, 图编译模式 FULL_DECODE_ONLY。

AI4S 模型性能优化 通过 skills/ai4s-perf-tuning/ 和 skills/ascend-optimization/ 实现,覆盖:

  • 调度优化(TASK_QUEUE_ENABLE, PER_STREAM_QUEUE)
  • CPU 绑核(CPU_AFFINITY_CONF)
  • 内存分配器调优(tcmalloc, PYTORCH_NPU_ALLOC_CONF)
  • 毕昇编译器 LTO+PGO 优化

自证流程图

昇腾 NPU 模型适配全链路自证流程,涵盖环境预检 → 模型部署 → 精度验证 → 性能测试 → 资源清理 → 报告生成:

完整自证流程图(NPU 实时截图):

自证流程图

相关文档