36 lines
1.2 KiB
Go
36 lines
1.2 KiB
Go
package ai
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func bailianFixture(t *testing.T) Binding {
|
|
t.Helper()
|
|
task, ps := currentFixture(t, "full_ai")
|
|
task = changeCurrentAgent(t, task, func(a map[string]any) {
|
|
for _, role := range []string{"asr", "llm", "tts"} {
|
|
a[role].(map[string]any)["provider_ref"] = "ali_bailian"
|
|
}
|
|
a["asr"].(map[string]any)["model"] = "fun-asr-flash-8k-realtime-2026-01-28"
|
|
a["asr"].(map[string]any)["params"] = map[string]any{"sample_rate": 16000, "format": "pcm", "language": "zh"}
|
|
a["llm"].(map[string]any)["model"] = "Qwen3.8-Flash"
|
|
a["tts"].(map[string]any)["model"] = "cosyvoice-v3-flash"
|
|
a["tts"].(map[string]any)["voice"] = "longanyang"
|
|
a["tts"].(map[string]any)["params"] = map[string]any{"rate": 1.25, "sample_rate": 16000, "format": "pcm"}
|
|
})
|
|
p := ps["ali_bailian"]
|
|
p.Credential = "mock-key"
|
|
ps["ali_bailian"] = p
|
|
b, err := Bind(task, ps)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
return b
|
|
}
|
|
func TestTaskModelsShareConnectionOnlyProvider(t *testing.T) {
|
|
b := bailianFixture(t)
|
|
if b.ASR.Provider.Code != "ali_bailian" || b.LLM.Provider.Code != "ali_bailian" || b.TTS.Provider.Code != "ali_bailian" || string(b.TTS.Params["rate"]) != "1.25" {
|
|
t.Fatal("shared connection or opaque params lost")
|
|
}
|
|
}
|