Winyunq Industrial Core / API Layer Documentation
void* 句柄。底层所有 C++ 对象的生命周期、符号 链接、内存布局均被 DLL 彻底遮蔽。
Conversation 句柄在显存中独占一个 max_num_tokens 大小的物理分片。
SendChatRequest 时传入不同的句柄。首字延迟 < 100ms。
LoadModel(const FLiteRtLmConfig& Config)
STATIC
加载指定路径 of the .tflite 模型并初始化底层运行时。这是 所有推理操作的前置条件。
SendChatRequest(void* SessionKey, const TArray<...>& Messages, ...)
STATIC
发送聊天请求。系统会自动比较 SessionKey 对应的历史记录,仅同步新增的消息片段(增量同步),从而极大提高推理速度。
OnChunk 会在 Game Thread 中触发,确保 UI 安全。ReleaseSession(void* SessionKey)
STATIC
手动释放特定会话在显存中的 KV Cache 槽位。当一个 NPC 彻底销毁时应调用此方法。
GetAutoConfig()
STATIC
通过 DXGI 实时探测硬件显存,自动生成推荐的并行线程数与 KV 槽位大小配置。
模型权重通过 mmap (内存映射文件) 直 接挂载,避免了冷启动时的冗余内存拷贝。
每一个 void* SessionKey 内部映射到一个 LlamaIndex,对应显存中固定的步长偏移地址。
底层 WaitUntilDone 是阻塞式的。我们 通过虚幻的 AsyncTask 隔离执行,防止游戏主线程卡死。
模型一旦加载,将独占数 GB 显存。必须确保在 Level 切换或内存压力大时调用 UnloadModel。