Azure Document Intelligence自定义模型无法识别(JavaScript SDK)求助
问题排查:自定义训练模型无法被JavaScript SDK识别及调用失败
核心问题分析
你遇到的The requested model was not found错误,以及listDocumentModels仅返回预构建模型的情况,大概率是资源匹配错误或调用参数误用导致的,以下是具体排查和修复步骤:
1. 确认资源区域与模型归属一致
- 自定义训练的模型必须和代码中使用的
endpoint、key属于同一个Azure文档智能资源实例。如果模型是在A区域的资源下训练的,代码却用了B区域的endpoint,系统会找不到你的自定义模型。 - 去Azure门户找到你训练模型的资源,复制其对应的
endpoint和key,替换代码中的对应值。
2. 检查模型状态与权限
- 自定义模型训练完成后需处于**Ready(可用)**状态,未完成、失败或已删除的模型不会被列出。在Azure门户的文档智能资源中,进入「自定义模型」页面查看目标模型的状态。
- 确认你使用的API密钥拥有模型读取和调用权限,避免使用仅限制访问预构建模型的密钥(部分场景下可能会生成受限密钥)。
3. 修正模型调用的参数错误
你当前调用beginAnalyzeDocumentFromUrl时传入的"All"是预构建通用模型的标识符,不是自定义模型的ID,这会导致系统尝试调用预构建模型而非你自己训练的模型。
正确的调用方式是替换为你的自定义模型ID:
const poller = await client.beginAnalyzeDocumentFromUrl( "your-custom-model-id", // 替换为你实际的自定义模型ID downloadUrl );
4. 简化模型列表查询逻辑排查
你当前的代码在遍历模型时额外调用了getDocumentModel,如果自定义模型因权限/区域问题无法获取详情,可能会被忽略。可以先简化代码直接打印所有返回的模型摘要:
const document_model_admin_client = new DocumentModelAdministrationClient( endpoint, new AzureKeyCredential(key) ); for await (const summary of document_model_admin_client.listDocumentModels()) { console.log("模型ID:", summary.modelId, "描述:", summary.description); }
如果这段代码仍未输出你的自定义模型,说明资源凭据或区域不匹配,回到第一步重新确认。
内容的提问来源于stack exchange,提问作者Captai-N
相关产品推荐
相关产品推荐

