# README
config
import "github.com/Mgla96/snappr/internal/config"
Package config is the singular place where configuration is loaded and parsed.
Index
- Constants
- type Config
- type Github
- type InputConfig
- type KnowledgeSource
- type KnowledgeSourceType
- type LLM
- type Log
- type PromptWorkflow
- type PromptWorkflowStep
Constants
const (
DefaultConfig = ""
)
ServicePrefix - imagery producer specific env vars have this prefix
const ServicePrefix = "PR"
type Config
Config contains all config parameters for the service
type Config struct {
Log Log `required:"true"`
Github Github `required:"true"`
LLM LLM `required:"true"`
Input InputConfig `required:"true"`
}
func New
func New() (*Config, error)
New returns the parsed config from the environment.
type Github
type Github struct {
Token string `required:"true"`
Owner string `required:"true"`
Repo string `required:"true"`
}
type InputConfig
type InputConfig struct {
KnowledgeSources []KnowledgeSource `mapstructure:"knowledgeSources"`
PromptWorkflows []PromptWorkflow `mapstructure:"promptWorkflows"`
}
type KnowledgeSource
type KnowledgeSource struct {
Name string `mapstructure:"name"`
Type KnowledgeSourceType `mapstructure:"type"`
Value string `mapstructure:"value"`
}
type KnowledgeSourceType
type KnowledgeSourceType string
const (
KnowledgeSourceTypeFile KnowledgeSourceType = "file"
KnowledgeSourceTypeURL KnowledgeSourceType = "url"
KnowledgeSourceTypeAPI KnowledgeSourceType = "api"
KnowledgeSourceTypeText KnowledgeSourceType = "text"
)
type LLM
type LLM struct {
Token string `required:"true"`
DefaultModel clients.ModelType `default:"gpt-4-turbo"`
Endpoint string
APIType clients.APIType `default:"openai"`
Retries int `default:"3"`
}
type Log
Log level config
type Log struct {
Level zerolog.Level `default:"info"`
}
type PromptWorkflow
type PromptWorkflow struct {
Name string `mapstructure:"name"`
Steps []PromptWorkflowStep `mapstructure:"steps"`
}
type PromptWorkflowStep
type PromptWorkflowStep struct {
Prompt string `mapstructure:"prompt"`
InputSource string `mapstructure:"inputSource"`
}
Generated by gomarkdoc