关于 azure-ai-projects-py
azure-ai-projects-py 是面向 Microsoft Foundry 项目的 Python SDK 参考技能,涵盖连接、部署、版本化 Agent、数据集和云端评估。它强调先确认已安装的 SDK 版本,再验证云端操作。
主要功能
- 01连接 Foundry 项目
- 02使用模型部署和版本化 Agent
- 03管理评估数据集与云端运行
- 04执行受限的批量评估
- 05遵循 SDK 版本和凭据安全要求
适用场景
- 01将应用连接到获准的项目
- 02创建明确要求的版本化 Agent
- 03在云端评估获准的 JSONL 数据
- 04调整 Agent 代码前确认 SDK 代际
MCP 相关
该技能指出,云端项目使用的远程 MCP 端点必须能从云端访问;localhost 指云端环境,而非用户的计算机。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill azure-ai-projects-py安装后在 Claude Code 中输入/azure-ai-projects-py确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
UPSTREAM-LICENSE.txtUPSTREAM-NOTICE.mdreferences/agents.mdasync-patterns.mdapi-reference.mdcustom-evaluators.mdconnections.mddeployments.mdbuilt-in-evaluators.mddatasets-indexes.mdevaluation.mdtools.mdscripts/run_batch_evaluation.py详细介绍
Azure AI Projects Python SDK
适用场景
用于 Microsoft Foundry 项目连接、模型部署、版本化 Agent、评估数据集和云端评估工作流。请先确认已安装的 SDK 代际;不要将经典 thread/run 用法套用到 v2 项目客户端。
设置与版本边界
请使用隔离环境,以及应用锁定并审核过的兼容 azure-ai-projects、azure-identity 和 openai 版本。历史支持文件来自 Microsoft 的固定版本仓库;请参阅 UPSTREAM-NOTICE.md 和 UPSTREAM-LICENSE.txt。本地修正记录在这些文件中。
将 AZURE_AI_PROJECT_ENDPOINT 设置为准确且已授权的 HTTPS 项目 URL,并将 AZURE_AI_MODEL_DEPLOYMENT_NAME 设置为实际部署名称,而非臆测的模型别名。使用预期的租户/身份,并遵循最小权限原则;检查凭据链时不要打印凭据。对于仅列出资源的任务,不要获取连接机密。
经核验的 2.0.0b4 源码快照使用版本化 Agent、OpenAI conversations/responses,以及用于评估器/记忆/计划的 beta 命名空间。经典 Agent 属于 azure-ai-agents。后续版本可能有所不同;请查阅已安装的 SDK 和 Microsoft 迁移指南。
示例:创建一个明确请求的版本化 Agent
import os
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import PromptAgentDefinition
with DefaultAzureCredential() as credential:
with AIProjectClient(endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"], credential=credential) as project:
agent = project.agents.create_version(
agent_name="requested-agent",
definition=PromptAgentDefinition(
model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
instructions="Answer the user’s question using authorized information.",
),
)
with project.get_openai_client(timeout=60, max_retries=0) as openai:
response = openai.responses.create(
input="Hello",
extra_body={"agent_reference": {"type": "agent_reference", "name": agent.name, "version": agent.version}},
)
# Inspect authorized output; do not log private traces or credentials.
安全工作流
- 确认准确的租户/项目、已安装版本、请求的资源和数据分类。
- 选择模型前先读取部署/连接元数据;不要自动选择第一个看似匹配的部署。
- 仅启用所需工具。模型工具调用只是提议:执行前请验证参数、授权、目标位置和影响。云端必须能够访问远程 MCP 端点;localhost 并非用户的计算机。
- 仅上传选定且获准的文件。文件夹扩展名筛选器无法排除机密,也无法强制执行访问权限。持久化记忆需要按租户/用户隔离,并制定保留和删除规则。
- 限制请求超时、轮询次数、并发数、行数和开支。如果资源创建超时,请先核实其结果,再重试。仅删除由任务创建且明确用于清理的资源。
批量评估辅助工具
scripts/run_batch_evaluation.py 会上传选定的完整 JSONL 文件、创建评估和运行任务,并可能产生云端/模型费用。--allow-paid 是执行前的选择加入标记,表示用户已授权使用此确切文件、端点、评估器、部署和预算。它不是费用估算,也不是开支强制控制机制。
python scripts/run_batch_evaluation.py --data approved.jsonl --evaluators coherence --deployment approved-deployment --max-rows 100 --max-bytes 1048576 --timeout-seconds 600 --allow-paid --output new-private-results.json
输入行必须具有一致的架构;Agent 模式使用示例输出,不会修改源记录。未知评估器或缺少映射字段会在上传前导致失败。轮询超时不会取消远程执行:请检查打印出的评估/运行 ID,并在需要时通过已安装服务文档规定的 API 取消任务。本地输出仅在文件不存在时新建,权限为 0600。评估器名称/架构取决于服务版本;进行实时运行前请检查注册表。
参考资料
限制
没有任何本地检查能证明 Azure 服务当前可用、模型质量、法律合规性或自主安全地使用工具。评估分数是抽样得出的、针对特定版本的判断;请报告失败项、缺失分数、样本数量和评审配置。关键词检查只是格式检查,不代表获得合规认证。必须解析 JSON 输出并验证其架构。审阅文档时不要运行云端评估。