sdk_generate/internal/config/config.go

55 lines
1.2 KiB
Go

package config
import (
"os"
"time"
)
type Config struct {
// 服务配置
Port string
UploadDir string
OutputDir string
// 大模型配置
APIKey string
BaseURL string
Model string
MaxFixAttempts int
Timeout time.Duration
// 限流配置
MaxFileSize int64
MaxTasks int
//gitea配置
GiteaUrl string
GiteaToken string
OrgName string
}
func Load() *Config {
return &Config{
Port: getEnv("PORT", "5002"),
UploadDir: getEnv("UPLOAD_DIR", "./uploads"),
OutputDir: getEnv("OUTPUT_DIR", "./outputs"),
APIKey: getEnv("DOUBAO_API_KEY", "ark-3f942f9b-7428-4880-b939-026087b99957-062f1"),
BaseURL: getEnv("DOUBAO_BASE_URL", "https://ark.cn-beijing.volces.com/api/v3"),
Model: getEnv("DOUBAO_MODEL", "ep-20260717134040-w9qhc"),
Timeout: 5 * time.Minute,
MaxFileSize: 10 * 1024 * 1024, // 10MB
MaxTasks: 100,
MaxFixAttempts: 3,
GiteaUrl: "https://gitea.cdlsxd.cn",
GiteaToken: "406ebea224965f9be4c25e7ff2614588827fd31f",
OrgName: "ai_sdk",
}
}
func getEnv(key, defaultVal string) string {
if val := os.Getenv(key); val != "" {
return val
}
return defaultVal
}