触发异步增量推理。将推理请求提交至计算队列并立即返回。推理结果通过回调函数流式推送。
LiteRtLm_WaitUntilDone 来完成。
void LiteRtLm_RunInference(
void* conv_ptr,
LiteRtLm_SamplingParams params,
LiteRtLmCallback callback,
void* user_ptr
);
| 参数名称 | 职责说明 |
|---|---|
conv_ptr |
要执行推理的会话句柄。 |
params |
采样与约束参数。详见 LiteRtLm_SamplingParams。 |
callback |
流式结果回调函数指针。 |
user_ptr |
用户上下文指针,将原样透传给回调函数。 |
// 建议在后台线程执行此循环
void BackgroundInferenceThread() {
// 1. 提交任务
LiteRtLm_RunInference(Conv, MyParams, MyCallback, this);
// 2. 进入驱动循环,直到推理结束
int Status = 0;
while (Status == 0) {
// 每 100ms 泵送一次结果,或阻塞直到产生 Token
Status = LiteRtLm_WaitUntilDone(Engine, 1);
if (bInterruptFlag) break;
}
}