Documentation
¶
Index ¶
- Constants
- Variables
- func AbortLogWithMessage(c *gin.Context, statusCode int, message string, fields ...*ErrorField)
- func AbortWithMessage(c *gin.Context, statusCode int, message string, fields ...*ErrorField)
- func AdminAuth(c *gin.Context)
- func CORS() gin.HandlerFunc
- func CheckRelayMode(requestMode mode.Mode, modelMode mode.Mode) bool
- func ErrorResponse(c *gin.Context, code int, message string)
- func GenRequestID(t time.Time) string
- func GetChannel(c *gin.Context) *model.Channel
- func GetGroup(c *gin.Context) *model.GroupCache
- func GetGroupAdjustedModelConfig(group *model.GroupCache, mc model.ModelConfig) model.ModelConfig
- func GetLogger(c *gin.Context) *logrus.Entry
- func GetModelCaches(c *gin.Context) *model.ModelCaches
- func GetModelConfig(c *gin.Context) *model.ModelConfig
- func GetModelFromJSON(body []byte) (string, error)
- func GetRequestAt(c *gin.Context) time.Time
- func GetRequestID(c *gin.Context) string
- func GetRequestModel(c *gin.Context) string
- func GetToken(c *gin.Context) *model.TokenCache
- func IPBlock(c *gin.Context)
- func MessageWithRequestID(c *gin.Context, message string) string
- func NewDistribute(mode mode.Mode) gin.HandlerFunc
- func NewLog(l *logrus.Logger) gin.HandlerFunc
- func NewLogger() *logrus.Entry
- func NewMetaByContext(c *gin.Context, channel *model.Channel, mode mode.Mode, opts ...meta.Option) *meta.Meta
- func RequestIDMiddleware(c *gin.Context)
- func SetLogActualModelFields(fields logrus.Fields, actualModel string)
- func SetLogChannelFields(fields logrus.Fields, channel meta.ChannelMeta)
- func SetLogFieldsFromMeta(m *meta.Meta, fields logrus.Fields)
- func SetLogGroupFields(fields logrus.Fields, group *model.GroupCache)
- func SetLogModeField(fields logrus.Fields, mode mode.Mode)
- func SetLogModelFields(fields logrus.Fields, model string)
- func SetLogRequestIDField(fields logrus.Fields, requestID string)
- func SetLogTokenFields(fields logrus.Fields, token *model.TokenCache, internal bool)
- func SetRequestAt(c *gin.Context, requestAt time.Time)
- func SetRequestID(c *gin.Context, id string)
- func SuccessResponse(c *gin.Context, data any)
- func TokenAuth(c *gin.Context)
- type APIResponse
- type ErrorField
- type GroupBalanceConsumer
- type ModelRequest
Constants ¶
View Source
const ( Channel = "channel" Group = "group" Token = "token" GroupBalance = "group_balance" RequestModel = "request_model" RequestAt = "request_at" RequestID = "request_id" ModelCaches = "model_caches" ModelConfig = "model_config" )
View Source
const ( XRateLimitLimitRequests = "X-RateLimit-Limit-Requests" //nolint:gosec XRateLimitLimitTokens = "X-RateLimit-Limit-Tokens" XRateLimitRemainingRequests = "X-RateLimit-Remaining-Requests" //nolint:gosec XRateLimitRemainingTokens = "X-RateLimit-Remaining-Tokens" XRateLimitResetRequests = "X-RateLimit-Reset-Requests" //nolint:gosec XRateLimitResetTokens = "X-RateLimit-Reset-Tokens" )
View Source
const (
AIProxyChannelHeader = "Aiproxy-Channel"
)
View Source
const (
ErrorTypeAIPROXY = "aiproxy_error"
)
View Source
const (
GroupBalanceNotEnough = "group_balance_not_enough"
)
View Source
const (
RequestIDHeader = "X-Request-Id"
)
Variables ¶
View Source
var ( ErrRequestRateLimitExceeded = errors.New("request rate limit exceeded, please try again later") ErrRequestTpmLimitExceeded = errors.New("request tpm limit exceeded, please try again later") )
Functions ¶
func AbortLogWithMessage ¶ added in v0.1.5
func AbortLogWithMessage(c *gin.Context, statusCode int, message string, fields ...*ErrorField)
func AbortWithMessage ¶ added in v0.1.5
func AbortWithMessage(c *gin.Context, statusCode int, message string, fields ...*ErrorField)
func CORS ¶
func CORS() gin.HandlerFunc
func CheckRelayMode ¶ added in v0.1.6
func GenRequestID ¶
func GetGroupAdjustedModelConfig ¶
func GetGroupAdjustedModelConfig(group *model.GroupCache, mc model.ModelConfig) model.ModelConfig
func GetModelCaches ¶
func GetModelCaches(c *gin.Context) *model.ModelCaches
func GetModelConfig ¶
func GetModelConfig(c *gin.Context) *model.ModelConfig
func GetModelFromJSON ¶
func GetRequestID ¶
func GetRequestModel ¶ added in v0.1.4
func NewDistribute ¶
func NewDistribute(mode mode.Mode) gin.HandlerFunc
func NewMetaByContext ¶
func RequestIDMiddleware ¶ added in v0.1.4
func SetLogActualModelFields ¶
func SetLogChannelFields ¶
func SetLogChannelFields(fields logrus.Fields, channel meta.ChannelMeta)
func SetLogGroupFields ¶
func SetLogGroupFields(fields logrus.Fields, group *model.GroupCache)
func SetLogModelFields ¶
func SetLogRequestIDField ¶
func SetLogTokenFields ¶
func SetLogTokenFields(fields logrus.Fields, token *model.TokenCache, internal bool)
func SetRequestID ¶
func SuccessResponse ¶
Types ¶
type APIResponse ¶
type ErrorField ¶ added in v0.1.5
type GroupBalanceConsumer ¶
type GroupBalanceConsumer struct { Group string CheckBalance func(amount float64) bool Consumer balance.PostGroupConsumer // contains filtered or unexported fields }
func GetGroupBalanceConsumer ¶
func GetGroupBalanceConsumer(c *gin.Context, group *model.GroupCache) (*GroupBalanceConsumer, error)
func GetGroupBalanceConsumerFromContext ¶
func GetGroupBalanceConsumerFromContext(c *gin.Context) *GroupBalanceConsumer
type ModelRequest ¶
type ModelRequest struct {
Model string `form:"model" json:"model"`
}
Click to show internal directories.
Click to hide internal directories.