Как передать параметры запроса в диалоговом потоке CX с помощью Python

Я использую библиотеку python и dialogflowcx v3beta1, я хочу передать параметры запроса для обнаружения функции намерения, но она показывает ошибку.

Я прочитал документ: https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3beta1/QueryParameters, но меня путает формат объекта формата Struct.

Как это должно быть пропущено в коде?

session_client = SessionsClient(client_options=client_options, credentials=credentials)
text_input = session.TextInput(text=message)
query_input = session.QueryInput(text=text_input, language_code=language_code)
query_params = {
        "parameters": {
            "param1": "value1"
        }
    }
request = session.DetectIntentRequest(
    session=session_path, query_input=query_input, query_params=query_params
)

Заранее спасибо.


person Arsenio Aguirre    schedule 25.01.2021    source источник


Ответы (2)


Решено. Я использовал следующий код.

text_input = session.TextInput(text=message)
query_input = session.QueryInput(text=text_input, language_code=language_code)
params = {
    "session_id": session_id
}
query_params = session.QueryParameters(parameters=params)
request = session.DetectIntentRequest(
    session=session_path, query_input=query_input, query_params=query_params
)
person Arsenio Aguirre    schedule 26.01.2021

У меня такая же проблема с диалоговым потоком nodejs api. Не могли бы вы предоставить образец данных в формате JSON для queryParams? Поскольку объект QueryParameters не может быть найден в пакете sdk nodejs v3.

Мой новый вопрос здесь

var mapParameters = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);

 const request = {
    session: sessionPath,
    
    "queryInput": {
      
      "text": {
        "text": query,
      },
      languageCode,
    },

    'queryParams': {
      'timeZone': 'America/Los_Angeles',
      'parameters': {
        "fields":mapParameters
      }
    },

 };


const [response] = await client.detectIntent(request);

Я тоже пробовал это, но не сработало.

 const request = {
    session: sessionPath,
    
    "queryInput": {
      
      "text": {
        "text": query,
      },
      languageCode,
    },

    'queryParams': {
      'timeZone': 'America/Los_Angeles',
      'parameters': {
       "p1":"p1 value"
      }
    },

 };
person Henry Hao    schedule 23.02.2021