Install
openclaw skills install @thcjp/agent-framework-azure-ai-pyopenclaw skills install @thcjp/agent-framework-azure-ai-py| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| 代码静态分析与质量评分 | 不支持 | 支持 |
| 依赖漏洞检测与升级建议 | 不支持 | 支持 |
| 批量代码审查与报告生成 | 不支持 | 支持 |
| CI/CD流水线集成 | 不支持 | 支持 |
详细的输入输出格式请参考下方章节说明。
| 场景 | 输入 | 输出 |
|---|---|---|
| 场景1 纯文档型技能 | 用户请求数据 | 结构化处理结果 |
| 场景2 指导构建Azure AI Foundry Agent | 用户请求数据 | 结构化处理结果 |
| 场景3 覆盖云搜索与多模型能力 | 用户请求数据 | 结构化处理结果 |
不适用于:需要人工判断的复杂决策场景
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 否 | agent-framework-azure-ai-py处理的内容输入 |
| mode | string | 否 | 处理模式, 可选: json/text/markdown, |
| max_retries | integer | 否 | 单步最大重试次数, 默认: 2 |
| skip_steps | array | 否 | 跳过的步骤编号(用于断点续传), 默认: [] |
{
"success": true,
"data": {
"final_result": {
"py_result": "py_result_value",
"py_metadata": "py_metadata_value",
"py_status": "py_status_value"
},
"execution_log": [
{
"step": 1,
"name": "按流程执行",
"status": "completed",
"duration_ms": 1200,
"output_summary": "按流程执行"
},
{
"step": 2,
"name": "按流程执行",
"status": "completed",
"duration_ms": 3500,
"output_summary": "按流程执行"
},
{
"step": 3,
"name": "按流程执行",
"status": "completed",
"duration_ms": 2100,
"output_summary": "按流程执行"
},
{
"step": 4,
"name": "按流程执行",
"status": "completed",
"duration_ms": 800,
"output_summary": "按流程执行"
}
],
"total_duration_ms": 7600,
"gates_passed": 3,
"gates_total": 3
},
"error": null
}
中间产物模板参考: assets/agent-framework-azure-ai-py_template
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
API Key配置方式:
export API_KEY="${API_KEY:?请设置环境变量}"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
import asyncio
from typing import Annotated
from pydantic import BaseModel, Field
from agent_framework import (
HostedCodeInterpreterTool,
HostedWebSearchTool,
ProtocolStreamableHTTPTool,
)
from agent_framework.azure import AzureAIAgentsProvider
from azure.identity.aio import AzureCliCredential
# ...
def get_weather(
location: Annotated[str, Field(description="City name")],
) -> str:
"""Get weather for a location."""
return f"Weather in {location}: 72°F, sunny"
# ...
class AnalysisResult(BaseModel):
summary: str
key_findings: list[str]
confidence: float
# ...
async def main():
async with (
AzureCliCredential() as credential,
ProtocolStreamableHTTPTool(
name="Docs 协议",
url="https://learn.microsoft.com/api/协议",
) as mcp_tool,
AzureAIAgentsProvider(credential=credential) as provider,
):
agent = await provider.create_agent(
name="ResearchAssistant",
instructions="You are a research assistant with multiple capabilities.",
tools=[
get_weather,
HostedCodeInterpreterTool(),
HostedWebSearchTool(name="Bing"),
mcp_tool,
],
)
# ...
thread = agent.get_new_thread()
# ...
# Non-streaming
result = await agent.run(
"Search for Python best practices and summarize",
thread=thread,
)
print(f"Response: {result.text}")
# ...
# Streaming
print("\nStreaming: ", end="")
async for chunk in agent.run_stream("Continue with examples", thread=thread):
if chunk.text:
print(chunk.text, end="", flush=True)
print()
# ...
# Structured output
"Analyze findings",
thread=thread,
response_format=AnalysisResult,
)
analysis = AnalysisResult.model_validate_json(result.text)
print(f"\nConfidence: {analysis.confidence}")
# ...
if __name__ == "__main__":
asyncio.run(main())
A: 请参考使用流程和依赖说明章节,确保运行环境满足要求后调用本技能。
| 错误场景2 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 请求重试;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
A: 在Azure AI Foundry中,您可以通过配置工具和代理来集成智能体框架AzureAI,使用其云搜索和多模型能力。
A: 智能体框架AzureAI支持多种AI模型,包括云搜索模型和多模型,适用于文本分析、自然语言处理等场景。
A: 网络错误可能是由于连接超时或不可达导致的。您可以尝试重试请求,并检查您的网络连接。
A: 您可以通过设置环境变量API_KEY来配置API Key。确保将API Key保存在安全的地方,避免泄露。
A: 是的,智能体框架AzureAI支持自定义模型。您可以将自己的模型集成到框架中,以扩展其功能。
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| 代理启动失败 | 配置错误 | 检查配置文件,确保所有参数正确 | 修正配置文件,重新启动代理 |
| 模型调用无响应 | 网络问题 | 检查网络连接,确保可以访问模型服务 | 修复网络问题,重试模型调用 |
| 输出结果不正确 | 模型错误 | 检查模型输入和输出,确认模型正确性 | 修正模型或输入数据,重新运行 |
| 执行时间过长 | 资源限制 | 检查资源使用情况,确保有足够的计算资源 | 增加资源或优化模型 |
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| API Key泄露 | 高 | 使用环境变量存储API Key,限制访问权限 | 定期审计访问日志 |
| 数据泄露 | 高 | 加密敏感数据,使用安全的传输协议 | 定期进行安全审计 |
| 模型注入攻击 | 中 | 对输入数据进行验证和清理 | 实施严格的输入验证策略 |
| 系统漏洞 | 中 | 保持系统更新,使用安全配置 | 定期进行漏洞扫描 |
| 访问控制不当 | 中 | 实施最小权限原则,定期审查访问控制 | 使用访问控制审计工具 |
| 功能 | 效率提升 | 差异化对比 |
|---|---|---|
| 云搜索 | 提高搜索效率,减少开发时间 | 与传统搜索引擎相比,集成更紧密 |
| 多模型支持 | 提供更全面的AI功能 | 支持多种模型,满足不同需求 |
| 自动化构建 | 自动化构建流程,提高开发效率 | 减少手动操作,降低错误率 |
| 代码审查 | 提高代码质量,减少缺陷 | 集成代码审查工具,简化流程 |
| CI/CD集成 | 自动化测试和部署,提高开发效率 | 集成CI/CD工具,简化部署流程 |
通过集成智能体框架AzureAI,开发人员可以更高效地构建Azure AI Foundry代理,实现自动化和智能化的开发流程。
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 智能体框架AzureAI | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 纯文档型技能,指导构建Azure AI Foundry Agent,覆盖云搜索与 | 通用场景 | 通用场景 |