mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-11-10 10:33:41 +08:00
Refactor codebase, introduce relaymode package, update constants and improve consistency
- Refactor constant definitions and organization - Clean up package level variables and functions - Introduce new `relaymode` and `apitype` packages for constant definitions - Refactor and simplify code in several packages including `openai`, `relay/channel/baidu`, `relay/util`, `relay/controller`, `relay/channeltype` - Add helper functions in `relay/channeltype` package to convert channel type constants to corresponding API type constants - Remove deprecated functions such as `ResponseText2Usage` from `relay/channel/openai/helper.go` - Modify code in `relay/util/validation.go` and related files to use new `validator.ValidateTextRequest` function - Rename `util` package to `relaymode` and update related imports in several packages
This commit is contained in:
39
relay/channeltype/define.go
Normal file
39
relay/channeltype/define.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package channeltype
|
||||
|
||||
const (
|
||||
Unknown = iota
|
||||
OpenAI
|
||||
API2D
|
||||
Azure
|
||||
CloseAI
|
||||
OpenAISB
|
||||
OpenAIMax
|
||||
OhMyGPT
|
||||
Custom
|
||||
Ails
|
||||
AIProxy
|
||||
PaLM
|
||||
API2GPT
|
||||
AIGC2D
|
||||
Anthropic
|
||||
Baidu
|
||||
Zhipu
|
||||
Ali
|
||||
Xunfei
|
||||
AI360
|
||||
OpenRouter
|
||||
AIProxyLibrary
|
||||
FastGPT
|
||||
Tencent
|
||||
Gemini
|
||||
Moonshot
|
||||
Baichuan
|
||||
Minimax
|
||||
Mistral
|
||||
Groq
|
||||
Ollama
|
||||
LingYiWanWu
|
||||
StepFun
|
||||
|
||||
Dummy
|
||||
)
|
||||
30
relay/channeltype/helper.go
Normal file
30
relay/channeltype/helper.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package channeltype
|
||||
|
||||
import "github.com/songquanpeng/one-api/relay/apitype"
|
||||
|
||||
func ToAPIType(channelType int) int {
|
||||
apiType := apitype.OpenAI
|
||||
switch channelType {
|
||||
case Anthropic:
|
||||
apiType = apitype.Anthropic
|
||||
case Baidu:
|
||||
apiType = apitype.Baidu
|
||||
case PaLM:
|
||||
apiType = apitype.PaLM
|
||||
case Zhipu:
|
||||
apiType = apitype.Zhipu
|
||||
case Ali:
|
||||
apiType = apitype.Ali
|
||||
case Xunfei:
|
||||
apiType = apitype.Xunfei
|
||||
case AIProxyLibrary:
|
||||
apiType = apitype.AIProxyLibrary
|
||||
case Tencent:
|
||||
apiType = apitype.Tencent
|
||||
case Gemini:
|
||||
apiType = apitype.Gemini
|
||||
case Ollama:
|
||||
apiType = apitype.Ollama
|
||||
}
|
||||
return apiType
|
||||
}
|
||||
43
relay/channeltype/url.go
Normal file
43
relay/channeltype/url.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package channeltype
|
||||
|
||||
var ChannelBaseURLs = []string{
|
||||
"", // 0
|
||||
"https://api.openai.com", // 1
|
||||
"https://oa.api2d.net", // 2
|
||||
"", // 3
|
||||
"https://api.closeai-proxy.xyz", // 4
|
||||
"https://api.openai-sb.com", // 5
|
||||
"https://api.openaimax.com", // 6
|
||||
"https://api.ohmygpt.com", // 7
|
||||
"", // 8
|
||||
"https://api.caipacity.com", // 9
|
||||
"https://api.aiproxy.io", // 10
|
||||
"https://generativelanguage.googleapis.com", // 11
|
||||
"https://api.api2gpt.com", // 12
|
||||
"https://api.aigc2d.com", // 13
|
||||
"https://api.anthropic.com", // 14
|
||||
"https://aip.baidubce.com", // 15
|
||||
"https://open.bigmodel.cn", // 16
|
||||
"https://dashscope.aliyuncs.com", // 17
|
||||
"", // 18
|
||||
"https://ai.360.cn", // 19
|
||||
"https://openrouter.ai/api", // 20
|
||||
"https://api.aiproxy.io", // 21
|
||||
"https://fastgpt.run/api/openapi", // 22
|
||||
"https://hunyuan.cloud.tencent.com", // 23
|
||||
"https://generativelanguage.googleapis.com", // 24
|
||||
"https://api.moonshot.cn", // 25
|
||||
"https://api.baichuan-ai.com", // 26
|
||||
"https://api.minimax.chat", // 27
|
||||
"https://api.mistral.ai", // 28
|
||||
"https://api.groq.com/openai", // 29
|
||||
"http://localhost:11434", // 30
|
||||
"https://api.lingyiwanwu.com", // 31
|
||||
"https://api.stepfun.com", // 32
|
||||
}
|
||||
|
||||
func init() {
|
||||
if len(ChannelBaseURLs) != Dummy {
|
||||
panic("channel base urls length not match")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user