你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本教程中,你将生成一个可计算 Azure SRE 代理的 SLA 符合性的工作 Python 工具。 你以纯英语描述该工具的目的,让 AI 生成代码、测试结果,并部署工具供代理使用。
本教程中,您将学习如何:
- 使用纯英语描述工具功能
- 使用 AI 生成 Python 代码
- 在部署之前使用实际输入测试工具
- 保存代理要使用的工具
估计时间:10 分钟
先决条件
在开始之前,请确保拥有以下资源和权限:
打开 Python 工具对话框
转到代理画布并开始创建 Python 工具。
- 打开 SRE 代理门户 并选择代理。
- 在左侧导航中选择 生成器 。
- 展开 构建器 并选择 代理画布。
- 选择 创建>工具>Python 工具。
Python 工具对话框随即打开,其中包含三个选项卡: 代码、 测试场和 标识。
描述工具应执行的操作
在说明字段中,用简单英语编写您希望工具执行的内容。 明确输入、输出和逻辑。
输入以下说明:
Calculate SLA compliance percentage from total uptime minutes and downtime
minutes. Return whether the SLA meets a target threshold (default 99.9%).
Include the calculated percentage and a status message.
小窍门
为获得最佳结果,请指定输入参数及其类型、描述计算或逻辑、说明输出应包含的内容,并在适用时提及默认值。
生成代码
选择 “生成 ”,让 AI 从说明中创建 Python 函数。
AI 使用以下命令分析说明并创建 Python 函数:
- 与输入匹配的类型化参数
- 说明逻辑的文档字符串
- 边缘事例的错误处理
- JSON 可序列化的返回值
以下示例显示了生成的代码:
def main(total_uptime_minutes: int, total_downtime_minutes: int,
target_sla_percent: float = 99.9) -> dict:
"""Calculate SLA compliance from uptime and downtime minutes.
Computes SLA as (uptime / (uptime + downtime)) * 100.
Returns the SLA percentage, whether it meets the target,
and a status message.
"""
total_minutes = total_uptime_minutes + total_downtime_minutes
if total_minutes == 0:
sla_percent = 100.0
else:
sla_percent = (total_uptime_minutes / total_minutes) * 100
meets_target = sla_percent >= target_sla_percent
return {
"sla_percent": round(sla_percent, 4),
"target_sla_percent": target_sla_percent,
"meets_target": meets_target,
"status": "Meets SLA" if meets_target else "Below SLA"
}
在“代码”选项卡中显示的是一个带有类型化参数的main()函数。 工具名称来自您的描述。
使用实际输入进行测试
在创建工具之前,请使用实际值对其进行测试。
- 选择 “测试场 ”选项卡。
- 输入以下测试值:
-
total_uptime_minutes:
43185 -
total_downtime_minutes:
15 -
target_sla_percent:
99.9
-
total_uptime_minutes:
- 选择测试。
以下示例显示了预期结果:
{
"sla_percent": 99.9653,
"target_sla_percent": 99.9,
"meets_target": true,
"status": "Meets SLA"
}
测试显示绿色成功指示器,JSON 输出与预期值匹配。
创建工具
测试通过后,选择“ 创建工具”。
工具现已可用。 当任务与工具的说明匹配时,代理可以自动调用它。
验证工具
在新聊天线程中,向代理询问触发该工具的问题:
What's my SLA for last month? We had 43185 minutes of uptime and 15 minutes of downtime.
代理识别此问题与工具匹配,并调用它来计算结果。
故障排除
使用以下信息解决常见问题。
“测试”按钮已禁用
“测试”按钮需要:
- 具有
main()函数的有效 Python 代码 - 所有必需的参数字段均已填写
检查代码是否没有语法错误,并且所有参数都具有值。
代码与意向不匹配
选择说明字段,优化文本,然后再次选择“ 生成 ”。 更具体地说:
- 参数名称和类型
- 计算逻辑
- 预期的输出格式
测试返回错误
在结果面板中检查错误消息。 常见问题包括:
- 除以零(添加边缘事例的处理)
- 参数类型不正确(确保输入与预期类型匹配)
- 导入错误(检查库是否可用)
编辑或删除工具
可以直接在代理画布中修改或删除工具。
编辑
- 在 代理画布上,选择工具节点以打开信息面板。
- 在面板标题中选择 “编辑 ”(铅笔)图标。
- 此时将打开“编辑”对话框。 修改说明、代码或参数。
- 选择“保存”。
删除
- 选择工具节点以打开信息面板。
- 在面板标题中选择 ⋯(更多操作)菜单。
- 选择 “删除”工具。
- 请在对话框中确认删除操作。