Dialogflow - создание Intent с входным контекстом через v2 API - PullRequest
2 голосов
/ 22 января 2020

Я работаю над сценарием, чтобы программно создать группу намерений. Я хочу установить входной контекст для этих намерений в значение c. У меня есть рабочий код, который создает полное намерение - но я не могу заставить работать параметр ввода контекста.

Это работает (в python), но не создает контекст ввода:

intents_client = dialogflow_v2beta1.IntentsClient.from_service_account_json(PROJECT_JSON)
parent = intents_client.project_agent_path(PROJECT_ID)
training_phrases = []
part1 = dialogflow_v2beta1.types.Intent.TrainingPhrase.Part(text="hello ")
parts = []
parts.append(part1)
training_phrase = dialogflow_v2beta1.types.Intent.TrainingPhrase(parts=parts)
training_phrases.append(training_phrase)
text = dialogflow_v2beta1.types.Intent.Message.Text(text=["say hello"])
message = dialogflow_v2beta1.types.Intent.Message(text=text)
messages = []
messages.append(message)

intent = dialogflow_v2beta1.types.Intent(
  display_name='Mike_Hello',
  training_phrases=training_phrases,
  messages=messages)
response = intents_client.create_intent(parent, intent, language_code=LANGUAGE)

Но, когда я добавляю в определение Intent следующее:

intent = dialogflow_v2beta1.types.Intent(
    display_name='Mike_Hello',
    input_context_names=['5000'],
    training_phrases=training_phrases,
    messages=messages)

(ie - добавление параметра input_context_names)

Создание намерения завершается неудачно с ошибка:

Имя ресурса не соответствует формату 'projects / {project_id} / agent / session / {session_id} / contexts / {context_id}'

Я пытался создание контекста с клиентом контекста и create_context, но он завершается с той же ошибкой. API create_context, мне кажется, больше связан с созданием контекста для ввода в detect_intent, так как ему нужен живой SESSION_ID в качестве ввода.

Я могу заменить ["5000"] в input_context выше на 'projects/PROJECT_ID/agent/sessions/-/contexts/5000', и я получаю ту же ошибку.

Ошибка? Или я что-то упустил?

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