Azure AI Search Python 技能
帮助 Python 开发者构建向量、混合与语义搜索应用。
证据显示优先使用DefaultAzureCredential、生产环境限制凭据链、避免API密钥,并提示环境变量和托管身份;但示例和脚本会创建或更新索引、知识源和知识库,缺少用户确认、权限范围、敏感数据流说明及回滚/清理保护,因此扣分。未见恶意、窃取凭据或隐蔽外泄红线。
内容覆盖多种客户端、搜索模式、异步模式、异常类型和两个脚本,但存在重复且可能漂移的示例;异步示例中的credential生命周期不总是完整,脚本不使用上下文管理器,且未提供针对关键路径的提交测试或版本锁定。因此仅给出静态可支持的中低分。
触发词、Python SDK受众和主要场景较清晰,覆盖关键词、向量、混合、语义搜索、索引和知识库;但输入前置条件、服务版本/预览能力边界、非适用场景和中国网络可达性未说明,且核心功能依赖Azure海外云服务,故扣分。
SKILL.md有元数据、安装说明、环境变量、分层章节、表格、引用文件、脚本和MIT许可;仓库还提供维护中的声明、CI线索和安全报告入口。但缺少该技能专属版本变更记录、维护责任人/更新路径、依赖版本、FAQ和系统化故障排查,且文档重复。
该技能可直接提供常见Azure AI Search Python代码模板,覆盖搜索、索引、上传、语义排名、向量化、知识库和清理操作,核心任务价值明确;但若干代码依赖外部服务配置和SDK版本,脚本有实际副作用,未静态验证可运行性,输出仍需用户按环境和API版本调整,因此按静态上限给分。
证据包含完整技能文档、脚本、引用资料,以及仓库级CI和测试文件,具备一定审计线索;但提供的测试主要针对通用Copilot测试工具,并未覆盖该技能的关键代码路径,缺少锁定依赖、执行结果或独立交叉验证,因此不超过静态证据上限。
- 执行setup_agentic_retrieval.py或setup_vector_index.py会创建或更新Azure资源;运行前应确认目标订阅、索引名、RBAC权限、成本和回滚方案。
- 应按实际azure-search-documents版本核对Knowledge Base、向量化和预览API模型;文档中的重复示例可能不一致。
- 不要将API密钥、文档内容或嵌入向量提交到代码库或日志;应补充数据驻留、跨境传输和中国网络可达性评估。
- 异步代码、凭据关闭、错误重试和资源清理应在真实环境中单独验证。
它能做什么 & 适用场景
这是一个面向 Azure AI Search Python SDK 的 Agent Skill,覆盖搜索、文档操作、索引管理和索引器配置。它提供全文搜索、向量搜索、混合搜索、语义排序、筛选、分面、自动补全和建议器示例。内容优先推荐 DefaultAzureCredential,并说明同步与异步客户端的生命周期管理。它适合使用 Azure AI Search 的 Python 项目,但不替代 Azure 资源配置或服务端权限设置。
指导开发者安装 azure-search-documents 和 azure-identity,配置搜索端点、索引名称及凭据,并使用 SearchClient、SearchIndexClient 和 SearchIndexerClient 编写 Python 代码。示例涵盖创建带向量字段的索引、上传和批量处理文档、关键词/向量/混合搜索、语义排序、筛选、分面、自动补全、建议器,以及带技能集的数据源和索引器。它还说明 HNSW、语义配置、向量维度、异步客户端和错误处理模式。
- Python 团队需要为 Azure AI Search 索引实现关键词搜索和文档读写时使用。
- 需要结合嵌入向量与关键词提升检索相关性的应用,可参考混合搜索示例。
- 需要自然语言查询、语义标题或摘要的搜索应用,可参考语义排序配置。
- 需要创建向量索引、配置 HNSW 或管理索引结构的开发者,可使用索引管理示例。
- 需要从 Azure Blob 数据源通过索引器和技能集进行 AI 内容丰富的团队,可参考索引器示例。
优缺点一览
- 覆盖从认证、索引创建到查询和索引器的完整 SDK 使用路径。
- 同时提供同步、异步、向量、混合和语义搜索模式。
- 明确推荐 DefaultAzureCredential 和客户端上下文管理器。
- 提供具体 Python 代码、客户端类型表和常见错误处理示例。
- 内容只针对 Python SDK,不覆盖其他语言或 Azure 资源部署。
- 示例依赖 Azure 搜索服务、索引、凭据和嵌入向量等外部配置。
- 源材料没有提供该单个技能的独立测试结果或版本兼容矩阵。
- 服务费用、所需 Azure RBAC 配置和完整权限清单未在源材料中说明。
如何安装
在 Copilot CLI 或兼容的 skills 安装流程中运行:npx skills add microsoft/skills。根据向导选择此技能;README 说明技能会安装到所选 Agent 的目录,例如 .github/skills/。项目依赖安装命令为:pip install azure-search-documents azure-identity。源材料没有说明如何通过 npx 只安装该单个技能。
如何使用
让 Agent 处理包含“azure-search-documents”“SearchClient”“SearchIndexClient”“vector search”“hybrid search”或“semantic search”的 Python 开发任务。例如:"使用 azure-search-documents 为 Azure AI Search 创建带 HNSW 向量字段的索引,并实现混合搜索;使用 DefaultAzureCredential 和上下文管理器。" 使用前设置 AZURE_SEARCH_ENDPOINT 和 AZURE_SEARCH_INDEX_NAME;生产环境使用 DefaultAzureCredential 时设置 AZURE_TOKEN_CREDENTIALS=prod。