relay_mode.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package constant
  2. import "strings"
  3. const (
  4. RelayModeUnknown = iota
  5. RelayModeChatCompletions
  6. RelayModeCompletions
  7. RelayModeEmbeddings
  8. RelayModeModerations
  9. RelayModeImagesGenerations
  10. RelayModeEdits
  11. RelayModeMidjourneyImagine
  12. RelayModeMidjourneyDescribe
  13. RelayModeMidjourneyBlend
  14. RelayModeMidjourneyChange
  15. RelayModeMidjourneySimpleChange
  16. RelayModeMidjourneyNotify
  17. RelayModeMidjourneyTaskFetch
  18. RelayModeMidjourneyTaskImageSeed
  19. RelayModeMidjourneyTaskFetchByCondition
  20. RelayModeAudioSpeech
  21. RelayModeAudioTranscription
  22. RelayModeAudioTranslation
  23. RelayModeMidjourneyAction
  24. RelayModeMidjourneyModal
  25. RelayModeMidjourneyShorten
  26. )
  27. func Path2RelayMode(path string) int {
  28. relayMode := RelayModeUnknown
  29. if strings.HasPrefix(path, "/v1/chat/completions") {
  30. relayMode = RelayModeChatCompletions
  31. } else if strings.HasPrefix(path, "/v1/completions") {
  32. relayMode = RelayModeCompletions
  33. } else if strings.HasPrefix(path, "/v1/embeddings") {
  34. relayMode = RelayModeEmbeddings
  35. } else if strings.HasSuffix(path, "embeddings") {
  36. relayMode = RelayModeEmbeddings
  37. } else if strings.HasPrefix(path, "/v1/moderations") {
  38. relayMode = RelayModeModerations
  39. } else if strings.HasPrefix(path, "/v1/images/generations") {
  40. relayMode = RelayModeImagesGenerations
  41. } else if strings.HasPrefix(path, "/v1/edits") {
  42. relayMode = RelayModeEdits
  43. } else if strings.HasPrefix(path, "/v1/audio/speech") {
  44. relayMode = RelayModeAudioSpeech
  45. } else if strings.HasPrefix(path, "/v1/audio/transcriptions") {
  46. relayMode = RelayModeAudioTranscription
  47. } else if strings.HasPrefix(path, "/v1/audio/translations") {
  48. relayMode = RelayModeAudioTranslation
  49. }
  50. return relayMode
  51. }
  52. func Path2RelayModeMidjourney(path string) int {
  53. relayMode := RelayModeUnknown
  54. if strings.HasPrefix(path, "/mj/submit/action") {
  55. // midjourney plus
  56. relayMode = RelayModeMidjourneyAction
  57. } else if strings.HasPrefix(path, "/mj/submit/modal") {
  58. // midjourney plus
  59. relayMode = RelayModeMidjourneyModal
  60. } else if strings.HasPrefix(path, "/mj/submit/shorten") {
  61. // midjourney plus
  62. relayMode = RelayModeMidjourneyShorten
  63. } else if strings.HasPrefix(path, "/mj/submit/imagine") {
  64. relayMode = RelayModeMidjourneyImagine
  65. } else if strings.HasPrefix(path, "/mj/submit/blend") {
  66. relayMode = RelayModeMidjourneyBlend
  67. } else if strings.HasPrefix(path, "/mj/submit/describe") {
  68. relayMode = RelayModeMidjourneyDescribe
  69. } else if strings.HasPrefix(path, "/mj/notify") {
  70. relayMode = RelayModeMidjourneyNotify
  71. } else if strings.HasPrefix(path, "/mj/submit/change") {
  72. relayMode = RelayModeMidjourneyChange
  73. } else if strings.HasPrefix(path, "/mj/submit/simple-change") {
  74. relayMode = RelayModeMidjourneyChange
  75. } else if strings.HasSuffix(path, "/fetch") {
  76. relayMode = RelayModeMidjourneyTaskFetch
  77. } else if strings.HasSuffix(path, "/image-seed") {
  78. relayMode = RelayModeMidjourneyTaskImageSeed
  79. } else if strings.HasSuffix(path, "/list-by-condition") {
  80. relayMode = RelayModeMidjourneyTaskFetchByCondition
  81. }
  82. return relayMode
  83. }