文档索引 · 按职责查询
需要什么,就查什么
这一页是查询入口,不是新手必读清单;如果你还没有跑通第一段回答,请先完成逐图快速入门。
完整结构树
LiteRT-LM Unreal
├── 场景 API
│ ├── Quick Start / Single Conversation
│ ├── Conversations / Multiple
│ ├── Conversations / Memory
│ ├── Conversations / Tools
│ ├── Conversations / Actor Component
│ └── MCP / Gateway + Routing + Schema
├── Runtime 服务
│ ├── 进程共享的纯 GPU 模型
│ ├── 串行推理队列
│ ├── 运行时状态与就绪状态
│ └── 完整上下文 JSONL 诊断
├── 模型生命周期
│ ├── Project Settings 模型路径
│ ├── 第一段对话触发延迟初始化
│ └── 异步模型下载辅助节点
├── 开发接口
│ ├── 蓝图节点与 UObject 事件
│ ├── Unreal C++ UObject API
│ └── Native SDK:C ABI + C++ 便利/RAII
├── 平台
│ ├── Win64
│ └── Android
└── 示例场景
└── 多对话狼人杀
Conversation 对话体系
入门外观
Quick Chat
Create Quick Chat 自动创建一个底层 Agent。使用 Ask Once 或 Ask Streaming,绑定 On Answer,并让对象保持存活。以后可通过 Get Conversation 取得 Agent。
完整场景对象
Agent
Create Conversation (Advanced) 或 Runtime 的 Create Agent 会创建拥有独立 Prompt、工具、记忆和请求状态的对话。每个需要独立记忆的身份使用一个 Agent。
| 能力 | Quick Chat | Agent |
|---|---|---|
| 创建 | System Prompt 或配置后的 Agent | 完整 Agent Config |
| 只要最终回答 | Ask Once | Ask,忽略 Chunk |
| 流式输出 | Ask Streaming | On Text Chunk |
| 高级记忆/工具 | 通过 Get Conversation | 直接提供 |
| 推荐生命周期 | 每个聊天界面一个 | 每个独立身份一个 |
记忆、纠错与工具
Memory API
Agent 保存规范化 JSON 消息记忆,支持追加、替换、删除、清空、导入/导出、消息数量、命名存档/读取,以及 Reject Last Response。当记忆修改会与未完成请求冲突时,操作会被拒绝。
Tools API
在 ToolDeclarationsJson 中声明 OpenAI 兼容工具。模型在最终 Result 中返回结构化 Tool Calls;游戏代码负责校验和执行。模型需要看到执行结果并继续时使用 Submit Tool Result;玩法代码立即消费动作、不需要继续推理时使用 Append Tool Result to Memory。
小型辅助接口
Try Get Tool String Argument 与 Try Get Tool Integer Argument 从工具调用 Arguments JSON 中读取校验后的字段。Precise 与 Reasoned Decision 选项工厂可以避免反复手工配置采样参数。
MCP Gateway 体系
当模型可见工具需要被路由到外部 MCP 时,使用 Create MCP Gateway。Gateway 持有一个底层 Agent,通过 On Tool Call 发布调用,再由你的网络/玩法子系统执行传输并调用 Submit MCP Result。
| 变化 | API | 对对话的影响 |
|---|---|---|
| 把工具改路由到其他服务器 | Set Tool Route、Set Default Server Route | 路由可热切换;模型历史/KV 保留。 |
| 移除路由 | Remove Tool Route | 只改变路由注册表。 |
| 改变模型可见工具结构 | Rebuild Tool Schema | 重建 Native Conversation 并回放规范化历史;仍有 Pending Call 时拒绝。 |
| 传输层已经取消外部工作 | Discard Pending Tool Calls | 只忘记待处理派发,不会替你取消远端服务器。 |
Actor Component 体系
当对话天然属于某个 Actor 时,添加 LiteRT-LM Component。在 Details 中配置 AgentConfig;BeginPlay 创建一个 Agent,组件事件转发 Agent 事件,EndPlay 关闭对话。
Runtime、项目设置与诊断
ULiteRtLmSubsystem 是 Engine Subsystem,负责进程共享模型、队列、所有活动 Agent 和 Runtime Status。蓝图通过 Get LiteRT-LM Runtime 取得它。
| 区域 | 控制/读取内容 | 什么时候关注 |
|---|---|---|
| Model | Model Path、Native Conversation Options、可选 Preload | 第一次运行与打包之前 |
| Context | Max Context Tokens | 需要限制记忆/上下文大小时 |
| Sampling | Temperature、Top P、Top K、随机/固定 Seed | 普通 Ask 的项目默认行为 |
| Observability | Metrics、Runtime State、Ready、Diagnostics Path | 加载 UI、性能或错误排查 |
| Detailed Diagnostics | 项目默认或运行时开关 | 临时检查完整上下文 JSONL;不需要时关闭 |
模型如何到达用户设备
模型必须真实存在于最终 Runtime 解析到的路径。产品应明确选择一种策略:
- 随产品交付:把模型加入 Staged Non-Asset 目录,并配置打包后仍能解析的路径。
- 首次运行下载:使用异步
Download LiteRT-LM Model节点(或 Gemma 4 E2B 便利节点),有哈希时完成校验,再持久化结果路径。 - 仅开发机本地模型:适合编辑器迭代,但不能假定另一台电脑或 Android 设备存在同样的绝对路径。
发布到 Win64 与 Android
插件声明支持 Win64 与 Android。编辑器测试成功不等于目标设备测试成功。发布前:
- 确认平台二进制与模型都进入 Staged Build。
- 记录最终 Model Path 和 Runtime Status。
- 在打开大型玩法关卡前先运行一次最小 Quick Chat 请求。
- Android 启动闪退时同时采集 Logcat 和插件 Diagnostics Path;没有设备日志前不要直接判断成“爆显存”。
- 测试首次加载内存、Cancel、切后台/恢复,以及同一对话中的第二次请求。
公开 C++ 头文件目录
| 头文件 | 主要职责 |
|---|---|
LiteRtLmUnrealApi.h | 共享枚举、结构体、请求/结果类型、委托与配置。 |
LiteRtLmBlueprintLibrary.h | 场景工厂、Runtime 查询、批量对话与 JSON 辅助接口。 |
LiteRtLmQuickChat.h | 入门单对话外观。 |
LiteRtLmAgent.h | 完整对话、记忆、工具、状态、事件和生命周期。 |
LiteRtLmSubsystem.h | 共享引擎 Runtime、C++ CreateAgent 重载、状态与诊断。 |
LiteRtLmMcpGateway.h | MCP 对话、路由、Pending Call 和 Schema 重建。 |
LiteRtLmComponent.h | Actor 持有 Agent 的便利组件。 |
LiteRtLmModelDownloader.h | 异步模型下载蓝图 Action。 |
LiteRtLmProjectSettings.h | 基于 Config 的项目默认设置。 |
LiteRtLmNativeSdk.h | 稳定 Native C ABI,以及 C++ 便利/RAII 接口。 |
参考资料库
在一个场景已经跑通之后再查这些页面: