relay_adaptor.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. package relay
  2. import (
  3. "one-api/constant"
  4. commonconstant "one-api/constant"
  5. "one-api/relay/channel"
  6. "one-api/relay/channel/ali"
  7. "one-api/relay/channel/aws"
  8. "one-api/relay/channel/baidu"
  9. "one-api/relay/channel/baidu_v2"
  10. "one-api/relay/channel/claude"
  11. "one-api/relay/channel/cloudflare"
  12. "one-api/relay/channel/cohere"
  13. "one-api/relay/channel/coze"
  14. "one-api/relay/channel/deepseek"
  15. "one-api/relay/channel/dify"
  16. "one-api/relay/channel/gemini"
  17. "one-api/relay/channel/jimeng"
  18. "one-api/relay/channel/jina"
  19. "one-api/relay/channel/mistral"
  20. "one-api/relay/channel/mokaai"
  21. "one-api/relay/channel/ollama"
  22. "one-api/relay/channel/openai"
  23. "one-api/relay/channel/palm"
  24. "one-api/relay/channel/perplexity"
  25. "one-api/relay/channel/siliconflow"
  26. taskjimeng "one-api/relay/channel/task/jimeng"
  27. "one-api/relay/channel/task/kling"
  28. "one-api/relay/channel/task/suno"
  29. "one-api/relay/channel/tencent"
  30. "one-api/relay/channel/vertex"
  31. "one-api/relay/channel/volcengine"
  32. "one-api/relay/channel/xai"
  33. "one-api/relay/channel/xunfei"
  34. "one-api/relay/channel/zhipu"
  35. "one-api/relay/channel/zhipu_4v"
  36. )
  37. func GetAdaptor(apiType int) channel.Adaptor {
  38. switch apiType {
  39. case constant.APITypeAli:
  40. return &ali.Adaptor{}
  41. case constant.APITypeAnthropic:
  42. return &claude.Adaptor{}
  43. case constant.APITypeBaidu:
  44. return &baidu.Adaptor{}
  45. case constant.APITypeGemini:
  46. return &gemini.Adaptor{}
  47. case constant.APITypeOpenAI:
  48. return &openai.Adaptor{}
  49. case constant.APITypePaLM:
  50. return &palm.Adaptor{}
  51. case constant.APITypeTencent:
  52. return &tencent.Adaptor{}
  53. case constant.APITypeXunfei:
  54. return &xunfei.Adaptor{}
  55. case constant.APITypeZhipu:
  56. return &zhipu.Adaptor{}
  57. case constant.APITypeZhipuV4:
  58. return &zhipu_4v.Adaptor{}
  59. case constant.APITypeOllama:
  60. return &ollama.Adaptor{}
  61. case constant.APITypePerplexity:
  62. return &perplexity.Adaptor{}
  63. case constant.APITypeAws:
  64. return &aws.Adaptor{}
  65. case constant.APITypeCohere:
  66. return &cohere.Adaptor{}
  67. case constant.APITypeDify:
  68. return &dify.Adaptor{}
  69. case constant.APITypeJina:
  70. return &jina.Adaptor{}
  71. case constant.APITypeCloudflare:
  72. return &cloudflare.Adaptor{}
  73. case constant.APITypeSiliconFlow:
  74. return &siliconflow.Adaptor{}
  75. case constant.APITypeVertexAi:
  76. return &vertex.Adaptor{}
  77. case constant.APITypeMistral:
  78. return &mistral.Adaptor{}
  79. case constant.APITypeDeepSeek:
  80. return &deepseek.Adaptor{}
  81. case constant.APITypeMokaAI:
  82. return &mokaai.Adaptor{}
  83. case constant.APITypeVolcEngine:
  84. return &volcengine.Adaptor{}
  85. case constant.APITypeBaiduV2:
  86. return &baidu_v2.Adaptor{}
  87. case constant.APITypeOpenRouter:
  88. return &openai.Adaptor{}
  89. case constant.APITypeXinference:
  90. return &openai.Adaptor{}
  91. case constant.APITypeXai:
  92. return &xai.Adaptor{}
  93. case constant.APITypeCoze:
  94. return &coze.Adaptor{}
  95. case constant.APITypeJimeng:
  96. return &jimeng.Adaptor{}
  97. }
  98. return nil
  99. }
  100. func GetTaskAdaptor(platform commonconstant.TaskPlatform) channel.TaskAdaptor {
  101. switch platform {
  102. //case constant.APITypeAIProxyLibrary:
  103. // return &aiproxy.Adaptor{}
  104. case commonconstant.TaskPlatformSuno:
  105. return &suno.TaskAdaptor{}
  106. case commonconstant.TaskPlatformKling:
  107. return &kling.TaskAdaptor{}
  108. case commonconstant.TaskPlatformJimeng:
  109. return &taskjimeng.TaskAdaptor{}
  110. }
  111. return nil
  112. }