27 lines
879 B
Go
27 lines
879 B
Go
package proxy
|
|
|
|
// UserConfig represents the configuration for a user
|
|
// It contains information about the user's budget and allowed model groups
|
|
type UserConfig struct {
|
|
// Budget represents the virtual money the user has available
|
|
Budget uint32 `json:"budget"`
|
|
|
|
// ModelGroups is a list of model groups the user has access to
|
|
ModelGroups []string `json:"model_groups"`
|
|
|
|
// APIKey is the OpenAI API key to use for this user's requests
|
|
OpenAIKey string `json:"openai_key"`
|
|
}
|
|
|
|
// ProxyConfig represents the configuration for the AI proxy server
|
|
type ProxyConfig struct {
|
|
// Port is the port to listen on
|
|
Port int `json:"port"`
|
|
|
|
// OpenAIBaseURL is the base URL for the OpenAI API
|
|
OpenAIBaseURL string `json:"openai_base_url"`
|
|
|
|
// DefaultOpenAIKey is the default OpenAI API key to use if not specified in UserConfig
|
|
DefaultOpenAIKey string `json:"default_openai_key"`
|
|
}
|