Files

36 lines
764 B
Go
Raw Permalink Normal View History

package config
import (
"os"
"github.com/joho/godotenv"
)
type Config struct {
OpenAIAPIKey string
OpenAIBaseURL string
OpenAIModel string
OpenAIEmbedModel string
DataDir string
Port string
}
func Load() *Config {
_ = godotenv.Load()
return &Config{
OpenAIAPIKey: getEnv("OPENAI_API_KEY", ""),
OpenAIBaseURL: getEnv("OPENAI_BASE_URL", "https://api.openai.com/v1"),
OpenAIModel: getEnv("OPENAI_MODEL", "gpt-4o"),
OpenAIEmbedModel: getEnv("OPENAI_EMBED_MODEL", "text-embedding-3-small"),
DataDir: getEnv("DATA_DIR", "./data"),
Port: getEnv("PORT", "8080"),
}
}
func getEnv(key, fallback string) string {
if v := os.Getenv(key); v != "" {
return v
}
return fallback
}