Spaces:
Build error
Build error
| package cohere | |
| import ( | |
| "errors" | |
| "fmt" | |
| "io" | |
| "net/http" | |
| "one-api/dto" | |
| "one-api/relay/channel" | |
| relaycommon "one-api/relay/common" | |
| "one-api/relay/constant" | |
| "one-api/types" | |
| "github.com/gin-gonic/gin" | |
| ) | |
| type Adaptor struct { | |
| } | |
| func (a *Adaptor) ConvertGeminiRequest(*gin.Context, *relaycommon.RelayInfo, *dto.GeminiChatRequest) (any, error) { | |
| //TODO implement me | |
| return nil, errors.New("not implemented") | |
| } | |
| func (a *Adaptor) ConvertClaudeRequest(*gin.Context, *relaycommon.RelayInfo, *dto.ClaudeRequest) (any, error) { | |
| //TODO implement me | |
| panic("implement me") | |
| return nil, nil | |
| } | |
| func (a *Adaptor) ConvertAudioRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.AudioRequest) (io.Reader, error) { | |
| //TODO implement me | |
| return nil, errors.New("not implemented") | |
| } | |
| func (a *Adaptor) ConvertImageRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.ImageRequest) (any, error) { | |
| //TODO implement me | |
| return nil, errors.New("not implemented") | |
| } | |
| func (a *Adaptor) Init(info *relaycommon.RelayInfo) { | |
| } | |
| func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) { | |
| if info.RelayMode == constant.RelayModeRerank { | |
| return fmt.Sprintf("%s/v1/rerank", info.ChannelBaseUrl), nil | |
| } else { | |
| return fmt.Sprintf("%s/v1/chat", info.ChannelBaseUrl), nil | |
| } | |
| } | |
| func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Header, info *relaycommon.RelayInfo) error { | |
| channel.SetupApiRequestHeader(info, c, req) | |
| req.Set("Authorization", fmt.Sprintf("Bearer %s", info.ApiKey)) | |
| return nil | |
| } | |
| func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayInfo, request *dto.GeneralOpenAIRequest) (any, error) { | |
| return requestOpenAI2Cohere(*request), nil | |
| } | |
| func (a *Adaptor) ConvertOpenAIResponsesRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.OpenAIResponsesRequest) (any, error) { | |
| // TODO implement me | |
| return nil, errors.New("not implemented") | |
| } | |
| 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) ConvertRerankRequest(c *gin.Context, relayMode int, request dto.RerankRequest) (any, error) { | |
| return requestConvertRerank2Cohere(request), nil | |
| } | |
| func (a *Adaptor) ConvertEmbeddingRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.EmbeddingRequest) (any, error) { | |
| //TODO implement me | |
| return nil, errors.New("not implemented") | |
| } | |
| func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (usage any, err *types.NewAPIError) { | |
| if info.RelayMode == constant.RelayModeRerank { | |
| usage, err = cohereRerankHandler(c, resp, info) | |
| } else { | |
| if info.IsStream { | |
| usage, err = cohereStreamHandler(c, info, resp) // TODO: fix this | |
| } else { | |
| usage, err = cohereHandler(c, info, resp) | |
| } | |
| } | |
| return | |
| } | |
| func (a *Adaptor) GetModelList() []string { | |
| return ModelList | |
| } | |
| func (a *Adaptor) GetChannelName() string { | |
| return ChannelName | |
| } | |