Azure AI Search新增SplitSkill与嵌入技能时技能集报错求助
排查Azure AI Search技能集报错(Unexpected properties found on Skill)
以下是针对你新增SplitSkill和AzureOpenAIEmbeddingSkill后出现的报错,具体的排查方向:
检查技能的核心属性拼写与类型
Azure AI Search内置技能有严格的格式要求,最常见的错误包括:- 遗漏
@odata.type的@符号,或者技能类型名称拼写错误:比如SplitSkill的正确类型是#Microsoft.Skills.Text.SplitSkill,AzureOpenAIEmbeddingSkill是#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill - 给技能添加了不支持的属性:比如给
SplitSkill传入modelName(这是嵌入技能的专属参数),或者给嵌入技能传入textSplitMode - 缺失必填参数:比如
SplitSkill必须指定textSplitMode和maximumPageLength;AzureOpenAIEmbeddingSkill必须配置resourceUri、apiKey、modelName
- 遗漏
验证输入输出的路径映射
确保技能的输入输出路径符合Azure Search的语法规范:- 输入路径必须以
/document/开头,比如MergeSkill整合后的字段路径是否正确传递给SplitSkill AzureOpenAIEmbeddingSkill的输入必须是单个字符串,若处理SplitSkill输出的数组型pages,需用/document/pages/*作为输入源来遍历每个分块
- 输入路径必须以
检查技能集JSON结构的合法性
确认所有技能都正确嵌套在skills数组内,没有层级错误或语法缺失:- 技能对象之间用逗号分隔,不要遗漏
- 不要将一个技能的属性误写入另一个技能的对象中
对比官方示例校验配置
可以将你的技能配置与官方标准示例逐一比对,排查差异:
SplitSkill标准示例:{ "@odata.type": "#Microsoft.Skills.Text.SplitSkill", "name": "split-skill", "context": "/document", "defaultLanguageCode": "zh-CN", "textSplitMode": "pages", "maximumPageLength": 1000, "inputs": [ { "name": "text", "source": "/document/mergedContent" } ], "outputs": [ { "name": "pages", "targetName": "pages" } ] }AzureOpenAIEmbeddingSkill标准示例:
{ "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill", "name": "embedding-skill", "context": "/document/pages/*", "resourceUri": "https://your-openai-resource.openai.azure.com/", "apiKey": "<your-api-key>", "modelName": "text-embedding-ada-002", "inputs": [ { "name": "text", "source": "/document/pages/*" } ], "outputs": [ { "name": "embedding", "targetName": "embedding" } ] }
内容的提问来源于stack exchange,提问作者aalimsha
相关产品推荐
相关产品推荐

