Azure Language文档摘要实现遇请求错误,求解决方案
Azure Language长文档摘要工具错误解决指南
一、批量分析接口格式错误(InvalidBody/InvalidRequest)解决
批量调用Azure Language服务时,请求体必须严格符合规范,核心要求如下:
- 必填字段不可缺:每个文档条目必须包含唯一的
id和有效的location参数,二者缺失任一都会触发格式错误 - Location参数正确配置:
location必须是Blob存储中文件的SAS URL,而非容器或存储账户地址。生成SAS时需确保:- 授予读取权限(r)
- 有效期覆盖请求处理时长
- URL格式示例:
https://<存储账户名>.blob.core.windows.net/<容器名>/<文件名>?<SAS签名参数>
- 标准请求体示例:
{ "documents": [ { "id": "doc_001", "location": "https://yourstorageaccount.blob.core.windows.net/documents/long-report.pdf?sv=2023-11-03&ss=b&srt=o&sp=r&se=2024-12-31T23:59:59Z&st=2024-01-01T00:00:00Z&spr=https&sig=xxxxxx" } ], "tasks": { "extractiveSummarizationTasks": [ { "parameters": { "sentenceCount": 5 } } ] } }
二、长文件Payload超限(InvalidDocumentBatch)解决
当直接传入文本内容触发125000字符限制时,除了改用Blob批量接口,还可通过以下方式优化:
- 文档分段处理:将长文档按段落、章节拆分,每段控制在125000字符以内,用TextAnalyticsClient批量处理后合并摘要结果
- 借助Document Intelligence预处理:用Document Intelligence的Layout API提取文本并自动分段,再将分段内容传入Language服务,减少手动拆分的工作量
- 控制请求体大小:即使使用Blob存储,请求体的元数据(如文档id列表、任务参数)也需控制在合理范围,避免整体Payload超出限制
三、快速排查步骤
- 验证SAS URL:直接在浏览器中访问该URL,确认能正常下载文件,若无法访问则说明权限或格式有误
- 校验请求体结构:用JSON校验工具检查格式是否符合Azure Language服务规范,确保无字段遗漏或格式错误
- 查看服务日志:在Azure门户的Language服务“日志”面板中查看错误详情,获取更精准的字段错误提示
内容的提问来源于stack exchange,提问作者Michael Ayoub
相关产品推荐
相关产品推荐

