文档索引 · 按职责查询

需要什么,就查什么

这一页是查询入口,不是新手必读清单;如果你还没有跑通第一段回答,请先完成逐图快速入门

完整结构树

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 OnceAsk Streaming,绑定 On Answer,并让对象保持存活。以后可通过 Get Conversation 取得 Agent。

按照单对话教程操作 →

完整场景对象

Agent

Create Conversation (Advanced) 或 Runtime 的 Create Agent 会创建拥有独立 Prompt、工具、记忆和请求状态的对话。每个需要独立记忆的身份使用一个 Agent。

按照多对话教程操作 →

能力Quick ChatAgent
创建System Prompt 或配置后的 Agent完整 Agent Config
只要最终回答Ask OnceAsk,忽略 Chunk
流式输出Ask StreamingOn 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 ArgumentTry 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 RouteSet 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 关闭对话。

适合:会说话的 NPC Actor、伙伴、可交互终端,或需要携带自己 Prompt 和记忆的可复用 Actor 类。如果角色只是数据且不对应 Actor,则更适合“管理器 + Agent 数组”。

Runtime、项目设置与诊断

ULiteRtLmSubsystem 是 Engine Subsystem,负责进程共享模型、队列、所有活动 Agent 和 Runtime Status。蓝图通过 Get LiteRT-LM Runtime 取得它。

区域控制/读取内容什么时候关注
ModelModel Path、Native Conversation Options、可选 Preload第一次运行与打包之前
ContextMax Context Tokens需要限制记忆/上下文大小时
SamplingTemperature、Top P、Top K、随机/固定 Seed普通 Ask 的项目默认行为
ObservabilityMetrics、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。编辑器测试成功不等于目标设备测试成功。发布前:

  1. 确认平台二进制与模型都进入 Staged Build。
  2. 记录最终 Model Path 和 Runtime Status。
  3. 在打开大型玩法关卡前先运行一次最小 Quick Chat 请求。
  4. Android 启动闪退时同时采集 Logcat 和插件 Diagnostics Path;没有设备日志前不要直接判断成“爆显存”。
  5. 测试首次加载内存、Cancel、切后台/恢复,以及同一对话中的第二次请求。

打开现有打包参考 →

公开 C++ 头文件目录

头文件主要职责
LiteRtLmUnrealApi.h共享枚举、结构体、请求/结果类型、委托与配置。
LiteRtLmBlueprintLibrary.h场景工厂、Runtime 查询、批量对话与 JSON 辅助接口。
LiteRtLmQuickChat.h入门单对话外观。
LiteRtLmAgent.h完整对话、记忆、工具、状态、事件和生命周期。
LiteRtLmSubsystem.h共享引擎 Runtime、C++ CreateAgent 重载、状态与诊断。
LiteRtLmMcpGateway.hMCP 对话、路由、Pending Call 和 Schema 重建。
LiteRtLmComponent.hActor 持有 Agent 的便利组件。
LiteRtLmModelDownloader.h异步模型下载蓝图 Action。
LiteRtLmProjectSettings.h基于 Config 的项目默认设置。
LiteRtLmNativeSdk.h稳定 Native C ABI,以及 C++ 便利/RAII 接口。

打开 C++ 接入指南 →

参考资料库

在一个场景已经跑通之后再查这些页面:

参考页面描述实现分层与历史接口。新蓝图应该以场景教程和当前 Public 头文件作为选择入口节点的依据。