feat: 实现 AI 规格候选匹配与审计 (#201)
This commit is contained in:
@@ -47,6 +47,22 @@ func GetAIProvider(q Execer, providerID string) (*model.AIProviderConfig, error)
|
||||
return &item, nil
|
||||
}
|
||||
|
||||
func GetEnabledAIProvider(q Execer) (*model.AIProviderConfig, error) {
|
||||
item, err := scanAIProvider(func(dest ...any) error {
|
||||
return q.QueryRow(`SELECT provider_id,name,base_url,model,timeout_seconds,max_concurrency,
|
||||
confidence_threshold_bps,enabled,last_test_status,last_test_message,last_tested_at,
|
||||
last_test_fingerprint,created_by_user_id,updated_by_user_id,created_at,updated_at
|
||||
FROM ai_provider_configs WHERE enabled=1`).Scan(dest...)
|
||||
})
|
||||
if errors.Is(err, sql.ErrNoRows) {
|
||||
return nil, nil
|
||||
}
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("查询当前 AI 服务商失败: %w", err)
|
||||
}
|
||||
return &item, nil
|
||||
}
|
||||
|
||||
type scanValues func(dest ...any) error
|
||||
|
||||
func scanAIProvider(scan scanValues) (model.AIProviderConfig, error) {
|
||||
|
||||
Reference in New Issue
Block a user