update to provide hostport and model on the command line not via env (#465)

This commit is contained in:
Dave Horton
2023-09-13 13:53:00 -04:00
committed by GitHub
parent 6587b1f758
commit 6a8a2aa955
4 changed files with 32 additions and 15 deletions

View File

@@ -400,15 +400,22 @@ class TaskGather extends SttTask {
break; break;
case 'cobalt': case 'cobalt':
this.bugname = 'cobalt_speech'; this.bugname = 'cobalt_transcribe';
ep.addCustomEventListener(CobaltTranscriptionEvents.Transcription, this._onTranscription.bind(this, cs, ep)); ep.addCustomEventListener(CobaltTranscriptionEvents.Transcription, this._onTranscription.bind(this, cs, ep));
/* cobalt doesnt have language, it has model, which is required */
if (!this.data.recognizer.model) {
throw new Error('Cobalt requires a model to be specified');
}
this.language = this.data.recognizer.model;
/* special case: if using hints with cobalt we need to compile them */ /* special case: if using hints with cobalt we need to compile them */
this.hostport = opts.COBALT_SERVER_URI;
if (this.vendor === 'cobalt' && opts.COBALT_SPEECH_HINTS) { if (this.vendor === 'cobalt' && opts.COBALT_SPEECH_HINTS) {
try { try {
const context = await this.compileHintsForCobalt( const context = await this.compileHintsForCobalt(
ep, ep,
opts.COBALT_SERVER_URI, this.hostport,
this.data.recognizer.model, this.data.recognizer.model,
opts.COBALT_CONTEXT_TOKEN, opts.COBALT_CONTEXT_TOKEN,
opts.COBALT_SPEECH_HINTS opts.COBALT_SPEECH_HINTS
@@ -419,6 +426,7 @@ class TaskGather extends SttTask {
this.logger.error({err}, 'Error compiling hints for cobalt'); this.logger.error({err}, 'Error compiling hints for cobalt');
} }
} }
delete opts.COBALT_SERVER_URI;
break; break;
case 'ibm': case 'ibm':
@@ -480,6 +488,7 @@ class TaskGather extends SttTask {
locale: this.language, locale: this.language,
interim: this.interim, interim: this.interim,
bugname: this.bugname, bugname: this.bugname,
hostport: this.hostport,
}).catch((err) => { }).catch((err) => {
const {writeAlerts, AlertType} = this.cs.srf.locals; const {writeAlerts, AlertType} = this.cs.srf.locals;
this.logger.error(err, 'TaskGather:_startTranscribing error'); this.logger.error(err, 'TaskGather:_startTranscribing error');
@@ -729,16 +738,16 @@ class TaskGather extends SttTask {
_onJambonzConnect(_cs, _ep) { _onJambonzConnect(_cs, _ep) {
this.logger.debug('TaskGather:_onJambonzConnect'); this.logger.debug('TaskGather:_onJambonzConnect');
} }
async _onJambonzError(cs, _ep, evt) { async _onJambonzError(cs, ep, evt) {
this.logger.info({evt}, 'TaskGather:_onJambonzError'); this.logger.info({evt}, 'TaskGather:_onJambonzError');
if (this.isHandledByPrimaryProvider && this.fallbackVendor) { if (this.isHandledByPrimaryProvider && this.fallbackVendor) {
_ep.stopTranscription({vendor: this.vendor}) ep.stopTranscription({vendor: this.vendor})
.catch((err) => this.logger.error({err}, `Error stopping transcription for primary vendor ${this.vendor}`)); .catch((err) => this.logger.error({err}, `Error stopping transcription for primary vendor ${this.vendor}`));
const {updateSpeechCredentialLastUsed} = require('../utils/db-utils')(this.logger, cs.srf); const {updateSpeechCredentialLastUsed} = require('../utils/db-utils')(this.logger, cs.srf);
try { try {
await this._fallback(); await this._fallback();
await this._initSpeech(cs, _ep); await this._initSpeech(cs, ep);
this._startTranscribing(_ep); this._startTranscribing(ep);
updateSpeechCredentialLastUsed(this.sttCredentials.speech_credential_sid); updateSpeechCredentialLastUsed(this.sttCredentials.speech_credential_sid);
return; return;
} catch (error) { } catch (error) {

View File

@@ -230,7 +230,14 @@ class TaskTranscribe extends SttTask {
ep.addCustomEventListener(CobaltTranscriptionEvents.Transcription, ep.addCustomEventListener(CobaltTranscriptionEvents.Transcription,
this._onTranscription.bind(this, cs, ep, channel)); this._onTranscription.bind(this, cs, ep, channel));
/* cobalt doesnt have language, it has model, which is required */
if (!this.data.recognizer.model) {
throw new Error('Cobalt requires a model to be specified');
}
this.language = this.data.recognizer.model;
/* special case: if using hints with cobalt we need to compile them */ /* special case: if using hints with cobalt we need to compile them */
this.hostport = opts.COBALT_SERVER_URI;
if (this.vendor === 'cobalt' && opts.COBALT_SPEECH_HINTS) { if (this.vendor === 'cobalt' && opts.COBALT_SPEECH_HINTS) {
try { try {
const context = await this.compileHintsForCobalt( const context = await this.compileHintsForCobalt(
@@ -308,7 +315,8 @@ class TaskTranscribe extends SttTask {
interim: this.interim ? true : false, interim: this.interim ? true : false,
locale: this.language, locale: this.language,
channels: /*this.separateRecognitionPerChannel ? 2 : */ 1, channels: /*this.separateRecognitionPerChannel ? 2 : */ 1,
bugname: this.bugname bugname: this.bugname,
hostport: this.hostport
}); });
} }

14
package-lock.json generated
View File

@@ -30,7 +30,7 @@
"bent": "^7.3.12", "bent": "^7.3.12",
"debug": "^4.3.4", "debug": "^4.3.4",
"deepcopy": "^2.1.0", "deepcopy": "^2.1.0",
"drachtio-fsmrf": "^3.0.26", "drachtio-fsmrf": "^3.0.27",
"drachtio-srf": "^4.5.26", "drachtio-srf": "^4.5.26",
"express": "^4.18.2", "express": "^4.18.2",
"ip": "^1.1.8", "ip": "^1.1.8",
@@ -5152,9 +5152,9 @@
} }
}, },
"node_modules/drachtio-fsmrf": { "node_modules/drachtio-fsmrf": {
"version": "3.0.26", "version": "3.0.27",
"resolved": "https://registry.npmjs.org/drachtio-fsmrf/-/drachtio-fsmrf-3.0.26.tgz", "resolved": "https://registry.npmjs.org/drachtio-fsmrf/-/drachtio-fsmrf-3.0.27.tgz",
"integrity": "sha512-QoXa+lQ6j7NIIVhWq/oL5qHl/RokaxixJ7IhuuYmfCU+LsGdjFqPib8JEsieCXcp2qF98lOrEytJ5RESvWQGYQ==", "integrity": "sha512-k5jwc6RpiSoasKEMq0ROxXVga+yaMplujNUKjAidKjheso+PijdQtjEwNANl0F+JyTBELaRe81PEgeRHuAdv1w==",
"dependencies": { "dependencies": {
"camel-case": "^4.1.2", "camel-case": "^4.1.2",
"debug": "^2.6.9", "debug": "^2.6.9",
@@ -14610,9 +14610,9 @@
} }
}, },
"drachtio-fsmrf": { "drachtio-fsmrf": {
"version": "3.0.26", "version": "3.0.27",
"resolved": "https://registry.npmjs.org/drachtio-fsmrf/-/drachtio-fsmrf-3.0.26.tgz", "resolved": "https://registry.npmjs.org/drachtio-fsmrf/-/drachtio-fsmrf-3.0.27.tgz",
"integrity": "sha512-QoXa+lQ6j7NIIVhWq/oL5qHl/RokaxixJ7IhuuYmfCU+LsGdjFqPib8JEsieCXcp2qF98lOrEytJ5RESvWQGYQ==", "integrity": "sha512-k5jwc6RpiSoasKEMq0ROxXVga+yaMplujNUKjAidKjheso+PijdQtjEwNANl0F+JyTBELaRe81PEgeRHuAdv1w==",
"requires": { "requires": {
"camel-case": "^4.1.2", "camel-case": "^4.1.2",
"debug": "^2.6.9", "debug": "^2.6.9",

View File

@@ -46,7 +46,7 @@
"bent": "^7.3.12", "bent": "^7.3.12",
"debug": "^4.3.4", "debug": "^4.3.4",
"deepcopy": "^2.1.0", "deepcopy": "^2.1.0",
"drachtio-fsmrf": "^3.0.26", "drachtio-fsmrf": "^3.0.27",
"drachtio-srf": "^4.5.26", "drachtio-srf": "^4.5.26",
"express": "^4.18.2", "express": "^4.18.2",
"ip": "^1.1.8", "ip": "^1.1.8",