mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-19 04:17:44 +00:00
Fix/flux cleanup (#1379)
* for deepgram flux include the turn taking events in the transcription payload * for deepgram flux, including turn_taking_event in the speech payload * fix prev commit which used wrong field
This commit is contained in:
@@ -339,16 +339,28 @@ const normalizeDeepgram = (evt, channel, language, shortUtterance) => {
|
||||
};
|
||||
};
|
||||
|
||||
const normalizeDeepgramFlux = (evt, channel, language, shortUtterance) => {
|
||||
const normalizeDeepgramFlux = (evt, channel, language) => {
|
||||
const copy = JSON.parse(JSON.stringify(evt));
|
||||
|
||||
let turnTakingEvent;
|
||||
if (['StartOfTurn', 'EagerEndOfTurn', 'TurnResumed', 'EndOfTurn'].includes(evt.event)) {
|
||||
turnTakingEvent = evt.event;
|
||||
}
|
||||
|
||||
/* calculate total confidence based on word-level confidence */
|
||||
const realWords = (evt.words || [])
|
||||
.filter((w) => ![',.!?;'].includes(w.word));
|
||||
const confidence = realWords.length > 0 ? realWords.reduce((acc, w) => acc + w.confidence, 0) / realWords.length : 0;
|
||||
return {
|
||||
language_code: language,
|
||||
channel_tag: channel,
|
||||
is_final: evt.event === 'EndOfTurn',
|
||||
alternatives: [
|
||||
{
|
||||
confidence: evt.end_of_turn_confidence,
|
||||
confidence,
|
||||
end_of_turn_confidence: evt.end_of_turn_confidence,
|
||||
transcript: evt.transcript,
|
||||
...(turnTakingEvent && {turn_taking_event: turnTakingEvent})
|
||||
}
|
||||
],
|
||||
vendor: {
|
||||
@@ -967,7 +979,6 @@ module.exports = (logger) => {
|
||||
}
|
||||
else if ('deepgramflux' === vendor) {
|
||||
const {
|
||||
preflightThreshold,
|
||||
eotThreshold,
|
||||
eotTimeoutMs,
|
||||
mipOptOut,
|
||||
@@ -978,7 +989,6 @@ module.exports = (logger) => {
|
||||
opts = {
|
||||
DEEPGRAMFLUX_API_KEY: sttCredentials.api_key,
|
||||
DEEPGRAMFLUX_SPEECH_MODEL: model || 'flux-general-en',
|
||||
...(preflightThreshold && {DEEPGRAMFLUX_SPEECH_PRELIGHT_THRESHOLD: preflightThreshold}),
|
||||
...(eotThreshold && {DEEPGRAMFLUX_SPEECH_EOT_THRESHOLD: eotThreshold}),
|
||||
...(eotTimeoutMs && {DEEPGRAMFLUX_SPEECH_EOT_TIMEOUT_MS: eotTimeoutMs}),
|
||||
...(mipOptOut && {DEEPGRAMFLUX_SPEECH_MIP_OPT_OUT: mipOptOut}),
|
||||
|
||||
Reference in New Issue
Block a user