在ASP.NET Core应用程序中,使用gRPC和用于对话流流的C#SDK检测ASP.NET Core应用程序中的意图,有时我无法收到完整的查询结果。我读过类似的SO问题,但有相同的问题,但这是由音频问题引起的,我不认为这是我的情况,因为此问题仅在每50个左右的呼叫中出现一次。我无法轻松地在控制台应用程序中复制该问题,因为无论何时尝试,我都不会遇到该错误。我已经启用了登录该应用程序的功能,该应用程序提供了一些帮助,但我也未在GCP控制台上收到任何API错误。
注意:我所有的意图都启用了Webhook。但是,对于有此错误的请求,Dialogflow历史记录没有该日志,因此,我的webhook后端也显然没有。最让我感到困惑的部分是,我确实获得了成绩单结果(因此转录工作正常),但是遇到此错误时却得不到 delete grades[i];
grades[i] = nullptr;
识别结果。
常规回复:
grades
导致响应的错误:
isFinal
我认为这不一定与我的实现有关,因为它在大多数情况下都能正常运行。但是,此行为可能是由网络错误引起的吗? gRPC中断了吗?
我已经附加了两个音频文件,第一个是有效的,第二个是无效的。可以这么说,它们具有相同的编码和声音,具有相同的质量/资格。
更新
我再次遇到该错误,并且在同时进行两个流检测意图调用时发生。所以我的问题是,一个{ \"recognitionResult\": { \"messageType\": \"TRANSCRIPT\", \"transcript\": \"yeah\" } }
{ \"recognitionResult\": { \"messageType\": \"TRANSCRIPT\", \"transcript\": \"yeah\" } }
{ \"recognitionResult\": { \"messageType\": \"END_OF_SINGLE_UTTERANCE\" } }
{ \"recognitionResult\": { \"messageType\": \"TRANSCRIPT\", \"transcript\": \"yeah\", \"isFinal\": true, \"confidence\": 0.891504765 } }
{ \"responseId\": \"...\", \"queryResult\": { \"queryText\": \"yeah\", \"parameters\": { }, \"allRequiredParamsPresent\": true, \"fulfillmentMessages\": [ { \"payload\": { ... } } ], \"intent\": { \"name\": \"...", \"displayName\": \"Yes_Intent\" }, \"intentDetectionConfidence\": 1, \"diagnosticInfo\": { \"webhook_latency_ms\": 100 }, \"languageCode\": \"en-au\" }, \"webhookStatus\": { \"message\": \"Webhook execution successful\" } }
可以处理并发gRPC响应流吗?