|
import { LanguageMap } from "@/common/constant"; |
|
|
|
export const voiceNameMap: LanguageMap = { |
|
"zh-CN": { |
|
azure: { |
|
male: "zh-CN-YunxiNeural", |
|
female: "zh-CN-XiaoxiaoNeural", |
|
}, |
|
elevenlabs: { |
|
male: "pNInz6obpgDQGcFmaJgB", |
|
female: "Xb7hH8MSUJpSbSDYk0k2", |
|
}, |
|
polly: { |
|
male: "Zhiyu", |
|
female: "Zhiyu", |
|
langCode: "cmn-CN", |
|
langEngine: "neural" |
|
}, |
|
openai: { |
|
male: "ash", |
|
female: "shimmer" |
|
} |
|
}, |
|
"en-US": { |
|
azure: { |
|
male: "en-US-AndrewMultilingualNeural", |
|
female: "en-US-AvaMultilingualNeural", |
|
}, |
|
elevenlabs: { |
|
male: "pNInz6obpgDQGcFmaJgB", |
|
female: "Xb7hH8MSUJpSbSDYk0k2", |
|
}, |
|
polly: { |
|
male: "Matthew", |
|
female: "Ruth", |
|
langCode: "en-US", |
|
langEngine: "generative" |
|
}, |
|
openai: { |
|
male: "ash", |
|
female: "shimmer" |
|
} |
|
}, |
|
"ja-JP": { |
|
azure: { |
|
male: "ja-JP-KeitaNeural", |
|
female: "ja-JP-NanamiNeural", |
|
}, |
|
openai: { |
|
male: "ash", |
|
female: "shimmer" |
|
} |
|
}, |
|
"ko-KR": { |
|
azure: { |
|
male: "ko-KR-InJoonNeural", |
|
female: "ko-KR-JiMinNeural", |
|
}, |
|
openai: { |
|
male: "ash", |
|
female: "shimmer" |
|
} |
|
}, |
|
}; |
|
|
|
|
|
|
|
export const getGraphProperties = ( |
|
graphName: string, |
|
language: string, |
|
voiceType: string, |
|
prompt: string | undefined, |
|
greeting: string | undefined |
|
) => { |
|
let localizationOptions = { |
|
"greeting": "Hey, I\'m TEN Agent, I can speak, see, and reason from a knowledge base, ask me anything!", |
|
"checking_vision_text_items": "[\"Let me take a look...\",\"Let me check your camera...\",\"Please wait for a second...\"]", |
|
"coze_greeting": "Hey, I'm Coze Bot, I can chat with you, ask me anything!", |
|
} |
|
|
|
if (language === "zh-CN") { |
|
localizationOptions = { |
|
"greeting": "嗨,我是 TEN Agent,我可以说话、看东西,还能从知识库中推理,问我任何问题吧!", |
|
"checking_vision_text_items": "[\"让我看看你的摄像头...\",\"让我看一下...\",\"我看一下,请稍候...\"]", |
|
"coze_greeting": "嗨,我是扣子机器人,我可以和你聊天,问我任何问题吧!", |
|
} |
|
} else if (language === "ja-JP") { |
|
localizationOptions = { |
|
"greeting": "こんにちは、TEN Agentです。私は話したり、見たり、知識ベースから推論したりできます。何でも聞いてください!", |
|
"checking_vision_text_items": "[\"ちょっと見てみます...\",\"カメラをチェックします...\",\"少々お待ちください...\"]", |
|
"coze_greeting": "こんにちは、私はCoze Botです。お話しできますので、何でも聞いてください!", |
|
} |
|
} else if (language === "ko-KR") { |
|
localizationOptions = { |
|
"greeting": "안녕하세요, 저는 TEN Agent입니다. 말하고, 보고, 지식 베이스에서 추론할 수 있어요. 무엇이든 물어보세요!", |
|
"checking_vision_text_items": "[\"조금만 기다려 주세요...\",\"카메라를 확인해 보겠습니다...\",\"잠시만 기다려 주세요...\"]", |
|
"coze_greeting": "안녕하세요, 저는 Coze Bot입니다. 대화할 수 있어요. 무엇이든 물어보세요!", |
|
} |
|
} |
|
|
|
let combined_greeting = greeting || localizationOptions["greeting"]; |
|
|
|
if (graphName == "camera_va_openai_azure") { |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"llm": { |
|
"prompt": prompt, |
|
"greeting": combined_greeting, |
|
}, |
|
"tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} else if (graphName == "va_coze_azure") { |
|
combined_greeting = greeting || localizationOptions["coze_greeting"]; |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"coze_python_async": { |
|
"prompt": prompt, |
|
"greeting": combined_greeting, |
|
}, |
|
"tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} else if (graphName == "camera_va_openai_azure_rtm") { |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"llm": { |
|
"model": "gpt-4o", |
|
"prompt": prompt, |
|
"greeting": combined_greeting, |
|
}, |
|
"tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} else if (graphName == "va_openai_v2v") { |
|
return { |
|
"v2v": { |
|
"model": "gpt-4o-realtime-preview-2024-12-17", |
|
"voice": voiceNameMap[language]["openai"][voiceType], |
|
"language": language, |
|
"prompt": prompt, |
|
"greeting": combined_greeting, |
|
} |
|
} |
|
} else if (graphName == "va_openai_v2v_fish") { |
|
return { |
|
"v2v": { |
|
"model": "gpt-4o-realtime-preview-2024-12-17", |
|
"voice": voiceNameMap[language]["openai"][voiceType], |
|
"language": language, |
|
"prompt": prompt, |
|
"greeting": combined_greeting, |
|
}, |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
} |
|
} else if (graphName == "va_openai_azure") { |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"llm": { |
|
"model": "gpt-4o", |
|
"prompt": prompt, |
|
"greeting": combined_greeting, |
|
}, |
|
"tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} else if (graphName == "va_qwen_rag") { |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"azure_tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} else if (graphName == "va_gemini_v2v") { |
|
return { |
|
"v2v": { |
|
"prompt": prompt, |
|
|
|
} |
|
} |
|
} else if (graphName == "va_dify_azure") { |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"llm": { |
|
"greeting": combined_greeting, |
|
}, |
|
"tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} else if (graphName == "story_teller_stt_integrated") { |
|
let story_greeting = "Hey, I'm Story Teller, I can tell story based on your imagination, say Hi to me!"; |
|
|
|
if (language === "zh-CN") { |
|
story_greeting = "嗨,我是一个讲故事的机器人,我可以根据你的想象讲故事,和我打个招呼吧!"; |
|
} else if (language === "ja-JP") { |
|
story_greeting = "こんにちは、私はストーリーテラーです。あなたの想像に基づいて物語を語ることができます。私に挨拶してください!"; |
|
} else if (language === "ko-KR") { |
|
story_greeting = "안녕하세요, 저는 이야기꾼입니다. 당신의 상상력을 바탕으로 이야기를 할 수 있어요. 저에게 인사해 보세요!"; |
|
} |
|
|
|
|
|
combined_greeting = greeting || story_greeting; |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"llm": { |
|
"greeting": combined_greeting, |
|
}, |
|
"tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} else if (graphName == "va_nova_multimodal_aws") { |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"llm": { |
|
"greeting": combined_greeting, |
|
}, |
|
"tts": { |
|
"voice": voiceNameMap[language]["polly"][voiceType], |
|
"lang_code": voiceNameMap[language]["polly"]["langCode"], |
|
"engine": voiceNameMap[language]["polly"]["langEngine"], |
|
}, |
|
"stt": { |
|
"lang_code": language, |
|
} |
|
} |
|
} else if (graphName == "deepseek_r1") { |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"llm": { |
|
"prompt": prompt, |
|
"greeting": combined_greeting, |
|
"model": "DeepSeek-R1", |
|
}, |
|
"tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} else if (graphName == "qwq_32b") { |
|
return { |
|
"agora_rtc": { |
|
"agora_asr_language": language, |
|
}, |
|
"llm": { |
|
"prompt": prompt, |
|
"greeting": combined_greeting, |
|
"model": "qwq-plus", |
|
}, |
|
"tts": { |
|
"azure_synthesis_voice_name": voiceNameMap[language]["azure"][voiceType] |
|
} |
|
} |
|
} |
|
|
|
|
|
return {} |
|
} |