- Add new fields to AssistantConfig for realtime interface configuration, including types, values, and secrets. - Introduce StepFunRealtimeService to handle speech-to-speech processing via WebSocket, integrating STT, LLM, and TTS functionalities. - Refactor pipeline execution to support a new realtime mode, allowing direct text input processing and immediate responses. - Update model resource testing to include validation for StepFun Realtime connections. - Enhance service factory to create realtime services based on configuration settings. - Modify README documentation to reflect new realtime capabilities and usage instructions.
44 lines
3.1 KiB
SQL
44 lines
3.1 KiB
SQL
-- 模型资源种子数据。依赖应用启动时写入 interface_definitions。
|
|
|
|
INSERT INTO model_resources
|
|
(id, name, capability, interface_type, values, secrets, enabled, is_default)
|
|
VALUES
|
|
('model_001', 'DeepSeek-Chat', 'LLM', 'openai-llm',
|
|
'{"modelId":"deepseek-chat","apiUrl":"https://api.deepseek.com/v1","temperature":0.7}',
|
|
'{"apiKey":"replace-me"}', TRUE, TRUE),
|
|
('model_002', 'SiliconFlow-TeleSpeechASR', 'ASR', 'openai-asr',
|
|
'{"modelId":"TeleAI/TeleSpeechASR","apiUrl":"https://api.siliconflow.cn/v1","language":"zh"}',
|
|
'{"apiKey":"replace-me"}', TRUE, FALSE),
|
|
('model_003', 'SiliconFlow-Qwen3-Embedding-4B', 'Embedding', 'openai-embedding',
|
|
'{"modelId":"Qwen/Qwen3-Embedding-4B","apiUrl":"https://api.siliconflow.cn/v1"}',
|
|
'{"apiKey":"replace-me"}', TRUE, TRUE),
|
|
('model_004', 'SiliconFlow-CosyVoice2-0.5B', 'TTS', 'openai-tts',
|
|
'{"modelId":"FunAudioLLM/CosyVoice2-0.5B","apiUrl":"https://api.siliconflow.cn/v1","voice":"FunAudioLLM/CosyVoice2-0.5B:anna","speed":1.0,"sourceSampleRate":24000}',
|
|
'{"apiKey":"replace-me"}', TRUE, FALSE),
|
|
('model_005', '讯飞语音识别', 'ASR', 'xfyun-asr',
|
|
'{"apiUrl":"https://iat-api.xfyun.cn/v2/iat","language":"zh_cn","domain":"iat","accent":"mandarin","dynamicCorrection":false,"frameSize":1280}',
|
|
'{"appId":"replace-me","apiKey":"replace-me","apiSecret":"replace-me"}', TRUE, TRUE),
|
|
('model_006', 'Paraformer 识别', 'ASR', 'dashscope-asr',
|
|
'{"modelId":"paraformer-realtime-v2","apiUrl":"https://dashscope.aliyuncs.com/api/v1/services/audio/asr","language":"zh"}',
|
|
'{"apiKey":"replace-me"}', TRUE, FALSE),
|
|
('model_007', '讯飞语音合成', 'TTS', 'xfyun-tts',
|
|
'{"apiUrl":"https://tts-api.xfyun.cn/v2/tts","voice":"xiaoyan","speed":50,"volume":50,"pitch":50,"sourceSampleRate":16000}',
|
|
'{"appId":"replace-me","apiKey":"replace-me","apiSecret":"replace-me"}', TRUE, TRUE),
|
|
('model_008', 'CosyVoice 合成', 'TTS', 'dashscope-tts',
|
|
'{"modelId":"cosyvoice-v1","apiUrl":"https://dashscope.aliyuncs.com/api/v1/services/audio/tts","voice":"longxiaochun"}',
|
|
'{"apiKey":"replace-me"}', TRUE, FALSE),
|
|
('model_009', 'GPT Realtime', 'Realtime', 'openai-realtime',
|
|
'{"modelId":"gpt-4o-realtime-preview","apiUrl":"https://api.openai.com/v1/realtime"}',
|
|
'{"apiKey":"replace-me"}', TRUE, TRUE),
|
|
('model_010', 'Gemini Live', 'Realtime', 'gemini-realtime',
|
|
'{"modelId":"gemini-2.0-flash-live","apiUrl":"https://generativelanguage.googleapis.com/v1beta"}',
|
|
'{"apiKey":"replace-me"}', TRUE, FALSE),
|
|
('model_011', 'text-embedding-3', 'Embedding', 'openai-embedding',
|
|
'{"modelId":"text-embedding-3-small","apiUrl":"https://api.openai.com/v1/embeddings"}',
|
|
'{"apiKey":"replace-me"}', TRUE, FALSE),
|
|
('model_012', 'StepAudio 2.5 Realtime', 'Realtime', 'stepfun-realtime',
|
|
'{"modelId":"stepaudio-2.5-realtime","apiUrl":"wss://api.stepfun.com/v1/realtime","voice":"linjiajiejie","inputSampleRate":24000,"outputSampleRate":24000,"prefixPaddingMs":500,"silenceDurationMs":300,"energyAwakenessThreshold":2500}',
|
|
'{"apiKey":"replace-me"}', TRUE, FALSE)
|
|
-- Seed defaults must never overwrite resources configured through the UI.
|
|
ON CONFLICT (id) DO NOTHING;
|