mirror of
https://github.com/alibaba/higress.git
synced 2026-06-05 10:37:28 +08:00
Feat/new api path support (#3620)
This commit is contained in:
@@ -34,6 +34,9 @@ func (m *openaiProviderInitializer) DefaultCapabilities() map[string]string {
|
||||
string(ApiNameImageEdit): PathOpenAIImageEdit,
|
||||
string(ApiNameImageVariation): PathOpenAIImageVariation,
|
||||
string(ApiNameAudioSpeech): PathOpenAIAudioSpeech,
|
||||
string(ApiNameAudioTranscription): PathOpenAIAudioTranscriptions,
|
||||
string(ApiNameAudioTranslation): PathOpenAIAudioTranslations,
|
||||
string(ApiNameRealtime): PathOpenAIRealtime,
|
||||
string(ApiNameModels): PathOpenAIModels,
|
||||
string(ApiNameFiles): PathOpenAIFiles,
|
||||
string(ApiNameRetrieveFile): PathOpenAIRetrieveFile,
|
||||
@@ -63,6 +66,8 @@ func isDirectPath(path string) bool {
|
||||
return strings.HasSuffix(path, "/completions") ||
|
||||
strings.HasSuffix(path, "/embeddings") ||
|
||||
strings.HasSuffix(path, "/audio/speech") ||
|
||||
strings.HasSuffix(path, "/audio/transcriptions") ||
|
||||
strings.HasSuffix(path, "/audio/translations") ||
|
||||
strings.HasSuffix(path, "/images/generations") ||
|
||||
strings.HasSuffix(path, "/images/variations") ||
|
||||
strings.HasSuffix(path, "/images/edits") ||
|
||||
@@ -70,6 +75,7 @@ func isDirectPath(path string) bool {
|
||||
strings.HasSuffix(path, "/responses") ||
|
||||
strings.HasSuffix(path, "/fine_tuning/jobs") ||
|
||||
strings.HasSuffix(path, "/fine_tuning/checkpoints") ||
|
||||
strings.HasSuffix(path, "/realtime") ||
|
||||
strings.HasSuffix(path, "/videos")
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,9 @@ const (
|
||||
ApiNameImageEdit ApiName = "openai/v1/imageedit"
|
||||
ApiNameImageVariation ApiName = "openai/v1/imagevariation"
|
||||
ApiNameAudioSpeech ApiName = "openai/v1/audiospeech"
|
||||
ApiNameAudioTranscription ApiName = "openai/v1/audiotranscription"
|
||||
ApiNameAudioTranslation ApiName = "openai/v1/audiotranslation"
|
||||
ApiNameRealtime ApiName = "openai/v1/realtime"
|
||||
ApiNameFiles ApiName = "openai/v1/files"
|
||||
ApiNameRetrieveFile ApiName = "openai/v1/retrievefile"
|
||||
ApiNameRetrieveFileContent ApiName = "openai/v1/retrievefilecontent"
|
||||
@@ -90,6 +93,9 @@ const (
|
||||
PathOpenAIImageEdit = "/v1/images/edits"
|
||||
PathOpenAIImageVariation = "/v1/images/variations"
|
||||
PathOpenAIAudioSpeech = "/v1/audio/speech"
|
||||
PathOpenAIAudioTranscriptions = "/v1/audio/transcriptions"
|
||||
PathOpenAIAudioTranslations = "/v1/audio/translations"
|
||||
PathOpenAIRealtime = "/v1/realtime"
|
||||
PathOpenAIResponses = "/v1/responses"
|
||||
PathOpenAIFineTuningJobs = "/v1/fine_tuning/jobs"
|
||||
PathOpenAIRetrieveFineTuningJob = "/v1/fine_tuning/jobs/{fine_tuning_job_id}"
|
||||
@@ -662,6 +668,10 @@ func (c *ProviderConfig) FromJson(json gjson.Result) {
|
||||
string(ApiNameImageVariation),
|
||||
string(ApiNameImageEdit),
|
||||
string(ApiNameAudioSpeech),
|
||||
string(ApiNameAudioTranscription),
|
||||
string(ApiNameAudioTranslation),
|
||||
string(ApiNameRealtime),
|
||||
string(ApiNameResponses),
|
||||
string(ApiNameCohereV1Rerank),
|
||||
string(ApiNameVideos),
|
||||
string(ApiNameRetrieveVideo),
|
||||
|
||||
@@ -30,6 +30,7 @@ const (
|
||||
qwenCompatibleChatCompletionPath = "/compatible-mode/v1/chat/completions"
|
||||
qwenCompatibleCompletionsPath = "/compatible-mode/v1/completions"
|
||||
qwenCompatibleTextEmbeddingPath = "/compatible-mode/v1/embeddings"
|
||||
qwenCompatibleResponsesPath = "/api/v2/apps/protocols/compatible-mode/v1/responses"
|
||||
qwenCompatibleFilesPath = "/compatible-mode/v1/files"
|
||||
qwenCompatibleRetrieveFilePath = "/compatible-mode/v1/files/{file_id}"
|
||||
qwenCompatibleRetrieveFileContentPath = "/compatible-mode/v1/files/{file_id}/content"
|
||||
@@ -69,6 +70,7 @@ func (m *qwenProviderInitializer) DefaultCapabilities(qwenEnableCompatible bool)
|
||||
string(ApiNameChatCompletion): qwenCompatibleChatCompletionPath,
|
||||
string(ApiNameEmbeddings): qwenCompatibleTextEmbeddingPath,
|
||||
string(ApiNameCompletion): qwenCompatibleCompletionsPath,
|
||||
string(ApiNameResponses): qwenCompatibleResponsesPath,
|
||||
string(ApiNameFiles): qwenCompatibleFilesPath,
|
||||
string(ApiNameRetrieveFile): qwenCompatibleRetrieveFilePath,
|
||||
string(ApiNameRetrieveFileContent): qwenCompatibleRetrieveFileContentPath,
|
||||
@@ -707,6 +709,8 @@ func (m *qwenProvider) GetApiName(path string) ApiName {
|
||||
case strings.Contains(path, qwenTextEmbeddingPath),
|
||||
strings.Contains(path, qwenCompatibleTextEmbeddingPath):
|
||||
return ApiNameEmbeddings
|
||||
case strings.Contains(path, qwenCompatibleResponsesPath):
|
||||
return ApiNameResponses
|
||||
case strings.Contains(path, qwenAsyncAIGCPath):
|
||||
return ApiNameQwenAsyncAIGC
|
||||
case strings.Contains(path, qwenAsyncTaskPath):
|
||||
|
||||
Reference in New Issue
Block a user