feat(ai): add Groq/OpenAI-compat provider as default, keep Gemini as option

This commit is contained in:
Naeel
2026-03-12 09:14:16 +03:00
parent ef7613d09f
commit 11b484e1e7
4 changed files with 149 additions and 15 deletions
+10 -4
View File
@@ -10,9 +10,12 @@
//
// Env-переменные:
// AI_HINT_LEVEL — уровень анализа 0–5 (0 = выключен, по умолчанию)
// AI_PROVIDER — провайдер: "google" (по умолчанию) или "cloud"
// GOOGLE_AI_API_KEY — API ключ Google Gemini
// GOOGLE_AI_MODEL — модель (по умолчанию "gemini-2.0-flash")
// AI_PROVIDER — провайдер: "groq" (по умолчанию), "google", "cloud"
// GROQ_API_KEY — API ключ Groq (рекомендуется, работает из РФ)
// GROQ_MODEL — модель Groq (по умолчанию "llama-3.3-70b-versatile")
// GROQ_ENDPOINT — endpoint (по умолчанию https://api.groq.com/openai/v1/chat/completions)
// GOOGLE_AI_API_KEY — API ключ Google Gemini (геоблок в РФ)
// GOOGLE_AI_MODEL — модель Gemini (по умолчанию "gemini-2.0-flash")
// CLOUD_LLM_ENDPOINT — endpoint будущего облачного LLM
// CLOUD_LLM_TOKEN — токен для облачного LLM
@@ -114,7 +117,10 @@ func runTerraform(args []string) (string, int) {
func runAIAnalysis(level int, planOutput string) {
cfg := ai.Config{
HintLevel: level,
Provider: getEnv("AI_PROVIDER", "google"),
Provider: getEnv("AI_PROVIDER", "groq"),
GroqAPIKey: os.Getenv("GROQ_API_KEY"),
GroqModel: getEnv("GROQ_MODEL", "llama-3.3-70b-versatile"),
GroqEndpoint: os.Getenv("GROQ_ENDPOINT"),
GoogleAPIKey: os.Getenv("GOOGLE_AI_API_KEY"),
GoogleModel: getEnv("GOOGLE_AI_MODEL", "gemini-2.0-flash"),
CloudEndpoint: os.Getenv("CLOUD_LLM_ENDPOINT"),