feat: add download features to llm models
This commit is contained in:
@ -590,6 +590,38 @@ func (r *Repository) ListSettings() ([]Setting, error) {
|
||||
return settings, nil
|
||||
}
|
||||
|
||||
// ── AI Role Providers ──────────────────────────────────────────────────────
|
||||
|
||||
// GetRoleProvider returns the configured provider and model for a given role (summary/report/filter).
|
||||
// Falls back to the active provider if no role-specific provider is set.
|
||||
func (r *Repository) GetRoleProvider(role string) (*AIProvider, string, error) {
|
||||
providerID, _ := r.GetSetting("ai_role_" + role + "_provider")
|
||||
model, _ := r.GetSetting("ai_role_" + role + "_model")
|
||||
|
||||
if providerID != "" {
|
||||
p, err := r.GetAIProviderByID(providerID)
|
||||
if err == nil && p != nil {
|
||||
if model == "" {
|
||||
model = p.Model
|
||||
}
|
||||
return p, model, nil
|
||||
}
|
||||
}
|
||||
// Fallback to active provider
|
||||
p, err := r.GetActiveAIProvider()
|
||||
if p != nil && model == "" {
|
||||
model = p.Model
|
||||
}
|
||||
return p, model, err
|
||||
}
|
||||
|
||||
func (r *Repository) SetRoleProvider(role, providerID, model string) error {
|
||||
if err := r.SetSetting("ai_role_"+role+"_provider", providerID); err != nil {
|
||||
return err
|
||||
}
|
||||
return r.SetSetting("ai_role_"+role+"_model", model)
|
||||
}
|
||||
|
||||
// ── Reports ────────────────────────────────────────────────────────────────
|
||||
|
||||
func (r *Repository) CreatePendingReport(userID string, summaryID *string, excerpt, question string) (*Report, error) {
|
||||
|
||||
Reference in New Issue
Block a user