DialogFlow 检测意图卡住了
DialogFlow Detect Intent stuck
我正在尝试从通过 Messenger 发送的短信中检测意图。如果我从官方 PHP DialogFlow 库 google-cloud-php-dialogflow
调用方法 detectIntent
,代码会以某种方式“卡住”,我再也无法取回控制权:
<?php
$sessionsClient = new SessionsClient();
try {
$logger->info('try');
$formattedSession = $sessionsClient->sessionName(getenv('GCP_PROJECT_ID'), '123456');
$textInput = new TextInput();
$textInput->setText($message);
$textInput->setLanguageCode('it-IT');
$queryInput = new QueryInput();
$queryInput->setText($textInput);
$dfResponse = $sessionsClient->detectIntent($formattedSession, $queryInput);
} catch (Exception $e) {
$logger->info('catch');
$logger->info($e->getMessage());
} finally {
$logger->info('finally');
$sessionsClient->close();
}
$logger->info('after');
此代码记录:
try
finally
之后再也不打印了。我究竟做错了什么?非常感谢。
启用 gRPC PHP 扩展似乎解决了问题:
FROM php:7-fpm
RUN apt-get update -q -q && apt-get install -y zlib1g-dev \
&& pecl install grpc \
&& docker-php-ext-enable grpc
我认为文档应该更清楚地说明这一点,而不是声明仅对流检测(音频)是必需的。
我正在尝试从通过 Messenger 发送的短信中检测意图。如果我从官方 PHP DialogFlow 库 google-cloud-php-dialogflow
调用方法 detectIntent
,代码会以某种方式“卡住”,我再也无法取回控制权:
<?php
$sessionsClient = new SessionsClient();
try {
$logger->info('try');
$formattedSession = $sessionsClient->sessionName(getenv('GCP_PROJECT_ID'), '123456');
$textInput = new TextInput();
$textInput->setText($message);
$textInput->setLanguageCode('it-IT');
$queryInput = new QueryInput();
$queryInput->setText($textInput);
$dfResponse = $sessionsClient->detectIntent($formattedSession, $queryInput);
} catch (Exception $e) {
$logger->info('catch');
$logger->info($e->getMessage());
} finally {
$logger->info('finally');
$sessionsClient->close();
}
$logger->info('after');
此代码记录:
try
finally
之后再也不打印了。我究竟做错了什么?非常感谢。
启用 gRPC PHP 扩展似乎解决了问题:
FROM php:7-fpm
RUN apt-get update -q -q && apt-get install -y zlib1g-dev \
&& pecl install grpc \
&& docker-php-ext-enable grpc
我认为文档应该更清楚地说明这一点,而不是声明仅对流检测(音频)是必需的。