Как вызвать detectIntent, но с указанной средой (бета-функция), используя SDK Dialogflow nodejs (nodejs-диалоговый поток)?





Вы должны использовать dialogflow.v2beta1.SessionsClient и .environmentSessionPath вместо .sessionPath для создания сеанса, который отправляется на detectIntent
const client = new dialogflow.v2beta1.SessionsClient({});
const sessionPath = client.environmentSessionPath(project, environment, user, session);
// The text query request.
const request = {
session: sessionPath,
queryInput: {
text: {
text: 'hello'
}
}
};
Это шаблон для пути среды сеанса:
projects/{project}/agent/environments/{environment}/users/{user}/sessions/{session}
Вы можете прочитать код библиотеки относительно этого ответа на https://github.com/googleapis/nodejs-dialogflow/blob/master/src/v2beta1/sessions_client.js#L353
Дополнительная информация: https://dialogflow.com/docs/agents/versions-environments
Честно говоря, это нигде не задокументировано, я думаю, для будущего использования, где пользователи могут создавать среды. Так что прямо сейчас единственное возможное значение — -
как проверить этот метод? я должен сделать POST для API обнаруженияIntent ??
Так что "-" для пользователя является запасным вариантом на случай, если потребитель API сам не укажет пользователя. Это необязательный параметр, который вы можете установить самостоятельно: github.com/googleapis/nodejs-dialogflow/blob/master/src/v2beta1/….
Знаете ли вы, могу ли я определить sessionPath как с окружающей средой, так и с местоположением (europe-west1), на данный момент я вижу два разных метода .environmentSessionPath и .projectLocationAgentSessionPath, но ни один из них не делает оба параметра эффективными.
Спасибо, классный ответ! Еще один вопрос. Что такое "пользовательский" параметр? Я использовал строку «-», как в примере dialogflow.com/docs/agents/versions-environments, и это сработало.