feat: wire real LLM runner via third-one or OpenAI-compatible API

This commit is contained in:
user
2026-04-28 15:48:37 +09:00
parent 9b0bc172ef
commit dced20a9af
8 changed files with 486 additions and 5 deletions

View File

@@ -19,6 +19,8 @@ type Config struct {
ModelKey string
ImageModelKey string
ThirdOneBin string
LLMAPIKey string
LLMEndpoint string
GoogleClientID string
JWTSecret string
}
@@ -32,11 +34,17 @@ func LoadFromEnv() Config {
ModelKey: envOrDefault("TUTOR_MODEL_KEY", defaultModelKey),
ImageModelKey: envOrDefault("TUTOR_IMAGE_MODEL_KEY", defaultImageModelKey),
ThirdOneBin: envOrDefault("THIRDONE_BIN", defaultThirdOneBin),
LLMAPIKey: envOrDefault("TUTOR_LLM_API_KEY", ""),
LLMEndpoint: envOrDefault("TUTOR_LLM_ENDPOINT", ""),
GoogleClientID: envOrDefault("GOOGLE_CLIENT_ID", ""),
JWTSecret: envOrDefault("JWT_SECRET", ""),
}
}
func (c Config) HasLLM() bool {
return c.LLMEndpoint != ""
}
func envOrDefault(key string, fallback string) string {
value := os.Getenv(key)
if value == "" {