Documentation
¶
Index ¶
- type CommonTranslator
- func (ct *CommonTranslator) GetConfigWeight() int
- func (ct *CommonTranslator) GetCurrentWeight() int
- func (ct *CommonTranslator) GetName() string
- func (ct *CommonTranslator) IsDisabled() bool
- func (ct *CommonTranslator) SetCurrentWeight(s int)
- func (ct *CommonTranslator) Translate(req TranslateRequest) (tr *TranslateResponse, err error)
- type DefaultTranslatorConfig
- type Instance
- type InstanceOpenAI
- type TranslateRequest
- type TranslateResponse
- type Translator
- type TranslatorConfig
- type TranslatorOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommonTranslator ¶
type CommonTranslator struct {
// contains filtered or unexported fields
}
func NewCommonTranslator ¶
func NewCommonTranslator(opts TranslatorOptions) (ct *CommonTranslator)
func (*CommonTranslator) GetConfigWeight ¶
func (ct *CommonTranslator) GetConfigWeight() int
func (*CommonTranslator) GetCurrentWeight ¶
func (ct *CommonTranslator) GetCurrentWeight() int
func (*CommonTranslator) GetName ¶
func (ct *CommonTranslator) GetName() string
func (*CommonTranslator) IsDisabled ¶
func (ct *CommonTranslator) IsDisabled() bool
func (*CommonTranslator) SetCurrentWeight ¶
func (ct *CommonTranslator) SetCurrentWeight(s int)
func (*CommonTranslator) Translate ¶
func (ct *CommonTranslator) Translate(req TranslateRequest) (tr *TranslateResponse, err error)
type DefaultTranslatorConfig ¶
type DefaultTranslatorConfig struct {
// Positive
Weight int `yaml:"weight"`
// Optional
SystemPrompt string `yaml:"system_prompt"`
// Optional. Failover
Failover common.FailoverConfig `yaml:"failover,omitempty"`
}
type Instance ¶
type Instance interface {
Translate(context.Context, TranslateRequest) (*TranslateResponse, error)
Name() string
}
func NewInstance ¶
func NewInstance(conf TranslatorConfig) (Instance, error)
type InstanceOpenAI ¶
type InstanceOpenAI struct {
// contains filtered or unexported fields
}
TranslatorInstanceOpenAI implements the translation logic using the OpenAI style API. It embeds baseTranslator for common functionalities.
func (*InstanceOpenAI) Name ¶
func (t *InstanceOpenAI) Name() string
func (*InstanceOpenAI) Translate ¶
func (t *InstanceOpenAI) Translate(ctx context.Context, req TranslateRequest) (resp *TranslateResponse, err error)
Translate sends the given text to the OpenAI API for translation. It respects the configured timeout and rate limiter. Returns the API's chat completion response or an error.
type TranslateRequest ¶
type TranslateResponse ¶
type Translator ¶
type Translator interface {
selector.WeightedItem
Translate(TranslateRequest) (*TranslateResponse, error)
GetName() string
}
func NewTranslator ¶
func NewTranslator(selectorType string, conf TranslatorConfig) (Translator, error)
type TranslatorConfig ¶
type TranslatorConfig struct {
DefaultTranslatorConfig `yaml:",inline"`
// Required
Name string `yaml:"name"`
// Required
Type string `yaml:"type"`
// Positive
Timeout int64 `yaml:"timeout"`
// Optional
Model string `yaml:"model"`
// Required
Endpoint string `yaml:"endpoint"`
// Optional
Token string `yaml:"token"`
// Optional
RateLimit common.RateLimitConfig `yaml:"rate_limit"`
}
func (*TranslatorConfig) CheckAndMergeDefaultConfig ¶
func (tic *TranslatorConfig) CheckAndMergeDefaultConfig(dtc DefaultTranslatorConfig) (err error)
type TranslatorOptions ¶
type TranslatorOptions struct {
Instance Instance
Timeout int64
// Failover
FailoverConfig common.FailoverConfig
RateLimitConfig common.RateLimitConfig
// Metrics
UpMetric *prometheus.GaugeVec
SelectionMetric *prometheus.CounterVec
TasksMetric *prometheus.GaugeVec
TokensUsedMetric *prometheus.CounterVec
// WRR
Weight int
}
Click to show internal directories.
Click to hide internal directories.