引擎初始化参数结构体。定义了模型权重加载路径、计算后端拓扑及资源预分配策略。
Config 结构体是整个推理管线的“种子”。它在内存中被填充后,直接传递给 CreateEngine 函数,随后配置信息被固化到引擎实例中,直至引擎销毁。
| 成员变量 | 类型 | 物理职责与 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)。 |
// 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) {
// 处理初始化失败...
}