主要接口函数

创建默认参数

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_infer(xlm_handle_t handle, xlm_input_t *input, void *userdata);

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

  • 参数

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

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

PPL计算

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

仅做ppl计算时使用,正常任务不执行该接口。

  • 参数

    • [in]:handle,通过xlm_init接口获取的推理句柄。
    • [in]:input,模型推理输入,一般是text文本或wikitest数据。
    • [in]:userdata,用户自定义数据,随推理结果一同通过回调函数返回。
  • 返回值

    • 0(正确执行PPL计算任务),-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(获取推理句柄失败,接口返回)。

Omni音频输入

int xlm_omni_feed_audio_online(xlm_handle_t handle, omni_online_audio_t audio_input);

Omni在线运行时,提供音频输入。

  • 参数

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

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

Omni视频输入

int xlm_omni_feed_video_online(xlm_handle_t handle, omni_online_video_t video_input);

Omni在线运行时,提供视频输入。

  • 参数

    • [in]:handle,通过xlm_init接口获取的推理句柄。
    • [in]:video_input,视频输入,包含y和uv分量首地址和长宽。
  • 返回值

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

Omni文本输入

int xlm_omni_feed_text_online(xlm_handle_t handle, omni_online_text_t text_input);

Omni在线运行时,提供文本输入。

  • 参数

    • [in]:handle,通过xlm_init接口获取的推理句柄。
    • [in]:text_input,文本输入,包含system文本和user文本。
  • 返回值

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

Omni同步推理

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

以同步方式启动omni的全流程处理。

  • 参数

    • [in]:handle,通过xlm_init接口获取的推理句柄。
    • [in]:input,模型推理输入。
    • [in]:userdata,用户自定义数据,随推理结果一同通过回调函数返回。
  • 返回值

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