этот курс

аянно пытаюсь установить параметры в

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

Ответы на вопрос(1)

Ваш ответ на вопрос