Some checks failed
Publish Docker image (English) / Push Docker image to multiple registries (push) Has been cancelled
Publish Docker image / Push Docker image to multiple registries (push) Has been cancelled
Linux Release / release (push) Has been cancelled
macOS Release / release (push) Has been cancelled
Windows Release / release (push) Has been cancelled
Add the Proxy channel type and relay mode to support proxying requests to custom upstream services.
67 lines
2.1 KiB
Go
67 lines
2.1 KiB
Go
package relay
|
|
|
|
import (
|
|
"github.com/songquanpeng/one-api/relay/adaptor"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/aiproxy"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/ali"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/anthropic"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/aws"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/baidu"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/cloudflare"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/cohere"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/coze"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/deepl"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/gemini"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/ollama"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/openai"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/palm"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/proxy"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/tencent"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/vertexai"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/xunfei"
|
|
"github.com/songquanpeng/one-api/relay/adaptor/zhipu"
|
|
"github.com/songquanpeng/one-api/relay/apitype"
|
|
)
|
|
|
|
func GetAdaptor(apiType int) adaptor.Adaptor {
|
|
switch apiType {
|
|
case apitype.AIProxyLibrary:
|
|
return &aiproxy.Adaptor{}
|
|
case apitype.Ali:
|
|
return &ali.Adaptor{}
|
|
case apitype.Anthropic:
|
|
return &anthropic.Adaptor{}
|
|
case apitype.AwsClaude:
|
|
return &aws.Adaptor{}
|
|
case apitype.Baidu:
|
|
return &baidu.Adaptor{}
|
|
case apitype.Gemini:
|
|
return &gemini.Adaptor{}
|
|
case apitype.OpenAI:
|
|
return &openai.Adaptor{}
|
|
case apitype.PaLM:
|
|
return &palm.Adaptor{}
|
|
case apitype.Tencent:
|
|
return &tencent.Adaptor{}
|
|
case apitype.Xunfei:
|
|
return &xunfei.Adaptor{}
|
|
case apitype.Zhipu:
|
|
return &zhipu.Adaptor{}
|
|
case apitype.Ollama:
|
|
return &ollama.Adaptor{}
|
|
case apitype.Coze:
|
|
return &coze.Adaptor{}
|
|
case apitype.Cohere:
|
|
return &cohere.Adaptor{}
|
|
case apitype.Cloudflare:
|
|
return &cloudflare.Adaptor{}
|
|
case apitype.DeepL:
|
|
return &deepl.Adaptor{}
|
|
case apitype.VertexAI:
|
|
return &vertexai.Adaptor{}
|
|
case apitype.Proxy:
|
|
return &proxy.Adaptor{}
|
|
}
|
|
return nil
|
|
}
|