51 lines
1.7 KiB
Markdown
51 lines
1.7 KiB
Markdown
# xc-error-diagnosis-agent
|
|
|
|
信创模盒的国产算力报错预诊断智能体。用户提交运行日志和可选的环境信息后,它会识别常见的算子不支持、显存不足、版本冲突、设备运行时、集合通信与缺失依赖问题,并给出可验证的下一步建议。
|
|
|
|
## 安全边界
|
|
|
|
- 只使用透明、确定性的规则分析请求内容,不访问外部网络。
|
|
- 不执行日志中的命令或代码,不自动修改环境。
|
|
- 返回证据前会遮蔽常见的令牌、密钥和密码形式。
|
|
- 不回显完整日志,只返回最多三条与规则匹配的证据。
|
|
- 结论属于预诊断,不替代目标芯片环境中的真实复现。
|
|
|
|
## 平台约束
|
|
|
|
- `Dockerfile` 位于仓库根目录。
|
|
- 容器开放 `8080` 端口。
|
|
- `GET /health` 返回 HTTP 200。
|
|
- 从环境变量读取平台注入的 `STRATEGY_ID`,仅报告是否存在,不输出其值。
|
|
- 处理 `SIGTERM`,在平台 30 秒停机窗口内退出。
|
|
- 仅使用 Python 标准库,适合平台的轻量资源额度。
|
|
|
|
## 接口
|
|
|
|
- `GET /health`:存活检查。
|
|
- `GET /`:智能体元信息。
|
|
- `POST /analyze`:日志预诊断。
|
|
- `POST /task`:与 `/analyze` 相同的兼容入口。
|
|
|
|
示例:
|
|
|
|
```bash
|
|
curl -X POST http://localhost:8080/analyze \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{
|
|
"error_log": "RuntimeError: unsupported operator aten::_scaled_dot_product_attention",
|
|
"hardware": "目标国产算力卡",
|
|
"sdk_version": "1.0",
|
|
"framework": "PyTorch",
|
|
"framework_version": "2.3",
|
|
"inference_engine": "Transformers"
|
|
}'
|
|
```
|
|
|
|
## 本地验证
|
|
|
|
```bash
|
|
python3 -m unittest -v
|
|
python3 main.py
|
|
curl http://localhost:8080/health
|
|
```
|