Я работаю над сценарием, чтобы программно создать группу намерений. Я хочу установить входной контекст для этих намерений в значение 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'
, и я получаю ту же ошибку.
Ошибка? Или я что-то упустил?