relay_adaptor.go 2.7 KB

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