mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-11-13 11:53:42 +08:00
Merge remote-tracking branch 'origin/upstream/main'
This commit is contained in:
@@ -1,22 +1,70 @@
|
||||
package xunfei
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/songquanpeng/one-api/relay/channel/openai"
|
||||
"net/http"
|
||||
)
|
||||
// import (
|
||||
// "errors"
|
||||
// "github.com/gin-gonic/gin"
|
||||
// "github.com/songquanpeng/one-api/relay/channel"
|
||||
// "github.com/songquanpeng/one-api/relay/channel/openai"
|
||||
// "github.com/songquanpeng/one-api/relay/model"
|
||||
// "github.com/songquanpeng/one-api/relay/util"
|
||||
// "io"
|
||||
// "net/http"
|
||||
// "strings"
|
||||
// )
|
||||
|
||||
type Adaptor struct {
|
||||
}
|
||||
// type Adaptor struct {
|
||||
// request *model.GeneralOpenAIRequest
|
||||
// }
|
||||
|
||||
func (a *Adaptor) Auth(c *gin.Context) error {
|
||||
return nil
|
||||
}
|
||||
// func (a *Adaptor) Init(meta *util.RelayMeta) {
|
||||
|
||||
func (a *Adaptor) ConvertRequest(request *openai.GeneralOpenAIRequest) (any, error) {
|
||||
return nil, nil
|
||||
}
|
||||
// }
|
||||
|
||||
func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response) (*openai.ErrorWithStatusCode, *openai.Usage, error) {
|
||||
return nil, nil, nil
|
||||
}
|
||||
// func (a *Adaptor) GetRequestURL(meta *util.RelayMeta) (string, error) {
|
||||
// return "", nil
|
||||
// }
|
||||
|
||||
// func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Request, meta *util.RelayMeta) error {
|
||||
// channel.SetupCommonRequestHeader(c, req, meta)
|
||||
// // check DoResponse for auth part
|
||||
// return nil
|
||||
// }
|
||||
|
||||
// func (a *Adaptor) ConvertRequest(c *gin.Context, relayMode int, request *model.GeneralOpenAIRequest) (any, error) {
|
||||
// if request == nil {
|
||||
// return nil, errors.New("request is nil")
|
||||
// }
|
||||
// a.request = request
|
||||
// return nil, nil
|
||||
// }
|
||||
|
||||
// func (a *Adaptor) DoRequest(c *gin.Context, meta *util.RelayMeta, requestBody io.Reader) (*http.Response, error) {
|
||||
// // xunfei's request is not http request, so we don't need to do anything here
|
||||
// dummyResp := &http.Response{}
|
||||
// dummyResp.StatusCode = http.StatusOK
|
||||
// return dummyResp, nil
|
||||
// }
|
||||
|
||||
// func (a *Adaptor) DoResponse(c *gin.Context, resp *http.Response, meta *util.RelayMeta) (usage *model.Usage, err *model.ErrorWithStatusCode) {
|
||||
// splits := strings.Split(meta.APIKey, "|")
|
||||
// if len(splits) != 3 {
|
||||
// return nil, openai.ErrorWrapper(errors.New("invalid auth"), "invalid_auth", http.StatusBadRequest)
|
||||
// }
|
||||
// if a.request == nil {
|
||||
// return nil, openai.ErrorWrapper(errors.New("request is nil"), "request_is_nil", http.StatusBadRequest)
|
||||
// }
|
||||
// if meta.IsStream {
|
||||
// err, usage = StreamHandler(c, *a.request, splits[0], splits[1], splits[2])
|
||||
// } else {
|
||||
// err, usage = Handler(c, *a.request, splits[0], splits[1], splits[2])
|
||||
// }
|
||||
// return
|
||||
// }
|
||||
|
||||
// func (a *Adaptor) GetModelList() []string {
|
||||
// return ModelList
|
||||
// }
|
||||
|
||||
// func (a *Adaptor) GetChannelName() string {
|
||||
// return "xunfei"
|
||||
// }
|
||||
|
||||
9
relay/channel/xunfei/constants.go
Normal file
9
relay/channel/xunfei/constants.go
Normal file
@@ -0,0 +1,9 @@
|
||||
package xunfei
|
||||
|
||||
var ModelList = []string{
|
||||
"SparkDesk",
|
||||
"SparkDesk-v1.1",
|
||||
"SparkDesk-v2.1",
|
||||
"SparkDesk-v3.1",
|
||||
"SparkDesk-v3.5",
|
||||
}
|
||||
@@ -1,61 +1,61 @@
|
||||
package xunfei
|
||||
|
||||
import (
|
||||
"github.com/songquanpeng/one-api/relay/channel/openai"
|
||||
)
|
||||
// import (
|
||||
// "github.com/songquanpeng/one-api/relay/model"
|
||||
// )
|
||||
|
||||
type Message struct {
|
||||
Role string `json:"role"`
|
||||
Content string `json:"content"`
|
||||
}
|
||||
// type Message struct {
|
||||
// Role string `json:"role"`
|
||||
// Content string `json:"content"`
|
||||
// }
|
||||
|
||||
type ChatRequest struct {
|
||||
Header struct {
|
||||
AppId string `json:"app_id"`
|
||||
} `json:"header"`
|
||||
Parameter struct {
|
||||
Chat struct {
|
||||
Domain string `json:"domain,omitempty"`
|
||||
Temperature float64 `json:"temperature,omitempty"`
|
||||
TopK int `json:"top_k,omitempty"`
|
||||
MaxTokens int `json:"max_tokens,omitempty"`
|
||||
Auditing bool `json:"auditing,omitempty"`
|
||||
} `json:"chat"`
|
||||
} `json:"parameter"`
|
||||
Payload struct {
|
||||
Message struct {
|
||||
Text []Message `json:"text"`
|
||||
} `json:"message"`
|
||||
} `json:"payload"`
|
||||
}
|
||||
// type ChatRequest struct {
|
||||
// Header struct {
|
||||
// AppId string `json:"app_id"`
|
||||
// } `json:"header"`
|
||||
// Parameter struct {
|
||||
// Chat struct {
|
||||
// Domain string `json:"domain,omitempty"`
|
||||
// Temperature float64 `json:"temperature,omitempty"`
|
||||
// TopK int `json:"top_k,omitempty"`
|
||||
// MaxTokens int `json:"max_tokens,omitempty"`
|
||||
// Auditing bool `json:"auditing,omitempty"`
|
||||
// } `json:"chat"`
|
||||
// } `json:"parameter"`
|
||||
// Payload struct {
|
||||
// Message struct {
|
||||
// Text []Message `json:"text"`
|
||||
// } `json:"message"`
|
||||
// } `json:"payload"`
|
||||
// }
|
||||
|
||||
type ChatResponseTextItem struct {
|
||||
Content string `json:"content"`
|
||||
Role string `json:"role"`
|
||||
Index int `json:"index"`
|
||||
}
|
||||
// type ChatResponseTextItem struct {
|
||||
// Content string `json:"content"`
|
||||
// Role string `json:"role"`
|
||||
// Index int `json:"index"`
|
||||
// }
|
||||
|
||||
type ChatResponse struct {
|
||||
Header struct {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
Sid string `json:"sid"`
|
||||
Status int `json:"status"`
|
||||
} `json:"header"`
|
||||
Payload struct {
|
||||
Choices struct {
|
||||
Status int `json:"status"`
|
||||
Seq int `json:"seq"`
|
||||
Text []ChatResponseTextItem `json:"text"`
|
||||
} `json:"choices"`
|
||||
Usage struct {
|
||||
//Text struct {
|
||||
// QuestionTokens string `json:"question_tokens"`
|
||||
// PromptTokens string `json:"prompt_tokens"`
|
||||
// CompletionTokens string `json:"completion_tokens"`
|
||||
// TotalTokens string `json:"total_tokens"`
|
||||
//} `json:"text"`
|
||||
Text openai.Usage `json:"text"`
|
||||
} `json:"usage"`
|
||||
} `json:"payload"`
|
||||
}
|
||||
// type ChatResponse struct {
|
||||
// Header struct {
|
||||
// Code int `json:"code"`
|
||||
// Message string `json:"message"`
|
||||
// Sid string `json:"sid"`
|
||||
// Status int `json:"status"`
|
||||
// } `json:"header"`
|
||||
// Payload struct {
|
||||
// Choices struct {
|
||||
// Status int `json:"status"`
|
||||
// Seq int `json:"seq"`
|
||||
// Text []ChatResponseTextItem `json:"text"`
|
||||
// } `json:"choices"`
|
||||
// Usage struct {
|
||||
// //Text struct {
|
||||
// // QuestionTokens string `json:"question_tokens"`
|
||||
// // PromptTokens string `json:"prompt_tokens"`
|
||||
// // CompletionTokens string `json:"completion_tokens"`
|
||||
// // TotalTokens string `json:"total_tokens"`
|
||||
// //} `json:"text"`
|
||||
// Text model.Usage `json:"text"`
|
||||
// } `json:"usage"`
|
||||
// } `json:"payload"`
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user