feat(tenant): make monitoring parse & compliance judge models configurable
Replace the hardcoded doubao-lite model used for monitoring answer parsing and compliance LLM judging with configurable values, resolved from config with env overrides and a legacy default fallback. - Add llm.monitoring_answer_parse_model and compliance.llm_judge_model to config struct, env overrides, and all config files - Thread the resolved model through MonitoringCallbackService via a ConfigProvider and into parseMonitoringAnswerWithLLM - Pass compliance.llm_judge_model into the review-job LLM request Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -27,6 +27,30 @@ llm:
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadAppliesSpecializedLLMModelEnvOverrides(t *testing.T) {
|
||||
t.Setenv("LLM_MONITORING_ANSWER_PARSE_MODEL", "env-monitoring-parse")
|
||||
t.Setenv("COMPLIANCE_LLM_JUDGE_MODEL", "env-compliance-judge")
|
||||
|
||||
configPath := writeTestConfig(t, `
|
||||
llm:
|
||||
monitoring_answer_parse_model: "config-monitoring-parse"
|
||||
compliance:
|
||||
llm_judge_model: "config-compliance-judge"
|
||||
`)
|
||||
|
||||
cfg, err := Load(configPath)
|
||||
if err != nil {
|
||||
t.Fatalf("Load() error = %v", err)
|
||||
}
|
||||
|
||||
if cfg.LLM.MonitoringAnswerParseModel != "env-monitoring-parse" {
|
||||
t.Fatalf("expected env monitoring parse model, got %q", cfg.LLM.MonitoringAnswerParseModel)
|
||||
}
|
||||
if cfg.Compliance.LLMJudgeModel != "env-compliance-judge" {
|
||||
t.Fatalf("expected env compliance judge model, got %q", cfg.Compliance.LLMJudgeModel)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDatabaseConfigDSNEscapesCredentials(t *testing.T) {
|
||||
cfg := DatabaseConfig{
|
||||
Host: "db.internal",
|
||||
|
||||
Reference in New Issue
Block a user