feat(ai): integrar Ollama en AiConfig para ia_controller, query_runner y landing
- Agrega provider 'ollama' al panel de AiConfig con badge azul y hint de URL - ia_controller: reemplaza webhook n8n hardcodeado por llamada directa a Ollama vía AiConfig (módulo 'ia') - query_runner: agrega soporte explícito de ollama (model fallback gemma3:1b, Basic Auth para URL pública) - HTML: agrega módulo 'IA / vCard' en el selector de módulos Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
fa269cabf1
commit
6062f31c70
@@ -552,6 +552,7 @@ SQL optimizado:`, sql)
|
||||
case "anthropic":
|
||||
baseURL = "https://api.anthropic.com/v1"
|
||||
default:
|
||||
log.Printf("[AI_SQL] Provider '%s' requiere BaseURL configurada", config.Provider)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
@@ -565,6 +566,8 @@ SQL optimizado:`, sql)
|
||||
modelName = "qwen2.5-72b-instruct"
|
||||
case "anthropic":
|
||||
modelName = "claude-3-haiku-20240307"
|
||||
case "ollama":
|
||||
modelName = "gemma3:1b"
|
||||
default:
|
||||
modelName = "gpt-4o-mini"
|
||||
}
|
||||
@@ -595,10 +598,16 @@ SQL optimizado:`, sql)
|
||||
|
||||
req, _ := http.NewRequest("POST", url, bytes.NewReader(jsonBody))
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
if config.Provider == "anthropic" {
|
||||
switch config.Provider {
|
||||
case "anthropic":
|
||||
req.Header.Set(authHeader, config.ApiKey)
|
||||
req.Header.Set("anthropic-version", "2023-06-01")
|
||||
} else {
|
||||
case "ollama":
|
||||
// Sin auth para red interna; para URL pública el api_key es "usuario:token"
|
||||
if config.ApiKey != "" && config.ApiKey != "ollama" {
|
||||
req.SetBasicAuth("ollama", config.ApiKey)
|
||||
}
|
||||
default:
|
||||
req.Header.Set(authHeader, "Bearer "+config.ApiKey)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user