J'essaie désespérément de définir des paramètres dans une
dialogflow.types.EventInput
en python.
Este doc indique que les paramètres doivent être de type Struct
.
Je lis aquí que les paramètres doivent être un google.protobuf.Struct. Mais cela ne fonctionne pas pour moi.
Y a-t-il un autre Struct
équivalent en python ?
Si j'envoie le EventInput
sans paramètres, l'intention est détectée correctement.
J'ai essayé jusqu'à présent :
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)
Quelqu'un a-t-il une expérience de ce cas d'utilisation ?
Des choses que j'ai aussi essayées :
-
Passez un
class
nommé p rend :Le paramètre de MergeFrom() doit être une instance de la même classe : expected La structure a obtenu un p. pour le champ EventInput.parameters
-
Passez un dict :
parameters = { 'given-name': 'Jeff', 'last-name': 'Bridges'}
rendements :
Le message de protocole Struct n'a pas de champ "given-name".
-
Générer une structure avec un constructeur :
from google.protobuf.struct_pb2 import Struct, Value parameters = Struct(fields={ 'given-name':Value(string_value='Jeff'), 'last-name':Value(string_value='Bidges') })
donne parfois des résultats :
Exception dans le fil d'exécution ptvsd.stopping (probablement soulevée pendant l'arrêt de l'interpréteur) :
/EventInput