为角色配置记忆
说明如何从仪表板或脚本中为角色开启或关闭长期记忆,以及其全局作用域对共享角色意味着什么。
默认情况下,长期记忆已禁用(MemorySettings.IsEnabled = false)。在您显式启用之前,不会提取或存储任何事实。您可以通过 Convai 控制台启用或禁用记忆,或者通过以下方式以编程方式进行: client.Characters.
记忆设置会全局应用于该角色。 为某个角色启用 LTM 会影响所有连接到该角色 ID 的应用程序、SDK 版本和部署。如果您在开发、预发布和生产环境之间共享同一个角色,那么在一个环境中启用记忆会使所有环境都启用。请在共享角色上启用之前与您的团队协调。
启用或禁用记忆
这是大多数团队推荐的方法。更改会立即生效,无需更新代码或重新部署。
在以下地址登录: convai.com.
打开您要配置的角色。
选择 记忆 角色设置侧边栏中的选项卡。
切换 长期记忆 移动到 开启.
点击 保存.
若要禁用,请重复相同步骤并切换 长期记忆 移动到 关闭.
使用 client.Characters 当您需要以编程方式控制时——例如,在自动化测试环境、构建流水线或运行时管理面板中。 ConvaiRestClient.Characters 会被标记为 [Obsolete] 取代 ConvaiCharacterApiClient,因此这段代码会以 CS0618 警告进行编译;截至目前,它仍然是读取和写入此设置的唯一类型化访问器。
检查当前状态
using Convai.RestAPI;
using UnityEngine;
public class MemoryAdmin : MonoBehaviour
{
private async void Start()
{
using var client = new ConvaiRestClient(ConvaiSettings.Instance.ApiKey);
bool isEnabled = await client.Characters.GetMemoryEnabledAsync("your-character-id");
Debug.Log($"LTM enabled: {isEnabled}");
}
}启用记忆
using Convai.RestAPI;
using UnityEngine;
public class MemoryAdmin : MonoBehaviour
{
private async void Start()
{
using var client = new ConvaiRestClient(ConvaiSettings.Instance.ApiKey);
await client.Characters.SetMemoryEnabledAsync("your-character-id", true);
Debug.Log("已启用长期记忆。");
}
}禁用记忆
禁用记忆而不删除记录
禁用 LTM 会停止提取新的记忆,但 不会删除现有记忆记录。存储的事实仍保留在 Convai 上,如果您之后重新启用 LTM,它们将会被重新注入。
如果您想禁用 LTM 并移除所有已存储的记忆,请先删除记忆,然后再禁用。
在禁用前,要清除某个用户–角色对的所有记忆,请使用 client.Memory.DeleteAllAsync 然后调用 SetMemoryEnabledAsync. DeleteAllAsync 会移除某个特定用户–角色对的记忆。若要改为移除所有角色中的全部终端用户记录,请使用 client.EndUsers.DeleteAsync(endUserId)。请参见 管理终端用户记录.
参见 长期记忆使用示例 以获取完整的重置模式。
下一步
终端用户身份管理终端用户记录最后更新于
这有帮助吗?