package constant import "strings" const ( RelayModeUnknown = iota RelayModeChatCompletions RelayModeCompletions RelayModeEmbeddings RelayModeModerations RelayModeImagesGenerations RelayModeEdits RelayModeAudioSpeech RelayModeAudioTranscription RelayModeAudioTranslation ) func Path2RelayMode(path string) int { relayMode := RelayModeUnknown if strings.HasPrefix(path, "/v1/chat/completions") { relayMode = RelayModeChatCompletions } else if strings.HasPrefix(path, "/v1/completions") { relayMode = RelayModeCompletions } else if strings.HasPrefix(path, "/v1/embeddings") { relayMode = RelayModeEmbeddings } else if strings.HasSuffix(path, "embeddings") { relayMode = RelayModeEmbeddings } else if strings.HasPrefix(path, "/v1/moderations") { relayMode = RelayModeModerations } else if strings.HasPrefix(path, "/v1/images/generations") { relayMode = RelayModeImagesGenerations } else if strings.HasPrefix(path, "/v1/edits") { relayMode = RelayModeEdits } else if strings.HasPrefix(path, "/v1/audio/speech") { relayMode = RelayModeAudioSpeech } else if strings.HasPrefix(path, "/v1/audio/transcriptions") { relayMode = RelayModeAudioTranscription } else if strings.HasPrefix(path, "/v1/audio/translations") { relayMode = RelayModeAudioTranslation } return relayMode }