Files
voice_test/config.go
T

55 lines
1.6 KiB
Go

package main
import (
"crypto/rand"
"fmt"
"os"
)
type agentCfg struct {
BailianBaseURL string
BailianWssBaseURL string
BailianKey string
TTSModel string
TTSVoice string
TTSInstruction string
VoiceAPIURL string
LLMModel string
VolcAppKey string // 新版控制台:单凭证
VolcAppID string // 旧版控制台:APP ID + Access Token 两件套
VolcAccessToken string
VolcResourceID string
}
func loadCfg() agentCfg {
return agentCfg{
BailianBaseURL: getenv("BAILIAN_BASE_URL", ""),
BailianWssBaseURL: getenv("BAILIAN_WSS_BASE_URL", ""),
BailianKey: getenv("BAILIAN_API_KEY", ""),
TTSModel: getenv("BAILIAN_TTS_MODEL", "cosyvoice-v3.5-plus"),
TTSVoice: getenv("BAILIAN_TTS_VOICE", ""),
TTSInstruction: getenv("BAILIAN_TTS_INSTRUCTION", ""),
VoiceAPIURL: getenv("BAILIAN_VOICE_API_URL", "https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization"),
LLMModel: getenv("BAILIAN_LLM_MODEL", "qwen3.8-flash"),
VolcAppKey: getenv("VOLC_ASR_APP_KEY", ""),
VolcAppID: getenv("VOLC_ASR_APP_ID", ""),
VolcAccessToken: getenv("VOLC_ASR_ACCESS_TOKEN", ""),
VolcResourceID: getenv("VOLC_ASR_RESOURCE_ID", "volc.bigasr.sauc.duration"),
}
}
func getenv(k, def string) string {
if v := os.Getenv(k); v != "" {
return v
}
return def
}
func uuid() string {
var b [16]byte
rand.Read(b[:])
b[6] = (b[6] & 0x0f) | 0x40
b[8] = (b[8] & 0x3f) | 0x80
return fmt.Sprintf("%x-%x-%x-%x-%x", b[0:4], b[4:6], b[6:8], b[8:10], b[10:16])
}