one-api/controller/relay/base.go
Buer dd3e79a20d
feat: channel support weight (#85)
*  feat: channel support weight

* 💄 improve: show version

* 💄 improve: Channel add copy operation

* 💄 improve: Channel support batch add
2024-03-06 18:01:43 +08:00

54 lines
1.1 KiB
Go

package relay
import (
"one-api/types"
providersBase "one-api/providers/base"
"github.com/gin-gonic/gin"
)
type relayBase struct {
c *gin.Context
provider providersBase.ProviderInterface
originalModel string
modelName string
}
type RelayBaseInterface interface {
send() (err *types.OpenAIErrorWithStatusCode, done bool)
getPromptTokens() (int, error)
setRequest() error
setProvider(modelName string) error
getProvider() providersBase.ProviderInterface
getOriginalModel() string
getModelName() string
getContext() *gin.Context
}
func (r *relayBase) setProvider(modelName string) error {
provider, modelName, fail := getProvider(r.c, modelName)
if fail != nil {
return fail
}
r.provider = provider
r.modelName = modelName
return nil
}
func (r *relayBase) getContext() *gin.Context {
return r.c
}
func (r *relayBase) getProvider() providersBase.ProviderInterface {
return r.provider
}
func (r *relayBase) getOriginalModel() string {
return r.originalModel
}
func (r *relayBase) getModelName() string {
return r.modelName
}