首页 > 解决方案 > curl 库的对话流意图检测响应缓慢

问题描述

我已经使用 libcurl 为基本的对话流场景实现了我的客户端代码。它按预期工作,但有一些延迟。我想知道是否有任何机构对下面讨论的这种性能有任何经验,如果你能提供帮助?

我在这里显示 curl 命令输出,它具有 starttransfer_time(2.4 s) 和 total time(3.5) 分别用于从远程接收第一个字节和总完成时间。(我看到使用 libcurl 的代码有类似的时间)

在这里,我正在发送在对话框流文档中提到的 json 文件中捕获的 base64 编码音频。

我的问题是为什么 google dialogflow API 需要将近一秒钟的时间来发送带有以下文本的响应,以及如何让它更好地运行。有没有我们可以在 curl 中设置的选项(我尝试将 CURLOPT_BUFFERSIZE 设置为 240k,我认为这已经足够了)或在 dialogflow 代理中快速获得响应?

bash-4.2$ curl -X POST -H "Content-Type: application/json; charset=utf-8"  -H "Authorization: Bearer xxx"  -d @req.json "https://dialogflow.googleapis.com/v2beta1/projects/project1/agent/sessions/e9a70529-bee2-bac4-6b08-4b22e221fc59:detectIntent" -w "\n%{time_connect}:%{time_starttransfer}:%{time_total}\n"
{
  "responseId": "9ead1d09-3276-4238-a42b-b9f12e6faa34-d5ae01f3",
  "queryResult": {
    "queryText": "hello",
    "speechRecognitionConfidence": 0.7617957,
    "action": "input.unknown",
    "parameters": {},
    "allRequiredParamsPresent": true,
    "fulfillmentText": "Can you say that again?",
    "fulfillmentMessages": [
      {
        "text": {
          "text": [
            "Can you say that again?"
          ]
        }
      }
    ],
    "intent": {
      "name": "projects/project1/agent/intents/d30bb8cc-0dd4-4d60-9511-d3ce387f2c22",
      "displayName": "Default Fallback Intent",
      "isFallback": true
    },
    "intentDetectionConfidence": 1,
    "languageCode": "en"
  }
}
0.101:2.488:3.351

标签: curldialogflow-eslibcurl

解决方案


推荐阅读