relay_adaptor.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package relay
  2. import (
  3. "one-api/relay/channel"
  4. "one-api/relay/channel/ali"
  5. "one-api/relay/channel/baidu"
  6. "one-api/relay/channel/claude"
  7. "one-api/relay/channel/gemini"
  8. "one-api/relay/channel/openai"
  9. "one-api/relay/channel/palm"
  10. "one-api/relay/channel/tencent"
  11. "one-api/relay/channel/xunfei"
  12. "one-api/relay/channel/zhipu"
  13. "one-api/relay/channel/zhipu_4v"
  14. "one-api/relay/constant"
  15. )
  16. func GetAdaptor(apiType int) channel.Adaptor {
  17. switch apiType {
  18. //case constant.APITypeAIProxyLibrary:
  19. // return &aiproxy.Adaptor{}
  20. case constant.APITypeAli:
  21. return &ali.Adaptor{}
  22. case constant.APITypeAnthropic:
  23. return &claude.Adaptor{}
  24. case constant.APITypeBaidu:
  25. return &baidu.Adaptor{}
  26. case constant.APITypeGemini:
  27. return &gemini.Adaptor{}
  28. case constant.APITypeOpenAI:
  29. return &openai.Adaptor{}
  30. case constant.APITypePaLM:
  31. return &palm.Adaptor{}
  32. case constant.APITypeTencent:
  33. return &tencent.Adaptor{}
  34. case constant.APITypeXunfei:
  35. return &xunfei.Adaptor{}
  36. case constant.APITypeZhipu:
  37. return &zhipu.Adaptor{}
  38. case constant.APITypeZhipu_v4:
  39. return &zhipu_4v.Adaptor{}
  40. }
  41. return nil
  42. }