mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 16:50:39 +00:00
reset variables like hints so that previous hints do not automatically carry over (#243)
This commit is contained in:
@@ -7,6 +7,86 @@ const {
|
||||
DeepgramTranscriptionEvents,
|
||||
} = require('./constants');
|
||||
|
||||
const stickyVars = {
|
||||
google: [
|
||||
'GOOGLE_SPEECH_HINTS',
|
||||
'GOOGLE_SPEECH_SEPARATE_RECOGNITION_PER_CHANNEL',
|
||||
'GOOGLE_SPEECH_PROFANITY_FILTER',
|
||||
'GOOGLE_SPEECH_ENABLE_AUTOMATIC_PUNCTUATION',
|
||||
'GOOGLE_SPEECH_ENABLE_WORD_TIME_OFFSETS',
|
||||
'GOOGLE_SPEECH_SINGLE_UTTERANCE',
|
||||
'GOOGLE_SPEECH_SPEAKER_DIARIZATION',
|
||||
'GOOGLE_SPEECH_USE_ENHANCED',
|
||||
'GOOGLE_SPEECH_ALTERNATIVE_LANGUAGE_CODES',
|
||||
'GOOGLE_SPEECH_METADATA_INTERACTION_TYPE',
|
||||
'GOOGLE_SPEECH_METADATA_INDUSTRY_NAICS_CODE'
|
||||
],
|
||||
microsoft: [
|
||||
'AZURE_SPEECH_HINTS',
|
||||
'AZURE_SERVICE_ENDPOINT_ID',
|
||||
'AZURE_REQUEST_SNR',
|
||||
'AZURE_PROFANITY_OPTION',
|
||||
'AZURE_SERVICE_ENDPOINT',
|
||||
'AZURE_INITIAL_SPEECH_TIMEOUT_MS',
|
||||
'AZURE_USE_OUTPUT_FORMAT_DETAILED',
|
||||
],
|
||||
deepgram: [
|
||||
'DEEPGRAM_SPEECH_KEYWORDS',
|
||||
'DEEPGRAM_API_KEY',
|
||||
'DEEPGRAM_SPEECH_TIER',
|
||||
'DEEPGRAM_SPEECH_MODEL',
|
||||
'DEEPGRAM_SPEECH_ENABLE_AUTOMATIC_PUNCTUATION',
|
||||
'DEEPGRAM_SPEECH_PROFANITY_FILTER',
|
||||
'DEEPGRAM_SPEECH_REDACT',
|
||||
'DEEPGRAM_SPEECH_DIARIZE',
|
||||
'DEEPGRAM_SPEECH_NER',
|
||||
'DEEPGRAM_SPEECH_ALTERNATIVES',
|
||||
'DEEPGRAM_SPEECH_NUMERALS',
|
||||
'DEEPGRAM_SPEECH_SEARCH',
|
||||
'DEEPGRAM_SPEECH_REPLACE',
|
||||
'DEEPGRAM_SPEECH_ENDPOINTING',
|
||||
'DEEPGRAM_SPEECH_VAD_TURNOFF',
|
||||
'DEEPGRAM_SPEECH_TAG'
|
||||
],
|
||||
aws: [
|
||||
'AWS_VOCABULARY_NAME',
|
||||
'AWS_VOCABULARY_FILTER_METHOD',
|
||||
'AWS_VOCABULARY_FILTER_NAME'
|
||||
],
|
||||
nuance: [
|
||||
'NUANCE_ACCESS_TOKEN',
|
||||
'NUANCE_KRYPTON_ENDPOINT',
|
||||
'NUANCE_TOPIC',
|
||||
'NUANCE_UTTERANCE_DETECTION_MODE',
|
||||
'NUANCE_FILTER_PROFANITY',
|
||||
'NUANCE_INCLUDE_TOKENIZATION',
|
||||
'NUANCE_DISCARD_SPEAKER_ADAPTATION',
|
||||
'NUANCE_SUPPRESS_CALL_RECORDING',
|
||||
'NUANCE_MASK_LOAD_FAILURES',
|
||||
'NUANCE_SUPPRESS_INITIAL_CAPITALIZATION',
|
||||
'NUANCE_ALLOW_ZERO_BASE_LM_WEIGHT',
|
||||
'NUANCE_FILTER_WAKEUP_WORD',
|
||||
'NUANCE_NO_INPUT_TIMEOUT_MS',
|
||||
'NUANCE_RECOGNITION_TIMEOUT_MS',
|
||||
'NUANCE_UTTERANCE_END_SILENCE_MS',
|
||||
'NUANCE_MAX_HYPOTHESES',
|
||||
'NUANCE_SPEECH_DOMAIN',
|
||||
'NUANCE_FORMATTING',
|
||||
'NUANCE_RESOURCES'
|
||||
],
|
||||
ibm: [
|
||||
'IBM_ACCESS_TOKEN',
|
||||
'IBM_SPEECH_REGION',
|
||||
'IBM_SPEECH_INSTANCE_ID',
|
||||
'IBM_SPEECH_MODEL',
|
||||
'IBM_SPEECH_LANGUAGE_CUSTOMIZATION_ID',
|
||||
'IBM_SPEECH_ACOUSTIC_CUSTOMIZATION_ID',
|
||||
'IBM_SPEECH_BASE_MODEL_VERSION',
|
||||
'IBM_SPEECH_WATSON_METADATA',
|
||||
'IBM_SPEECH_WATSON_LEARNING_OPT_OUT'
|
||||
]
|
||||
};
|
||||
|
||||
const normalizeDeepgram = (evt, channel, language) => {
|
||||
const copy = JSON.parse(JSON.stringify(evt));
|
||||
const alternatives = (evt.channel?.alternatives || [])
|
||||
@@ -198,7 +278,7 @@ module.exports = (logger) => {
|
||||
{GOOGLE_SPEECH_ALTERNATIVE_LANGUAGE_CODES: rOpts.altLanguages.join(',')}),
|
||||
...(rOpts.interactionType &&
|
||||
{GOOGLE_SPEECH_METADATA_INTERACTION_TYPE: rOpts.interactionType}),
|
||||
...{GOOGLE_SPEECH_MODEL: rOpts.model || (task.name === TaskName.Gather ? 'command_and_search' : 'phone_call')},
|
||||
...{GOOGLE_SPEECH_MODEL: rOpts.model || (task.name === TaskName.Gather ? 'latest_short' : 'phone_call')},
|
||||
...(rOpts.naicsCode > 0 &&
|
||||
{GOOGLE_SPEECH_METADATA_INDUSTRY_NAICS_CODE: rOpts.naicsCode}),
|
||||
};
|
||||
@@ -333,7 +413,7 @@ module.exports = (logger) => {
|
||||
...(deepgramOptions.vadTurnoff) &&
|
||||
{DEEPGRAM_SPEECH_VAD_TURNOFF: deepgramOptions.vadTurnoff},
|
||||
...(deepgramOptions.tag) &&
|
||||
{DEEPGRAM_SPEECH_VAD_TURNOFF: deepgramOptions.tag}
|
||||
{DEEPGRAM_SPEECH_TAG: deepgramOptions.tag}
|
||||
};
|
||||
}
|
||||
else if ('ibm' === rOpts.vendor) {
|
||||
@@ -360,7 +440,9 @@ module.exports = (logger) => {
|
||||
{IBM_SPEECH_WATSON_LEARNING_OPT_OUT: ibmOptions.watsonLearningOptOut}
|
||||
};
|
||||
}
|
||||
|
||||
stickyVars[rOpts.vendor].forEach((key) => {
|
||||
if (!opts[key]) opts[key] = '';
|
||||
});
|
||||
logger.debug({opts}, 'recognizer channel vars');
|
||||
return opts;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user