通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft Foundry 代理服务中的内存(预览版)

重要

在 Foundry 代理服务和内存存储 API(预览版)中,内存(预览版)作为您 Azure 订阅的一部分获得许可,并且受到 Microsoft 产品条款Microsoft 产品和服务数据保护附录中有关“预览版”的适用条款的约束,还需遵守 Microsoft Azure 预览版的补充使用条款中的 Microsoft 生成 AI 服务预览版条款。

Microsoft Foundry 代理服务中的内存是托管的长期内存解决方案。 它支持跨会话、设备和工作流的代理连续性。 通过创建和管理内存存储,可以生成代理来保留用户首选项、维护聊天历史记录并提供个性化体验。

本文概述了代理内存,包括其概念、用例和限制。 有关使用说明,请参阅 Foundry 代理服务中的“创建和使用内存”。

什么是内存?

内存是代理跨会话保留的永久性知识。 通常,代理内存分为两类:

  • 短期记忆 跟踪当前会话,并保持实时上下文以进行持续互动。 代理业务流程框架通常将此内存作为会话上下文的一部分进行管理。

  • 长期内存 会保留在不同会话中精炼的知识。 模型能够随着时间的推移,召回并基于先前的用户交互进行构建。 长期内存需要一个持久系统来提取、合并和管理知识。

Foundry代理服务中的内存是专为持久内存而设计的。 它从对话中提取有意义的信息,将其合并到持久知识中,并使其在会话之间可用。

内存的工作原理

在后台,内存被存储为项在托管内存库中。 系统可以应用合并和冲突解决逻辑(例如,合并重复或重叠的用户配置文件信息)。

注释

合并行为可能因内存类型而异,在预览期间可能会更改。 有关最新行为,请参阅 Foundry 代理服务中的“创建和使用内存”。

内存运行过程如下:

  1. 提取: 当用户与代理交互时,系统会主动从聊天中提取关键信息,例如用户首选项、事实和相关上下文。 例如,识别和存储像“对乳制品过敏”这样的偏好,以及最近活动的摘要。

  2. 固结: 提取的内存已合并,以保持内存存储高效且相关。 系统使用 LLM 合并类似或重复的主题,以便代理不存储冗余信息。 为了保持记忆的准确性,诸如新的过敏等冲突性事实会被调解解决。

  3. 检索: 当代理需要召回信息时,它会在内存存储中搜索最相关的内存。 这样,代理就可以快速呈现正确的上下文,使对话显得自然且信息丰富。 为了获得最佳结果,请尽早在对话中检索稳定的用户配置文件信息,以便代理可以个性化响应。

下面是一个示例,说明记忆如何改善和个性化食谱代理与以前表示食物过敏的用户之间的交互:

显示跨会话代理的内存提取、存储和检索的关系图。

小窍门

需要帮助决定何时使用内存? 请考虑以下准则:

  • 使用内存来保存随时间推移的用户特定上下文。
  • 使用 Foundry IQ 知识库,通过加工的组织内容为您的代理提供基础。
  • 使用 文件搜索工具 在交互期间搜索用户提供的文档。

内存类型

Foundry 代理服务中的内存提取并存储两种类型的长期内存:

类型 Description 配置
用户档案内存 有关用户的信息和首选项,例如首选名称、饮食限制和语言首选项。 这些记忆被视为与聊天相关的“静态”,因为它们通常不依赖于当前的聊天上下文。 在每个对话开始时检索用户配置文件记忆一次。 user_profile_details中指定
聊天摘要内存 聊天会话中涵盖的每个话题的浓缩摘要。 这些记忆允许用户继续对话或引用以前的会话,而无需重复以前的上下文。 根据当前对话检索聊天摘要记录,以展示相关的对话主题。 chat_summary_enabled 设置为 true内存存储中。

处理内存

使用内存进行代理交互有两种方法:

  • 内存搜索工具: 将内存搜索工具附加到提示代理,以便在会话期间读取和写入内存存储。 此方法非常适合大多数方案,因为它简化了内存管理。 有关详细信息,请参阅 通过代理工具使用内存

  • 内存存储 API: 使用低级别 API 直接与内存存储进行交互。 此方法为高级用例提供了更多的控制和灵活性。 有关详细信息,请参阅 通过 API 使用内存

用例

以下示例说明了内存如何增强各种类型的代理。

  • 一个客户支持代理,用于记住你的姓名、以前的问题和解决方法、票证号码以及首选的联系人方法(聊天、电子邮件或回电)。 此内存有助于避免重复信息,因此对话更高效且令人满意。

  • 个人购物助理,能够记住在特定品牌中的尺寸、首选颜色、过去的退货和最近的购买记录。 代理可以在启动会话后立即建议相关项目,并避免推荐已拥有的产品。

安全风险

在 Foundry 代理服务中使用内存时,大型语言模型(LLM)会基于对话提取和合并记忆。 防止内存受到提示注入和内存损坏等威胁。 当错误或有害的数据存储在代理的内存中时,这些风险可能会影响代理响应和作。

若要缓解安全风险,请考虑以下作:

  • 使用 Azure AI 内容安全 及其 提示注入检测 验证输入或离开内存系统的所有提示,以防止恶意内容。

  • 执行攻击和对抗测试: 定期通过受控对抗练习对代理进行注入漏洞的压力测试。

限制和配额

  • 内存当前需要兼容的 Azure OpenAI 聊天和嵌入模型部署。 有关受支持的模型的列表,请参阅 Foundry 代理服务的 Azure OpenAI 模型和区域
  • 必须显式设置该值 scope。 当前不支持从请求中指定的用户身份进行自动填充。

配额

  • 每个内存存储的最大范围:100
  • 每个作用域的最大内存数:10,000
  • 搜索记忆:每分钟 1,000 个请求
  • 更新内存:每分钟 1,000 个请求

有关更广泛的 Foundry 代理服务配额和限制,请参阅 Foundry 代理服务配额和限制

Pricing

内存目前以公共预览版提供。 内存和内存存储 API 的定价和计费可以在预览期间更改。

您因配置和使用相关的聊天及嵌入模型而产生费用。 有关当前定价详细信息,请参阅 Foundry 代理服务定价