在Dialogflow中触发意图?(使用V2 API)

Kar*_*ath 5 dialogflow-es

如何在Dialogflow中触发意图?我需要在没有用户响应的情况下触发意图。我知道我们需要在这里调用事件,但是不知道如何在V2 API中执行相同的操作?

Nik*_*iya -1

您从对话框流触发事件,这很容易detectIntent

const dialogflow = require('dialogflow');
const config = require('../config');
// Import the JSON to gRPC struct converter

const credentials = {
    client_email: config.GOOGLE_CLIENT_EMAIL,
    private_key: config.GOOGLE_PRIVATE_KEY,
};

const sessionClient = new dialogflow.SessionsClient(
    {
        projectId: config.GOOGLE_PROJECT_ID,
        credentials
    }
);


module.exports = {

    async sendEventToDialogFlow(event, params = {}) {
        const sessionPath = sessionClient.sessionPath(config.GOOGLE_PROJECT_ID, sessionId);
        const request = {
            session: sessionPath,
            queryInput: {
                event: {
                    name: event,
                    languageCode: config.DF_LANGUAGE_CODE,
                },
            }
        };
        const responses = await sessionClient.detectIntent(request);
        return responses[0].queryResult;
    }

}
Run Code Online (Sandbox Code Playgroud)

  • 我同意你的观点,但如果你需要使用对话流模块从后端触发事件,就是这样,OP不要求休息API调用 (2认同)