подключение VoiceBot диалогового потока к номеру Twilio - PullRequest
1 голос
/ 24 мая 2019

Я новичок в диалоге, а также Twilio. Я пытаюсь подключить своего бота диалогового потока к номеру Twilio. Я получил номер twilio, и я использую набор намерений в диалоге с диалогом.

Каковы действия по подключению бота диалогового потока (голосового) к номеру twilio с голосом (не смс или обмен сообщениями в чате)?

На стороне Twilio я нашел этот код из колбы импортная колба из twilio.twiml.voice_response import Gather, Redirect, VoiceResponse, Say приложение = колба ( имя )

@app.route("/answer", methods=['GET', 'POST'])
def answer_call():
    """Respond to incoming phone calls with a brief message."""
    # Start our TwiML response
    response = VoiceResponse()

    # Read a message aloud to the caller

    gather = Gather(input='speech',action='some_url')
    gather.say('Welcome to Paradise, please tell us why you\'re calling')
    response.append(gather)

    return str(response)

if __name__ == "__main__":
    app.run(debug=True)

1) Я понял, что должен поместить URL моего бота диалогового потока в аргумент действия. Я прав?

2) Если да, где я могу найти этот URL? Это связано с этим? => https://cloud.google.com/dialogflow-enterprise/docs/reference/rest/v2/projects.agent.sessions/detectIntent

3) Тогда каково будет название сеанса?

Я пытаюсь использовать поле справа «Попробуйте этот API»: но какую бы строку я ни написал, полученный вывод: "имя не соответствует шаблону: / ^ projects / [^ /] + / агент / сессий / [^ /] + / contexts / [^ /] + $ /"

Как уже упоминалось, я новичок, поэтому любые идеи по этому поводу будут с благодарностью! Заранее большое спасибо!

1 Ответ

2 голосов
/ 27 мая 2019

Разработчик Twilio здесь.

Я не работал с Dialogflow и Twilio Voice напрямую (я предпочитаю подключать голос с Twilio Autopilot , так как он работает "из коробки").Однако я знаю, что между Twilio Voice и Dialogflow нет прямой связи.

Вы на правильном пути, хотя.Использование <Gather> захватит речь пользователя и переведет ее в текст (фактически используя Google Cloud Speech API).Этот текст будет отправлен на ваш action URL как SpeechResult.Вы не можете подключить это напрямую к вашей конечной точке API Dialogflow, потому что Dialogflow будет ожидать, что параметр будет отличаться, и Twilio будет ожидать, что результат будет TwiML .

Вместо этого вы захотите настроитьконечную точку действия на вашем собственном сервере, извлеките SpeechResult и затем отправьте его в Dialogflow для получения результата.Возможно, вам будет проще взаимодействовать с Dialogflow API, установив Python-клиент Dialogflow и используя его для отправки запроса (см. Документацию здесь ).Получив результат обратно из Dialogflow, вы можете использовать его для создания TwiML для создания нового <Gather> для дальнейшего ввода или просто <Say> для возврата ответа.

Дайте мне знать, если это указывает на васв правильном направлении.

...