relay_mode.go 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. RelayModeSwapFace
  27. )
  28. func Path2RelayMode(path string) int {
  29. relayMode := RelayModeUnknown
  30. if strings.HasPrefix(path, "/v1/chat/completions") {
  31. relayMode = RelayModeChatCompletions
  32. } else if strings.HasPrefix(path, "/v1/completions") {
  33. relayMode = RelayModeCompletions
  34. } else if strings.HasPrefix(path, "/v1/embeddings") {
  35. relayMode = RelayModeEmbeddings
  36. } else if strings.HasSuffix(path, "embeddings") {
  37. relayMode = RelayModeEmbeddings
  38. } else if strings.HasPrefix(path, "/v1/moderations") {
  39. relayMode = RelayModeModerations
  40. } else if strings.HasPrefix(path, "/v1/images/generations") {
  41. relayMode = RelayModeImagesGenerations
  42. } else if strings.HasPrefix(path, "/v1/edits") {
  43. relayMode = RelayModeEdits
  44. } else if strings.HasPrefix(path, "/v1/audio/speech") {
  45. relayMode = RelayModeAudioSpeech
  46. } else if strings.HasPrefix(path, "/v1/audio/transcriptions") {
  47. relayMode = RelayModeAudioTranscription
  48. } else if strings.HasPrefix(path, "/v1/audio/translations") {
  49. relayMode = RelayModeAudioTranslation
  50. }
  51. return relayMode
  52. }
  53. func Path2RelayModeMidjourney(path string) int {
  54. relayMode := RelayModeUnknown
  55. if strings.HasSuffix(path, "/mj/submit/action") {
  56. // midjourney plus
  57. relayMode = RelayModeMidjourneyAction
  58. } else if strings.HasSuffix(path, "/mj/submit/modal") {
  59. // midjourney plus
  60. relayMode = RelayModeMidjourneyModal
  61. } else if strings.HasSuffix(path, "/mj/submit/shorten") {
  62. // midjourney plus
  63. relayMode = RelayModeMidjourneyShorten
  64. } else if strings.HasSuffix(path, "/mj/insight-face/swap") {
  65. // midjourney plus
  66. relayMode = RelayModeSwapFace
  67. } else if strings.HasSuffix(path, "/mj/submit/imagine") {
  68. relayMode = RelayModeMidjourneyImagine
  69. } else if strings.HasSuffix(path, "/mj/submit/blend") {
  70. relayMode = RelayModeMidjourneyBlend
  71. } else if strings.HasSuffix(path, "/mj/submit/describe") {
  72. relayMode = RelayModeMidjourneyDescribe
  73. } else if strings.HasSuffix(path, "/mj/notify") {
  74. relayMode = RelayModeMidjourneyNotify
  75. } else if strings.HasSuffix(path, "/mj/submit/change") {
  76. relayMode = RelayModeMidjourneyChange
  77. } else if strings.HasSuffix(path, "/mj/submit/simple-change") {
  78. relayMode = RelayModeMidjourneyChange
  79. } else if strings.HasSuffix(path, "/fetch") {
  80. relayMode = RelayModeMidjourneyTaskFetch
  81. } else if strings.HasSuffix(path, "/image-seed") {
  82. relayMode = RelayModeMidjourneyTaskImageSeed
  83. } else if strings.HasSuffix(path, "/list-by-condition") {
  84. relayMode = RelayModeMidjourneyTaskFetchByCondition
  85. }
  86. return relayMode
  87. }