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

Azure认知服务意图识别遇System.AccessViolationException问题求助

解决IntentRecognizer.ApplyLanguageModels触发System.AccessViolationException的问题

排查思路

  • 验证CLU模型参数准确性
    确认_languageEndpoint为完整HTTPS格式(如https://your-region.api.cognitive.microsoft.com/),无协议缺失或路径错误;_cluProjectName和_cluDeploymentName完全匹配Azure门户中的名称,注意大小写敏感。
  • 检查对象生命周期
    确保ConversationalLanguageUnderstandingModel和LanguageUnderstandingModelCollection在ApplyLanguageModels调用及后续识别过程中未被提前回收。若对象在局部作用域创建,可能被GC回收导致Native层访问无效内存。
  • 确认SDK与环境兼容性
    检查项目目标架构(x64/x86)与Azure Speech SDK的Native依赖匹配;清理NuGet缓存(删除%userprofile%\.nuget\packages\microsoft.cognitiveservices.speech)后重新安装SDK,排除缓存损坏问题。
  • 排查音频配置干扰
    暂时替换麦克风输入为文件流输入(如AudioConfig.FromWavFileInput("test.wav")),排除设备驱动或音频服务导致的底层内存冲突;确认SpeechConfig的区域与CLU模型区域一致,跨区域调用可能引发异常。

解决方案示例

调整对象生命周期

将CLU模型和集合的声明移至IntentRecognizer作用域外部,确保其生命周期覆盖识别器的整个使用过程:

var speechConfig = SpeechConfig.FromSubscription(_speechKey, _speechRegion);
speechConfig.SpeechRecognitionLanguage = "en-US";

using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();

// 提前声明模型集合,避免被提前GC回收
var cluModel = new ConversationalLanguageUnderstandingModel(
    _languageKey,
    _languageEndpoint,
    _cluProjectName,
    _cluDeploymentName);
var collection = new LanguageUnderstandingModelCollection();
collection.Add(cluModel);

using (var intentRecognizer = new IntentRecognizer(speechConfig, audioConfig))
{
    intentRecognizer.ApplyLanguageModels(collection);
    // 执行意图识别逻辑
    var result = await intentRecognizer.RecognizeOnceAsync();
    // 处理识别结果
}

启用Native日志定位深层问题

添加日志配置,获取Native SDK的详细操作记录,帮助定位内存访问异常的具体原因:

var speechConfig = SpeechConfig.FromSubscription(_speechKey, _speechRegion);
speechConfig.SpeechRecognitionLanguage = "en-US";
// 启用日志记录
speechConfig.SetProperty(PropertyId.Speech_LogFilename, @"C:\temp\speech-sdk.log");

using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
// 后续代码保持不变

版本回退测试

若更新SDK后问题仍存在,尝试回退至1.27.0等稳定版本,排除新版本Native组件的兼容性bug。

内容的提问来源于stack exchange,提问作者Robert Green MBA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 06:17:45