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

Azure Cognitive Search中DocumentExtractionSkill索引器实现报错排查

Azure Cognitive Search知识挖掘技能输入无效问题排查与修复

问题现象

在Blob Storage存储PDF文件并搭建知识挖掘解决方案,已完成数据源、索引、技能集及索引器的创建,但索引器运行时出现警告:

Could not execute skill because one or more skill input was invalid.

代码中的关键错误点及修复方案

1. 技能集输出路径拼写错误

原技能集代码中,DocumentExtractionSkill的输出target_name写成了/documents/content,路径需与上下文/document保持一致,多余的s会导致技能输出无法被后续映射正确识别。

修复后的技能集代码片段:

doc_extraction_skill = DocumentExtractionSkill(
    name="documentExtractionSkill",
    description="Extract text from documents",
    context="/document",
    configuration={"imageAction": "generateNormalizedImagePerPage"},
    inputs=[InputFieldMappingEntry(name="file_data", source="/document/file_data")],
    # 修正target_name路径,去掉多余的s
    outputs=[OutputFieldMappingEntry(name="content", target_name="/document/content")]
)

2. 索引器未允许技能集读取文件数据

原索引器的indexing_parameters中,allowSkillsetToReadFileData被设置为False,但DocumentExtractionSkill需要读取/document/file_data来提取文档内容,该配置会直接导致技能无法获取输入数据。

修复后的索引器配置片段:

indexing_parameters = IndexingParameters(
    configuration={
        "indexStorageMetadataOnlyForOversizedDocuments": True,
        "failOnUnsupportedContentType": False,
        "indexedFileNameExtensions": ".pdf,.docx,.txt,.json",
        "parseJson": True,
        "parsingMode": "default",
        # 改为True,允许技能集读取文件数据
        "allowSkillsetToReadFileData": True
    }
)

3. 输出字段映射一致性确认

当前索引器的output_field_mappings中,源路径/document/content与修复后的技能集输出路径一致,无需修改:

output_field_mappings = [
    FieldMapping(source_field_name="/document/content", target_field_name= "content"),
]

验证步骤

  1. 删除已创建的技能集和索引器
  2. 使用修复后的代码重新创建技能集和索引器
  3. 手动触发索引器运行,检查运行状态是否正常、警告是否消失

内容的提问来源于stack exchange,提问作者karim Alameh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 14:32:10