mirror of
https://github.com/open-webui/open-webui
synced 2025-06-26 18:26:48 +00:00
refac: tts details tags
This commit is contained in:
parent
55a6fae9db
commit
dd8e742c2d
@ -49,7 +49,8 @@
|
|||||||
sleep,
|
sleep,
|
||||||
removeDetails,
|
removeDetails,
|
||||||
getPromptVariables,
|
getPromptVariables,
|
||||||
processDetails
|
processDetails,
|
||||||
|
removeAllDetails
|
||||||
} from '$lib/utils';
|
} from '$lib/utils';
|
||||||
|
|
||||||
import { generateChatCompletion } from '$lib/apis/ollama';
|
import { generateChatCompletion } from '$lib/apis/ollama';
|
||||||
@ -1172,7 +1173,7 @@
|
|||||||
|
|
||||||
// Emit chat event for TTS
|
// Emit chat event for TTS
|
||||||
const messageContentParts = getMessageContentParts(
|
const messageContentParts = getMessageContentParts(
|
||||||
message.content,
|
removeAllDetails(message.content),
|
||||||
$config?.audio?.tts?.split_on ?? 'punctuation'
|
$config?.audio?.tts?.split_on ?? 'punctuation'
|
||||||
);
|
);
|
||||||
messageContentParts.pop();
|
messageContentParts.pop();
|
||||||
@ -1206,7 +1207,7 @@
|
|||||||
|
|
||||||
// Emit chat event for TTS
|
// Emit chat event for TTS
|
||||||
const messageContentParts = getMessageContentParts(
|
const messageContentParts = getMessageContentParts(
|
||||||
message.content,
|
removeAllDetails(message.content),
|
||||||
$config?.audio?.tts?.split_on ?? 'punctuation'
|
$config?.audio?.tts?.split_on ?? 'punctuation'
|
||||||
);
|
);
|
||||||
messageContentParts.pop();
|
messageContentParts.pop();
|
||||||
@ -1253,9 +1254,10 @@
|
|||||||
|
|
||||||
// Emit chat event for TTS
|
// Emit chat event for TTS
|
||||||
let lastMessageContentPart =
|
let lastMessageContentPart =
|
||||||
getMessageContentParts(message.content, $config?.audio?.tts?.split_on ?? 'punctuation')?.at(
|
getMessageContentParts(
|
||||||
-1
|
removeAllDetails(message.content),
|
||||||
) ?? '';
|
$config?.audio?.tts?.split_on ?? 'punctuation'
|
||||||
|
)?.at(-1) ?? '';
|
||||||
if (lastMessageContentPart) {
|
if (lastMessageContentPart) {
|
||||||
eventTarget.dispatchEvent(
|
eventTarget.dispatchEvent(
|
||||||
new CustomEvent('chat', {
|
new CustomEvent('chat', {
|
||||||
|
@ -212,6 +212,8 @@
|
|||||||
|
|
||||||
speaking = true;
|
speaking = true;
|
||||||
|
|
||||||
|
const content = removeAllDetails(content);
|
||||||
|
|
||||||
if ($config.audio.tts.engine === '') {
|
if ($config.audio.tts.engine === '') {
|
||||||
let voices = [];
|
let voices = [];
|
||||||
const getVoicesLoop = setInterval(() => {
|
const getVoicesLoop = setInterval(() => {
|
||||||
@ -228,7 +230,7 @@
|
|||||||
|
|
||||||
console.log(voice);
|
console.log(voice);
|
||||||
|
|
||||||
const speak = new SpeechSynthesisUtterance(message.content);
|
const speak = new SpeechSynthesisUtterance(content);
|
||||||
speak.rate = $settings.audio?.tts?.playbackRate ?? 1;
|
speak.rate = $settings.audio?.tts?.playbackRate ?? 1;
|
||||||
|
|
||||||
console.log(speak);
|
console.log(speak);
|
||||||
@ -251,7 +253,7 @@
|
|||||||
loadingSpeech = true;
|
loadingSpeech = true;
|
||||||
|
|
||||||
const messageContentParts: string[] = getMessageContentParts(
|
const messageContentParts: string[] = getMessageContentParts(
|
||||||
message.content,
|
content,
|
||||||
$config?.audio?.tts?.split_on ?? 'punctuation'
|
$config?.audio?.tts?.split_on ?? 'punctuation'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -867,11 +867,10 @@ export const extractSentencesForAudio = (text: string) => {
|
|||||||
}, [] as string[]);
|
}, [] as string[]);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getMessageContentParts = (content: string, split_on: string = 'punctuation') => {
|
export const getMessageContentParts = (content: string, splitOn: string = 'punctuation') => {
|
||||||
content = removeDetails(content, ['reasoning', 'code_interpreter', 'tool_calls']);
|
|
||||||
const messageContentParts: string[] = [];
|
const messageContentParts: string[] = [];
|
||||||
|
|
||||||
switch (split_on) {
|
switch (splitOn) {
|
||||||
default:
|
default:
|
||||||
case TTS_RESPONSE_SPLIT.PUNCTUATION:
|
case TTS_RESPONSE_SPLIT.PUNCTUATION:
|
||||||
messageContentParts.push(...extractSentencesForAudio(content));
|
messageContentParts.push(...extractSentencesForAudio(content));
|
||||||
|
Loading…
Reference in New Issue
Block a user