You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向Azure Search Indexer添加技能集出错,求解决方案及教程

问题解决与说明

错误原因与修复

你遇到的错误是因为AzureOpenAIEmbeddingSkill的输出名称使用错误,该技能的标准输出字段为embedding(单数形式),而非代码中的embeddings(复数)。

另外需要注意:SplitSkill的context设置为/document/reviews_text,因此它输出的pages完整路径是/document/reviews_text/pages,嵌入技能的输入source必须匹配这个路径,否则会找不到输入数据。

修正后的嵌入技能代码如下:

text_embedding_skill = AzureOpenAIEmbeddingSkill(
    name="embedding",
    description=None,
    inputs=[{"name": "text", "source": "/document/reviews_text/pages"}],
    outputs=[{"name": "embedding", "targetName": "embeddings"}],
    resource_uri="xxx",
    deployment_id="yyy",
    api_key="zzz",
)

关于索引与输出名称匹配的问题

是的,必须先创建搜索索引,且索引中需存在对应字段来存储嵌入结果:

  • 索引里要定义一个Edm.SingleCollection类型的字段(比如命名为embeddings),专门用于存储向量数据。
  • 创建索引器时,需要配置输出字段映射,将技能输出的路径(如/document/reviews_text/embeddings)关联到索引的对应字段。示例如下:
indexer = SearchIndexer(
    name="my-indexer",
    data_source_name="your-data-source-name",
    target_index_name="your-index-name",
    skillset_name="my-text-embedding-skillset",
    field_mappings=[
        # 其他业务字段映射
    ],
    output_field_mappings=[
        {"sourceFieldName": "/document/reviews_text/embeddings", "targetFieldName": "embeddings"}
    ]
)

推荐教程

  • 端到端认知搜索嵌入实践:覆盖从Blob/数据库等数据源提取文本、拆分处理、生成嵌入向量、存储到搜索索引的完整流程。
  • 认知搜索技能集核心指南:重点学习技能上下文路径、输入输出映射规则、索引字段配置逻辑等基础概念。
  • OpenAI嵌入技能专项教程:深入了解嵌入技能的参数配置、权限要求、性能优化等细节。

内容的提问来源于stack exchange,提问作者Mike B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:27:43