Я отчаянно пытаюсь установить параметры в
dialogflow.types.EventInput
в питоне.
Это документ говорит о том, что параметры должны быть типа Struct
.
Я прочитал здесь , что параметры должны быть google.protobuf.Struct.
Но это не работает для меня.
Есть ли другой эквивалент типа Struct
в python?
Если я отправляю EventInput
без параметров, намерение определяется правильно.
Я пробовал это до сих пор:
import dialogflow_v2 as dialogflow
session_client = dialogflow.SessionsClient()
session = session_client.session_path(project_id, session_id)
parameters = struct_pb2.Struct()
parameters['given-name'] = 'Jeff'
parameters['last-name'] = 'Bridges'
event_input = dialogflow.types.EventInput(
name='greetPerson',
language_code='de',
parameters=parameters)
query_input = dialogflow.types.QueryInput(event=event_input)
response = session_client.detect_intent(
session=session, query_input=query_input)
Кто-нибудь имеет опыт использования этого варианта использования?
То, что я тоже пробовал:
Передача class
именованных значений p:
Параметр MergeFrom () должен быть экземпляром того же класса: ожидается
Структура получила р. для поля EventInput.parameters
Передайте диктовку:
parameters = {
'given-name': 'Jeff',
'last-name': 'Bridges'}
выходы:
Протокол сообщения Struct не имеет поля "имя-имени".
Создание структуры с помощью конструктора:
from google.protobuf.struct_pb2 import Struct, Value
parameters = Struct(fields={
'given-name':Value(string_value='Jeff'),
'last-name':Value(string_value='Bidges')
})
иногда дает:
Исключение в потоке ptvsd.stopping (скорее всего, возникает во время
отключение переводчика):
/ EventInput