创建实例
Model m = new Model("model.darmodel"); m.open("pwd");
调用失败不抛异常;open 失败时 Phase 变为 Error,详情读 getLastError()。
构造
Model()
public Model(String modelPath)
只读元信息;探测失败不抛异常,元信息字段保持缺席。
参数:
modelPath(String) — 模型路径(.darmodel 容器或明文模型)
示例:
Model ai = new Model("model.darmodel");
probe()
public static AiResult<String> probe(String path)
只取元信息 JSON,不解锁。
参数:
path(String) — 模型路径
示例:
AiResult<String> meta = Model.probe("model.darmodel");
open()
public boolean open()
public boolean open(String password)
明文模型用 open(),加密容器传 open("激活码或试用码"),按扩展名选口(.onnx .pt .pth .rknn .pdmodel 明文口,其余含 .darmodel 加密口)。失败不抛异常,原因读 getLastError() / lastMessage()。
参数:
password(String) — 激活码 / 试用码;null 或省略表示免密(明文 / 本机已绑定)
示例:
Model ai = new Model("model.darmodel");
boolean ok = ai.open("激活码或试用码");
close()
public void close()
等在途推理结束,不抛异常。Model 实现 AutoCloseable。
装入类别名
setLabels(String[])
public void setLabels(String[] labels)
整表替换类别名表,随时可调,open 后生效。下标即 class_id,传空数组等于清空(等同 clearLabels())。
示例:
ai.setLabels(new String[]{"cat", "dog"});
clearLabels()
public void clearLabels()
清掉自灌类别表,回落模型自带表。随时可调,open 后生效。
示例:
ai.clearLabels();
取消
cancel()
public AiResult<Void> cancel()
取消正在执行的推理;深层推理不可中断,跑完结果被丢弃。幂等,失败读结果里的错误码。
加载结果
true:getPhase()为 Opened,getSelectedProvider()有值,getMeta().getLabels()为生效类别表。false:getPhase()为 Error,原因读getLastError()/lastMessage()。
示例:
boolean ok = ai.open("激活码");
if (!ok) {
System.out.println(ai.lastMessage());
return;
}
加密模型的密码
加载 .darmodel 这类加密容器时给口令凭据,SDK 内部校验后给出结果。
| 结果 | 含义 |
|---|---|
| 试用 | 按试用条款使用(有次数或期限) |
| 绑定 | 与当前设备绑定,绑定后可用 |
| 已绑定 | 该设备已绑定,直接可用 |
| 未通过 | 明确报错,不静默 |
绑定之后 open 不必再给凭据。