-
Notifications
You must be signed in to change notification settings - Fork 595
/
sessions.streaming_detect_intent.js
123 lines (113 loc) · 5.01 KB
/
sessions.streaming_detect_intent.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ** This file is automatically generated by gapic-generator-typescript. **
// ** https://github.com/googleapis/gapic-generator-typescript **
// ** All changes to this file may be overwritten. **
'use strict';
function main(session, queryInput) {
// [START dialogflow_v2_generated_Sessions_StreamingDetectIntent_async]
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* Required. The name of the session the query is sent to.
* Format of the session name:
* `projects/<Project ID>/agent/sessions/<Session ID>`, or
* `projects/<Project ID>/agent/environments/<Environment ID>/users/<User
* ID>/sessions/<Session ID>`. If `Environment ID` is not specified, we assume
* default 'draft' environment. If `User ID` is not specified, we are using
* "-". It's up to the API caller to choose an appropriate `Session ID` and
* `User Id`. They can be a random number or some type of user and session
* identifiers (preferably hashed). The length of the `Session ID` and
* `User ID` must not exceed 36 characters.
* For more information, see the API interactions
* guide (https://cloud.google.com/dialogflow/docs/api-overview).
* Note: Always use agent versions for production traffic.
* See Versions and
* environments (https://cloud.google.com/dialogflow/es/docs/agents-versions).
*/
// const session = 'abc123'
/**
* The parameters of this query.
*/
// const queryParams = {}
/**
* Required. The input specification. It can be set to:
* 1. an audio config which instructs the speech recognizer how to process
* the speech audio,
* 2. a conversational query in the form of text, or
* 3. an event that specifies which intent to trigger.
*/
// const queryInput = {}
/**
* Please use InputAudioConfig.single_utterance google.cloud.dialogflow.v2.InputAudioConfig.single_utterance instead.
* If `false` (default), recognition does not cease until
* the client closes the stream. If `true`, the recognizer will detect a
* single spoken utterance in input audio. Recognition ceases when it detects
* the audio's voice has stopped or paused. In this case, once a detected
* intent is received, the client should close the stream and start a new
* request with a new stream as needed.
* This setting is ignored when `query_input` is a piece of text or an event.
*/
// const singleUtterance = true
/**
* Instructs the speech synthesizer how to generate the output
* audio. If this field is not set and agent-level speech synthesizer is not
* configured, no output audio is generated.
*/
// const outputAudioConfig = {}
/**
* Mask for output_audio_config google.cloud.dialogflow.v2.StreamingDetectIntentRequest.output_audio_config indicating which settings in this
* request-level config should override speech synthesizer settings defined at
* agent-level.
* If unspecified or empty, output_audio_config google.cloud.dialogflow.v2.StreamingDetectIntentRequest.output_audio_config replaces the agent-level
* config in its entirety.
*/
// const outputAudioConfigMask = {}
/**
* The input audio content to be recognized. Must be sent if
* `query_input` was set to a streaming input audio config. The complete audio
* over all streaming messages must not exceed 1 minute.
*/
// const inputAudio = 'Buffer.from('string')'
// Imports the Dialogflow library
const {SessionsClient} = require('@google-cloud/dialogflow').v2;
// Instantiates a client
const dialogflowClient = new SessionsClient();
async function callStreamingDetectIntent() {
// Construct request
const request = {
session,
queryInput,
};
// Run request
const stream = await dialogflowClient.streamingDetectIntent();
stream.on('data', (response) => { console.log(response) });
stream.on('error', (err) => { throw(err) });
stream.on('end', () => { /* API call completed */ });
stream.write(request);
stream.end();
}
callStreamingDetectIntent();
// [END dialogflow_v2_generated_Sessions_StreamingDetectIntent_async]
}
process.on('unhandledRejection', err => {
console.error(err.message);
process.exitCode = 1;
});
main(...process.argv.slice(2));