relay_adaptor.go 1.3 KB

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