Azure AI Projects TypeScript 技能
为 TypeScript 开发者提供 Azure AI Foundry 项目、智能体和评估的 SDK 实现指导。
文档建议使用 DefaultAzureCredential、AAD 并避免记录凭据,且 MCP 示例设置 require_approval: "always",显示出部分最小权限和凭据安全意识。扣分原因是 getWithCredentials()、数据集上传、代理/索引/评估创建与删除等外部和敏感数据操作没有用户确认、权限范围、数据流披露或可恢复回滚说明;环境变量和端点也未说明保密处理。
安装、认证、主要操作组和异常输入示例较完整,且连接引用包含 404/403 处理。扣分原因是文档未给出版本锁定、兼容性矩阵、超时/重试/分页/限流处理;多个 API 示例依赖未声明的类型或辅助函数,且静态材料没有该技能关键路径的可执行复现证据。
目标用户和触发场景较清楚,覆盖 Foundry 项目客户端、代理、连接、部署、数据集、索引和评估。扣分原因是未明确非适用范围、SDK/服务预览状态、所需 Azure 资源与权限、地区可用性,也没有中文使用指导;未证明核心功能依赖完全不可达的海外服务,因此不作该项额外重扣。
技能有 front matter、安装步骤、环境变量、分主题参考文件、最佳实践、MIT 许可证和作者/版本元数据,结构清晰。扣分原因是包版本和 API 版本未锁定,缺少变更日志、维护责任与更新路径、FAQ、系统化限制说明和依赖安全说明;参考文档的链接和内容范围也不完全统一。
示例覆盖从客户端初始化到代理运行、连接、数据集、索引和评估的核心任务,具备一定直接使用价值。扣分原因是代码未经过静态之外的验证,部分示例缺少完整上下文或依赖(例如 getAccessToken、vectorStoreId、testData),并未证明当前 SDK 版本可直接编译运行,因此只能给予受限的核心任务价值分。
材料提供了大量可审计的 TypeScript 示例、接口形状、错误处理片段及官方 Microsoft 文档引用,且仓库有通用 CI/测试材料。扣分原因是所给测试并非该技能的关键路径测试,未提供该技能专属验收结果、第三方交叉验证或版本锁定证据;本评估未执行代码。
- 将 getWithCredentials() 返回的 API 密钥、SAS 或连接元数据视为敏感数据,避免日志输出并在执行创建、上传、评估和删除操作前确认目标、范围与成本。
- 在采用示例前,应依据目标 SDK 版本和官方 API 文档核对 createVersion、evaluations、memoryStores、OpenAI responses/conversations 等接口;当前材料未证明其可直接编译运行。
- 补充超时、重试、限流、分页、权限不足、资源不存在和部分失败时的诊断与恢复策略。
它能做什么 & 适用场景
该技能面向使用 JavaScript/TypeScript Azure AI Projects SDK 构建 AI 应用的开发者。它涵盖 Foundry 项目客户端、智能体、连接、模型部署、数据集、搜索索引、评估和记忆存储。内容还展示了如何获取 OpenAI 客户端、创建对话并运行版本化智能体。它适合已经使用 Azure AI Foundry,或需要在 TypeScript 应用中接入这些项目资源的团队。
指导安装 @azure/ai-projects 和 @azure/identity,配置 Azure AI 项目端点、模型部署名称及凭据,并使用 AIProjectClient 管理智能体、连接、部署、数据集、索引、评估器和记忆存储。它提供创建带代码解释器、文件搜索、网页搜索、Azure AI Search、函数和 MCP 工具的智能体示例,也展示如何获取 OpenAI 客户端、创建响应和对话,以及清理资源。
- 使用 TypeScript 构建 Azure AI Foundry 应用,需要创建和运行版本化智能体的开发者。
- 需要从 Foundry 项目读取连接、凭据和模型部署信息的工程团队。
- 需要上传训练文件、管理数据集版本或创建 Azure AI Search 索引的应用开发者。
- 需要在 Azure AI Projects 中结合 OpenAI responses 或 conversations API 的开发者。
- 需要为智能体接入代码解释器、文件搜索、网页搜索、函数或 MCP 工具的团队。
优缺点一览
- 覆盖 Azure AI Projects SDK 的主要操作组,并提供可复制的 TypeScript 示例。
- 同时说明 DefaultAzureCredential、ManagedIdentityCredential、项目连接和凭据获取方式。
- 包含多种智能体工具配置,以及 OpenAI responses 和 conversations 的使用方式。
- 仓库采用 MIT 许可证,并通过 npx skills add 提供集合安装方式。
- 范围仅针对 @azure/ai-projects 的 TypeScript 用法,不应代替其他 Azure SDK 技能。
- 示例需要 Azure AI 项目端点、模型部署和相应凭据,不能脱离 Azure 环境直接运行。
- 部分能力依赖项目中已存在的连接、部署、向量存储或索引,技能未提供资源 provisioning 流程。
- README 说明仓库处于积极开发中,技能内容和测试仍可能更新。
如何安装
在目标项目或所选 Agent 的技能目录中安装集合:
npx skills add microsoft/skills
在安装向导中选择 azure-ai-projects-ts。手动方式是克隆 https://github.com/microsoft/skills,并复制 .github/plugins/azure-sdk-typescript/skills/azure-ai-projects-ts/ 目录。项目运行依赖可通过以下命令安装:
npm install @azure/ai-projects @azure/identity
追踪功能另需:
npm install @azure/monitor-opentelemetry @opentelemetry/api
如何使用
在支持 Agent Skills 的编码代理中,提出类似“使用 @azure/ai-projects 为我的 TypeScript Azure AI Foundry 项目创建一个带文件搜索的版本化智能体,并使用 DefaultAzureCredential 认证”的请求。按技能说明设置 AZURE_AI_PROJECT_ENDPOINT、MODEL_DEPLOYMENT_NAME,并在生产环境使用 AZURE_TOKEN_CREDENTIALS。SKILL.md 未规定单独的命令行入口或运行脚本。