add: support replicate

This commit is contained in:
2024-01-23 15:20:22 +08:00
parent 1fc17daa35
commit b1a9d6b685
5 changed files with 461 additions and 5 deletions

13
main.go
View File

@@ -123,9 +123,9 @@ func main() {
}
for index, upstream := range config.Upstreams {
if upstream.Endpoint == "" || upstream.SK == "" {
if upstream.SK == "" {
sendCORSHeaders(c)
c.AbortWithError(500, fmt.Errorf("[processRequest.begin]: invaild upstream '%s' '%s'", upstream.SK, upstream.Endpoint))
c.AbortWithError(500, fmt.Errorf("[processRequest.begin]: invaild SK (secret key) '%s'", upstream.SK))
continue
}
@@ -135,7 +135,14 @@ func main() {
upstream.Timeout = 120
}
err = processRequest(c, &upstream, &record, shouldResponse)
if upstream.Type == "replicate" {
err = processReplicateRequest(c, &upstream, &record, shouldResponse)
} else if upstream.Type == "openai" {
err = processRequest(c, &upstream, &record, shouldResponse)
} else {
err = fmt.Errorf("[processRequest.begin]: unsupported upstream type '%s'", upstream.Type)
}
if err != nil {
if err == http.ErrAbortHandler {
abortErr := "[processRequest.done]: AbortHandler, client's connection lost?, no upstream will try, stop here"