你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
确定代理执行背后的原因对于故障排除和调试非常重要。 但是,由于多种原因,这对于复杂的代理而言可能很困难。这些原因包括:
- 生成响应所涉及的步骤可能很多,因此很难跟踪所有这些步骤。
- 步骤序列可能因用户输入而异。
- 每个阶段的输入/输出可能很长,需要进行更详细的检查。
- 代理运行时的每个步骤还可能涉及嵌套。 例如,代理可能会调用一个工具,后者又会使用另一个进程,然后该进程又调用另一个工具。 如果发现顶级代理运行的输出异常或不正确,则很难确切地确定是在执行中的哪个环节引入了问题。
跟踪可助你清楚地了解特定代理运行中涉及的每个基元的输入和输出(按照基元的调用顺序),从而解决这一问题。
在 Azure AI Foundry 代理操场中进行跟踪
借助 Azure AI Foundry 门户中的代理操场,可以跟踪代理生成的线程和运行。 若要打开跟踪,请选择活动线程中的 线程信息 。 还可以选择“指标”,以跨 AI 质量和风险和安全性的多个维度自动评估模型的性能。
注意
评估结果在过期前 24 小时可用。 若要获取评估结果,请选择所需的指标并与代理聊天。
- 以下区域无法进行评估。
australiaeast
japaneast
southindia
uksouth
选择 “线程信息”后,将显示的屏幕将允许您查看:线程、运行、运行步骤和所做的任何工具调用。 可以查看代理和用户之间的输入和输出,以及关联的元数据和所选的任何评估。
注意
风险和安全评估等可观测性功能根据 Azure 定价页中列出的消耗量计费。
使用 OpenTelemetry 和 Application Insights 资源跟踪代理
借助跟踪,你可以通过使用 OpenTelemetry 并将 Application Insights 资源添加到 Azure AI Foundry 项目来分析代理的性能和行为。
若要添加 Application Insights 资源,请在 Azure AI Foundry 门户的左窗格中选择“可观测性”,选择“跟踪”,然后创建一个新资源(如果还没有)。
创建后,可以获取 Application Insights 连接字符串,请配置代理,并通过 Azure Monitor 观察代理的完整执行路径。 你通常需要在创建代理之前启用跟踪。
观察代理
首先,使用 pip install
安装 OpenTelemetry 和 Azure SDK 跟踪插件。
pip install opentelemetry-sdk
pip install azure-core-tracing-opentelemetry
你还需要一个导出器,以便将结果发送到可观测性后端。 你可以将跟踪信息打印到控制台或使用本地查看器(例如 Aspire 仪表板)。 若要连接到 Aspire 仪表板或其他与 OpenTelemetry 兼容的后端,请安装 OpenTelemetry 协议 (OTLP) 导出器。
pip install opentelemetry-exporter-otlp
安装包后,可以使用以下 Python 示例之一实现代理跟踪。 使用控制台跟踪的示例将在本地控制台中显示结果。 使用 Azure Monitor 的示例将跟踪发送到 Azure AI Foundry 门户中的 Azure Monitor,位于门户左侧窗格的 可观测性 选项卡中。
注意
代理跟踪功能中有一个已知的 bug。 该 bug 将导致代理的函数工具调用跟踪中将会包含的相关信息(函数名称和参数值,其中可能包含敏感信息),即使未启用内容记录功能也是如此。
使用 Azure Monitor
使用控制台跟踪