主要接口函数

创建默认参数

xlm_common_params_t xlm_create_default_param();

创建默认的模型通用参数。

  • 返回值
    • 构造默认参数的xlm_common_params_t结构体数据。

初始化实例

int xlm_init(xlm_common_params_t *param, xlm_callback_t callback, void **llm_handle);

初始化实例。

  • 参数

    • [in]:param,初始化生成的模型通用参数。
    • [in]:callback,注册任务的回调函数指针,即任务的执行实体。
    • [out]:llm_handle,推理句柄,用于后续任务的管理。
  • 返回值

    • 0(初始化成功),-1(初始化失败)。

音频输入

int xlm_feed_audio_online(xlm_handle_t handle, xlm_online_audio_t audio_input);

提供音频输入。

  • 参数

    • [in]:handle,通过xlm_init接口获取的推理句柄。
    • [in]:audio_input,音频输入,包含内存首地址和长度信息。
  • 返回值

    • 0(正确传输音频数据),-1(数据传输失败,任务返回)。

同步推理

int xlm_infer(xlm_handle_t handle, xlm_input_t *input, void *userdata);

同步推理,启动推理包括一次完整的prefil和decode。

  • 参数

    • [in]:handle,通过xlm_init接口获取的推理句柄。
    • [in]:input,模型推理输入,包含prompt、图片、任务优先级等数据。
    • [in]:userdata,用户自定义数据,随推理结果一同通过回调函数返回。
  • 返回值

    • 0(正确执行推理任务),-1(获取推理句柄失败,任务返回)。

异步推理

int xlm_infer_async(xlm_handle_t handle, xlm_input_t *input, void *userdata);

异步处理,启动推理包括一次完整的prefil和decode。

  • 参数

    • [in]:handle,通过xlm_init接口获取的推理句柄。
    • [in]:input,模型推理输入,包含prompt、图片、任务优先级等数据。
    • [in]:userdata,用户自定义数据,随推理结果一同通过回调函数返回。
  • 返回值

    • 0(正确执行推理任务),-1(获取推理句柄失败,任务返回)。

销毁实例

int xlm_destroy(xlm_handle_t *handle);

释放推理实例资源。

  • 参数

    • [in]:handle,通过xlm_init接口获取的推理句柄。
  • 返回值

    • 0(正确销毁任务),-1(获取推理句柄失败,接口返回)。