EN 中文
返回总览

LiteRtLm_Config

引擎初始化参数结构体。定义了模型权重加载路径、计算后端拓扑及资源预分配策略。

01. 上下文生命周期图

graph LR Config[LiteRtLm_Config] -->|Input| Create[LiteRtLm_CreateEngine] Create -->|Success| Handle[void* Engine Handle] Create -->|Fail| Null[NULL / Error Log] subgraph HW_Binding [计算绑定] Config -.-> Backend[选择计算后端: GPU/CPU] Config -.-> VRAM[锁定模型权重缓冲区] end

Config 结构体是整个推理管线的“种子”。它在内存中被填充后,直接传递给 CreateEngine 函数,随后配置信息被固化到引擎实例中,直至引擎销毁。

02. 成员变量详解

成员变量 类型 物理职责与 Doxygen 说明
model_path const char* 模型文件绝对路径。
必须指向有效的 .bin 或 .tflite 模型权重文件。DLL 会使用只读模式打开该文件。
backend const char* 推理后端链。
示例: "gpu", "cpu", "gpu,cpu"
指定推理任务的首选设备。多个设备以逗号分隔,按优先级尝试。
max_num_tokens int KV Cache 上下文总量。
决定了 GPU 预分配 KV Cache Buffer 的尺寸。建议设置为模型支持的最大长度(如 2048, 4096)。
num_threads int CPU 并行度。
仅在 backend 包含 CPU 时生效。决定了 XNNPACK 算子库的线程池大小。
bOptimizeShader int [UE5 专项] 着色器优化开关。
设为 1 时,DLL 将在 WebGPU 初始化阶段进行指令预编译。减少推理时的瞬时卡顿(Stutter)。

03. C 语言调用示例

// 1. 初始化配置对象
LiteRtLm_Config config = {0};
config.model_path = "D:/Models/Gemma-2b-it.tflite";
config.backend = "gpu";         // 优先使用 WebGPU 加速
config.max_num_tokens = 2048;   // 预留 2k 上下文
config.num_threads = 8;         // CPU 降级时使用 8 线程
config.bOptimizeShader = 1;     // 开启着色器预优化

// 2. 传递给引擎创建函数
void* engine = LiteRtLm_CreateEngine(config);

if (engine == NULL) {
    // 处理初始化失败...
}