For the complete documentation index, see llms.txt. This page is also available as Markdown.

动态上下文快速入门

在 Blueprint 中向已连接的 Convai 角色推送一个状态属性和一个上下文事件,并验证更新是否到达上下文管线。

推送一个 状态 和一个 事件 从 Blueprint 向 Convai 角色推送,然后在你将其用于对话测试之前,确认更新已保存在本地。

动态上下文演练
术语
含义
示例

状态

可被替换的当前事实

健康值50

事件

会话中的一次性时刻

第 4 区触发警报

前提条件

开始前,请确认:

推送状态更新

跟踪玩家的健康值,以便角色在被询问时可以引用它。

1

打开角色蓝图

打开拥有该 Convai 聊天机器人 组件的 Actor 的蓝图——例如, BP_ConvaiCharacter。导航到 事件图表.

2

添加一个测试入口

右键单击图表并添加一个 自定义事件 节点。将其命名为 TestHealthUpdate。你可以从关卡蓝图、触发体积或另一个 Actor 调用此事件,在 Play In Editor 期间触发更新。

3

获取 Convai Chatbot 组件

Convai 聊天机器人 组件从 Components 面板拖到图表中,以创建一个 获取 引用节点。

4

调用 Set Context State

Convai 聊天机器人 引用引脚拖出并搜索 Set Context State。将其连接到 TestHealthUpdate 事件执行引脚。

将节点引脚设置如下:

引脚

名称

健康值

50

应答

从不

保持 bFlushImmediately 保持默认值(false).

Should Respond = 从不 在每次健康值变化时保存该值,而不会请求语音回复。

5

确认本地跟踪器已接受该值

Set Context State 的输出执行引脚拖出并添加 Get Context State Value。设置 名称健康值,然后打印 OutValue 以及布尔返回值,使用 打印字符串.

编译角色 Blueprint。运行时,返回值应为 trueOutValue 应显示为 50。这确认了本地跟踪器在任何网络刷新之前已接受该更新。

推送事件更新

通知角色警报已被触发。事件记录一次性时刻;它们不会像状态值那样被替换。

1

串联 Add Context Event

Set Context State 节点的输出执行引脚拖出。搜索 Add Context Event 并将其连接。

2

配置事件

Text 引脚设为 第 4 区触发警报。设置 应答自动.

从游戏流程中触发更新

调用 TestHealthUpdate 在任何已可访问角色 Actor 的 Blueprint 图表中。

1

获取角色 Actor 的引用

使用你项目中常用的 Blueprint 模式来引用拥有该 Convai 聊天机器人 组件的 Actor——例如,一个已放置的 BP_ConvaiCharacter 引用,或由你的生成逻辑设置的变量。

2

在初始化期间调用 TestHealthUpdate

调用 TestHealthUpdate ,在角色 Actor 引用有效之后。对于基本测试,可从准备关卡的同一启动流程中调用它。

3

编译 Blueprint

编译调用 TestHealthUpdate.

在 Play In Editor 中测试

1

进入 Play In Editor 并等待连接

在 Play In Editor 中运行关卡。等待角色会话连接——当 bAutoInitializeSession 启用时,会话会自动开始。

你的游戏图触发 TestHealthUpdate,并暂存状态更新和上下文事件。

2

检查本地值并等待去抖窗口

检查来自……的调试输出 Get Context State Value。返回值应为 trueOutValue 应显示为 50.

默认情况下,插件会等待 0.5 秒(ContextDebounceWindow)在最后一次暂存更新之后再发送到 Convai。对于依赖此上下文的对话测试,至少等待一个去抖周期。

3

在对话中验证

与角色对话或使用文本输入。询问 我的健康状况如何?设施里发生了什么? 作为去抖窗口结束后的端到端运行时测试。具体回复措辞取决于角色配置。

如果角色没有引用这两个值中的任意一个,请参阅 动态上下文故障排查.

下一步

阅读 动态上下文的工作方式 以了解其思维模型,然后查看 动态上下文使用示例 以获取更多 Blueprint 模式。

动态上下文如何工作动态上下文使用示例动态上下文 Blueprint 参考

最后更新于

这有帮助吗?