From 70e8627a9650c2ea5147373bb2755eeb0518a894 Mon Sep 17 00:00:00 2001 From: huang <1724659546@qq.com> Date: Tue, 2 Dec 2025 13:38:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ai=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.example.yml | 7 +++++++ config/config.yml | 7 +++++++ internal/infra/config/config.go | 12 ++++++++++++ 3 files changed, 26 insertions(+) diff --git a/config/config.example.yml b/config/config.example.yml index ac0bd91..e140b85 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -125,3 +125,10 @@ alarm_notification: dpanic: 1 panic: 1 fatal: 1 + +# AI 服务配置 +ai: + gemini: + api_key: "YOUR_GEMINI_API_KEY" # 替换为你的 Gemini API Key + model_name: "gemini-2.5-flash" # Gemini 模型名称,例如 "gemini-pro" + timeout: 30 # AI 请求超时时间 (秒) \ No newline at end of file diff --git a/config/config.yml b/config/config.yml index ab89f66..8bcf55f 100644 --- a/config/config.yml +++ b/config/config.yml @@ -103,3 +103,10 @@ alarm_notification: dpanic: 1 panic: 1 fatal: 1 + +# AI 服务配置 +ai: + gemini: + api_key: "AIzaSyAJdXUmoN07LIswDac6YxPeRnvXlR73OO8" # 替换为你的 Gemini API Key + model_name: "gemini-2.5-flash" # Gemini 模型名称,例如 "gemini-pro" + timeout: 30 # AI 请求超时时间 (秒) diff --git a/internal/infra/config/config.go b/internal/infra/config/config.go index 5eea0bc..2ac4cd1 100644 --- a/internal/infra/config/config.go +++ b/internal/infra/config/config.go @@ -50,6 +50,9 @@ type Config struct { // AlarmNotification 告警通知配置 AlarmNotification AlarmNotificationConfig `yaml:"alarm_notification"` + + // AI AI服务配置 + AI AIConfig `yaml:"ai"` } // AppConfig 代表应用基础配置 @@ -231,6 +234,15 @@ type AlarmNotificationConfig struct { NotificationIntervals NotificationIntervalsConfig `yaml:"notification_intervals"` } +// AIConfig AI 服务配置 +type AIConfig struct { + Gemini struct { + APIKey string `yaml:"api_key"` // Gemini API Key + ModelName string `yaml:"model_name"` // Gemini 模型名称,例如 "gemini-pro" + Timeout int `yaml:"timeout"` // AI 请求超时时间 (秒) + } `yaml:"gemini"` +} + // NewConfig 创建并返回一个新的配置实例 func NewConfig() *Config { // 默认值可以在这里设置,但我们优先使用配置文件中的值