跳到主要内容

创建实例

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 不必再给凭据。