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

排查长期记忆问题

诊断 Unreal 角色的记忆被禁用、玩家身份不稳定、说话者身份失败以及共享设备回忆问题。

当 Convai 角色不记得回归玩家、记错玩家,或者某个 LTM Blueprint 节点触发时,请使用此页 On Failure。先从首要检查开始,然后使用与您所见症状相匹配的条目。

首要检查

  1. 确认该角色已启用 LTM。在 Convai 仪表板中,新角色默认禁用记忆。在 Unreal 中,调用 Convai 获取 LTM 状态 并确认 状态true.

  2. 确认 UConvaiChatbotComponent.EndUserID 在每次之前设置为非空、稳定的值 StartSession.

  3. 确认聊天机器人和玩家组件使用相同的 EndUserID 之前 StartSession.

  4. 确认已配置 API 密钥,且其他 Convai 会话请求均成功。

决策流程

角色从不记得之前的会话

症状: 即使玩家在先前的会话中分享过事实,该角色每次都会从头开始。

原因: 该角色的 LTM 被禁用,或者 EndUserID 聊天机器人组件上的值在会话之间发生变化。

修复:

  1. 调用 Convai 获取 LTM 状态 用于该角色 ID。

  2. 如果 状态false,调用 Convai Set LTM StatusB 启用 设置为 true.

  3. Print UConvaiChatbotComponent.EndUserID 紧接在……之前 StartSession.

验证: 使用相同的 EndUserID 在每次之前,在聊天机器人组件上 StartSession.

角色记住了错误的玩家

症状: 该角色引用了另一位玩家的事实。

原因: 多个玩家正在共享相同的 EndUserID。这通常发生在共享机器上使用设备回退时。

修复: 为每位玩家创建或分配唯一身份。对于由 Blueprint 管理的身份,调用 Convai 创建说话人 ID 每个玩家配置文件调用一次,并保存返回的 SpeakerID。参见 最终用户身份.

验证: 打印当前活动的 EndUserID 在每个配置文件上,在……之前 StartSession。每位玩家都应有不同的值。

Convai 创建 Speaker ID 失败

症状: Convai 创建说话人 ID 触发 On Failure.

原因:说话者名称 输入为空,或者 HTTP 请求失败。

修复:说话者名称 将其设置为非空字符串。如果该值为空,插件会记录 说话者名称为空 并触发 On Failure.

如果名称有效,请在输出日志中查看来自基础 API 代理的共享 HTTP 失败消息:

验证: 修复输入或连接问题后,调用 Convai 列出 Speaker ID 并确认新的 SpeakerID 出现在返回的数组中。

Speaker ID 列表为空

症状: Convai 列出 Speaker ID 成功,但未返回任何记录。

原因: 为所配置的 API 密钥不存在任何 Speaker ID 记录,或者测试记录已被删除。

修复: 使用 Convai 创建说话人 ID,然后调用 Convai 列出 Speaker ID 再次。

验证:成功时 数组包含一个 FConvaiSpeakerInfo 带有非空的 SpeakerID.

删除 Speaker ID 不会清除本地状态

症状: 已删除的身份在下次启动时仍会被分配。

原因: 项目已从 Convai 中删除该 Speaker ID,但未清除本地保存的 SpeakerID.

修复: 在……之后 Convai 删除 Speaker ID 成功后,清除本地保存的 SpeakerID.

验证: 重新启动项目,并确认没有已删除的 SpeakerID 从保存数据中加载。

源码验证的日志消息

当前源码包含以下与 LTM 相关的日志消息:

日志消息
出现位置
含义

说话者名称为空

Convai 创建说话人 ID

说话者名称 为空。

解析 JSON 失败

Convai 创建说话人 ID

无法解析创建响应。

解析 speaker id 失败

Convai 列出 Speaker ID

无法解析列表响应。

获取 LTM 状态失败

Convai 获取 LTM 状态

角色详情响应中未包含预期的 LTM 状态数据。

未提供 End User ID,使用设备 ID:%s

连接参数构建

聊天机器人 EndUserID 为空;已使用设备回退。

正在使用 End User ID:%s

连接参数构建

聊天机器人 EndUserID 在连接时已发送。

HTTP 请求失败,代码为 %d,响应为:%s

共享 API 代理

HTTP 请求返回了非 2xx 响应。

Unreal LTM 未暴露的内容

Unreal 插件暴露了 Speaker ID 管理和角色 LTM 启用状态。它不暴露用于列出、添加、检索或删除单个记忆记录的 Blueprint 节点。

如需全新的本地对话链接,请使用 ResetConversation()。如需删除身份,请使用 Convai 删除 Speaker ID 并增加确认步骤。

下一步

为角色配置记忆最终用户身份长期记忆快速入门说话者 ID 管理LTM Blueprint 参考

最后更新于

这有帮助吗?