Я реализовал свой клиентский код с использованием libcurl для базового сценария диалога. Работает как положено, но с некоторой задержкой. Я хочу знать, есть ли у какого-либо тела какой-либо опыт в отношении производительности, описанной ниже, и можете ли вы помочь?
Я показываю здесь вывод команды curl, который имеет starttransfer_time (2,4 с) и общее время (3,5)которые предназначены для получения первого байта от удаленного устройства и общего времени завершения соответственно. (Я вижу похожую синхронизацию с кодом, использующим libcurl)
здесь я отправляю закодированное в base64 аудио, захваченное в файл json, как упомянуто в документах диалогового потока.
мой вопрос, почему диалог диалога GoogleAPI занимает почти секунду, чтобы просто отправить ответ со следующим текстом и как сделать его лучше со временем. Есть ли какие-либо параметры, которые мы можем установить в curl (я пытался установить CURLOPT_BUFFERSIZE в 240k, что более чем достаточно, я думаю) или в агенте диалогового потока, чтобы быстро получить ответ?
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