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

如何使用Azure AI Search拆分技能集对Description字段进行分块?

使用Azure AI Search拆分技能集处理长Description字段

1. 创建拆分技能集

你需要创建一个拆分技能(SplitSkill),针对description字段进行分块处理,配置最大分块长度和重叠值。以下是技能集的JSON配置示例:

{
  "@odata.type": "#Microsoft.Skills.Text.SplitSkill",
  "name": "split-description-skill",
  "description": "拆分长Description字段为最大5000字符的块,保留重叠内容",
  "context": "/document",
  "defaultLanguageCode": "zh-Hans", // 根据文本语言调整,如英文用en-us
  "textSplitMode": "pages", // 按块拆分;若需按句子拆分可设为"sentences"
  "maximumPageLength": 5000, // 最大分块字符数
  "pageOverlapLength": 500, // 块间重叠字符数,可按需调整
  "inputs": [
    {
      "name": "text",
      "source": "/document/description"
    }
  ],
  "outputs": [
    {
      "name": "textItems",
      "targetName": "descriptionChunks"
    }
  ]
}

2. 更新索引字段

拆分后的结果是字符串数组,需在现有索引中添加一个类型为Collection(Edm.String)的字段,用于存储分块内容。示例字段配置:

{
  "name": "descriptionChunks",
  "type": "Collection(Edm.String)",
  "searchable": true,
  "filterable": false,
  "retrievable": true,
  "sortable": false,
  "facetable": false
}

3. 关联技能集到索引器

将拆分技能集添加到已有的索引器中,配置字段映射,确保拆分后的内容能写入索引对应字段。索引器的技能集配置部分示例:

{
  "name": "your-existing-indexer",
  "skillsetName": "your-split-skillset-name", // 对应你创建的拆分技能集名称
  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/descriptionChunks",
      "targetFieldName": "descriptionChunks"
    }
  ]
}

关键说明

  • pageOverlapLength:设置重叠字符是为了避免上下文断裂,建议根据文本内容调整(如500-1000字符),确保相邻块内容关联。
  • textSplitMode:若description是段落分明的结构化文本,用pages模式更合适;若是连续无分段文本,可考虑sentences模式,避免截断完整句子。
  • 语言代码:defaultLanguageCode需匹配文本语言,防止拆分时错误截断多字节字符(如中文)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 20:02:33