Spaces:
Build error
Build error
| package submodel | |
| import ( | |
| "errors" | |
| "io" | |
| "net/http" | |
| "one-api/dto" | |
| "one-api/relay/channel" | |
| "one-api/relay/channel/openai" | |
| relaycommon "one-api/relay/common" | |
| "one-api/types" | |
| "github.com/gin-gonic/gin" | |
| ) | |
| type Adaptor struct { | |
| } | |
| func (a *Adaptor) ConvertGeminiRequest(c *gin.Context, info *relaycommon.RelayInfo, request *dto.GeminiChatRequest) (any, error) { | |
| return nil, errors.New("submodel channel: endpoint not supported") | |
| } | |
| func (a *Adaptor) ConvertClaudeRequest(*gin.Context, *relaycommon.RelayInfo, *dto.ClaudeRequest) (any, error) { | |
| return nil, errors.New("submodel channel: endpoint not supported") | |
| } | |
| func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.AudioRequest) (io.Reader, error) { | |
| return nil, errors.New("submodel channel: endpoint not supported") | |
| } | |
| func (a *Adaptor) ConvertImageRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.ImageRequest) (any, error) { | |
| return nil, errors.New("submodel channel: endpoint not supported") | |
| } | |
| func (a *Adaptor) Init(info *relaycommon.RelayInfo) { | |
| } | |
| func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) { | |
| return relaycommon.GetFullRequestURL(info.ChannelBaseUrl, info.RequestURLPath, info.ChannelType), nil | |
| } | |
| func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Header, info *relaycommon.RelayInfo) error { | |
| channel.SetupApiRequestHeader(info, c, req) | |
| req.Set("Authorization", "Bearer "+info.ApiKey) | |
| return nil | |
| } | |
| func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayInfo, request *dto.GeneralOpenAIRequest) (any, error) { | |
| if request == nil { | |
| return nil, errors.New("request is nil") | |
| } | |
| return request, nil | |
| } | |
| func (a *Adaptor) ConvertRerankRequest(c *gin.Context, relayMode int, request dto.RerankRequest) (any, error) { | |
| return nil, errors.New("submodel channel: endpoint not supported") | |
| } | |
| func (a *Adaptor) ConvertEmbeddingRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.EmbeddingRequest) (any, error) { | |
| return nil, errors.New("submodel channel: endpoint not supported") | |
| } | |
| func (a *Adaptor) ConvertOpenAIResponsesRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.OpenAIResponsesRequest) (any, error) { | |
| return nil, errors.New("submodel channel: endpoint not supported") | |
| } | |
| func (a *Adaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, requestBody io.Reader) (any, error) { | |
| return channel.DoApiRequest(a, c, info, requestBody) | |
| } | |
| func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage any, err *types.NewAPIError) { | |
| if info.IsStream { | |
| usage, err = openai.OaiStreamHandler(c, info, resp) | |
| } else { | |
| usage, err = openai.OpenaiHandler(c, info, resp) | |
| } | |
| return | |
| } | |
| func (a *Adaptor) GetModelList() []string { | |
| return ModelList | |
| } | |
| func (a *Adaptor) GetChannelName() string { | |
| return ChannelName | |
| } | |