Доступ к Dialogflow API в Python - PullRequest
1 голос
/ 15 апреля 2019

Я изучаю следующий учебник, чтобы понять API-интерфейс Python Dialogflow.

Вот как выглядит моя адаптация:

import dialogflow_v2 as dialogflow
import json
from google.api_core.exceptions import InvalidArgument
from google.oauth2 import service_account

dialogflow_key = json.load(open(r'path_to_json_file.json'))
credentials = (service_account.Credentials.from_service_account_info(dialogflow_key))
session_client = dialogflow.SessionsClient(credentials=credentials)


DIALOGFLOW_LANGUAGE_CODE = 'en-US'
DIALOGFLOW_PROJECT_ID = 'some_project_id'
SESSION_ID = 'current-user-id'
session = session_client.session_path(DIALOGFLOW_PROJECT_ID, SESSION_ID)

text_to_be_analyzed =  "mobile data"
text_input = dialogflow.types.TextInput(text=text_to_be_analyzed, language_code=DIALOGFLOW_LANGUAGE_CODE)
query_input = dialogflow.types.QueryInput(text=text_input)
try:
    response = session_client.detect_intent(session=session, query_input=query_input)
except InvalidArgument:
    raise

print("Query text:", response.query_result.query_text)
print("Detected intent:", response.query_result.intent.display_name)
print("Detected intent confidence:", response.query_result.intent_detection_confidence)
print("Fulfillment text:", response.query_result.fulfillment_text)

Вот что выводит программа:

Query text: mobile data
Detected intent: support.problem
Detected intent confidence: 0.41999998688697815
Fulfillment text: Make sure mobile data is enabled and Wi-Fi is turned off.

Теперь мое намерение support.problem имеет намерение support.problem-yesгде клиент отвечает Done it и получает еще один ответ Let us try another step

Как передать текст / запрос для проверки намерения и как получить ответ в Python?

1 Ответ

1 голос
/ 15 апреля 2019

Объект response.query_result также должен содержать поле output_context, которое должно быть массивом объектов Context. Этот массив должен быть передан в query_parameters.context, который вы передаете в detect_intent().

Вы должны иметь возможность создать словарь с полями параметров запроса (включая одно для context), который вы передадите session_client.detect_intent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...