fafccd0d74
- Updated the worker initialization process to include the new GLM SDK, enhancing the worker's capabilities for translation tasks. - Modified the InitWorker function and NewNoticeWorker constructor to accept the GLM service, ensuring a cohesive integration. - Implemented the GLM service initialization and logging for successful setup, improving maintainability and usability. - Updated the NoticeWorker to utilize the GLM SDK for translating notice titles and descriptions, enhancing functionality and user experience.
51 lines
2.4 KiB
Go
51 lines
2.4 KiB
Go
package bootstrap
|
|
|
|
import (
|
|
"time"
|
|
"tm/pkg/config"
|
|
)
|
|
|
|
// Config defines the scraper application configuration
|
|
type Config struct {
|
|
Database config.DatabaseConfig
|
|
Logging config.LoggingConfig
|
|
Notification config.NotificationConfig
|
|
Ollama config.OllamaConfig
|
|
Worker WorkerConfig
|
|
GLM GLMConfig
|
|
AlertMail string `env:"ALERT_MAIL" envDefault:"alerts@opplens.com"`
|
|
}
|
|
|
|
type WorkerConfig struct {
|
|
Interval string `env:"WORKER_INTERVAL" envDefault:"* 10 * * * *"`
|
|
}
|
|
|
|
type GLMConfig struct {
|
|
BaseURL string `env:"GLM_BASE_URL" envDefault:"https://api.z.ai"`
|
|
APIKey string `env:"GLM_API_KEY" envDefault:""`
|
|
Timeout time.Duration `env:"GLM_TIMEOUT" envDefault:"300s"`
|
|
RetryAttempts int `env:"GLM_RETRY_ATTEMPTS" envDefault:"3"`
|
|
RetryDelay time.Duration `env:"GLM_RETRY_DELAY" envDefault:"2s"`
|
|
EnableLogging bool `env:"GLM_ENABLE_LOGGING" envDefault:"true"`
|
|
UserAgent string `env:"GLM_USER_AGENT" envDefault:"Opplens-GLMSDK/1.0"`
|
|
DefaultModel string `env:"GLM_DEFAULT_MODEL" envDefault:"glm-4.5"`
|
|
DefaultMaxTokens int `env:"GLM_DEFAULT_MAX_TOKENS" envDefault:"4096"`
|
|
DefaultTopP float64 `env:"GLM_DEFAULT_TOP_P" envDefault:"1.0"`
|
|
DefaultTemperature float64 `env:"GLM_DEFAULT_TEMPERATURE" envDefault:"0.7"`
|
|
DefaultFrequencyPenalty float64 `env:"GLM_DEFAULT_FREQUENCY_PENALTY" envDefault:"0"`
|
|
DefaultPresencePenalty float64 `env:"GLM_DEFAULT_PRESENCE_PENALTY" envDefault:"0"`
|
|
EnableStreaming bool `env:"GLM_ENABLE_STREAMING" envDefault:"false"`
|
|
EnableThinking bool `env:"GLM_ENABLE_THINKING" envDefault:"false"`
|
|
TranslateOptions TranslateOptions
|
|
}
|
|
|
|
type TranslateOptions struct {
|
|
Model string `env:"GLM_TRANSLATION_MODEL" envDefault:"glm-4.5"`
|
|
MaxTokens int `env:"GLM_TRANSLATION_MAX_TOKENS" envDefault:"2048"`
|
|
Temperature float64 `env:"GLM_TRANSLATION_TEMPERATURE" envDefault:"0.3"`
|
|
FrequencyPenalty float64 `env:"GLM_TRANSLATION_FREQUENCY_PENALTY" envDefault:"0.1"`
|
|
PresencePenalty float64 `env:"GLM_TRANSLATION_PRESENCE_PENALTY" envDefault:"0.1"`
|
|
TopP float64 `env:"GLM_TRANSLATION_TOP_P" envDefault:"1.0"`
|
|
EnableThinking bool `env:"GLM_TRANSLATION_ENABLE_THINKING" envDefault:"false"`
|
|
}
|