этот курс
аянно пытаюсь установить параметры в
dialogflow.types.EventInput
в питоне.
Этотдоктор говорит, что параметры должны быть типаStruct
.
Я читаюВот что параметры должны быть google.protobuf.Struct. Но это не работает для меня.
Есть другойStruct
эквивалент типа в питоне?
Если я отправлю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
named p дает:
Параметр MergeFrom () должен быть экземпляром того же класса: ожидаемый Struct получил p. для поля EventInput.parameters
Передать дикт:
parameters = {
'given-name': 'Jeff',
'last-name': 'Bridges'}
выходы:
Сообщение протокола Struct не имеет поля «имя-имя».
Создать 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