| package common |
|
|
| import "github.com/QuantumNous/new-api/constant" |
|
|
| |
| func GetEndpointTypesByChannelType(channelType int, modelName string) []constant.EndpointType { |
| var endpointTypes []constant.EndpointType |
| switch channelType { |
| case constant.ChannelTypeJina: |
| endpointTypes = []constant.EndpointType{constant.EndpointTypeJinaRerank} |
| |
| |
| |
| |
| |
| |
| |
| |
| case constant.ChannelTypeAws: |
| fallthrough |
| case constant.ChannelTypeAnthropic: |
| endpointTypes = []constant.EndpointType{constant.EndpointTypeAnthropic, constant.EndpointTypeOpenAI} |
| case constant.ChannelTypeVertexAi: |
| fallthrough |
| case constant.ChannelTypeGemini: |
| endpointTypes = []constant.EndpointType{constant.EndpointTypeGemini, constant.EndpointTypeOpenAI} |
| case constant.ChannelTypeOpenRouter: |
| endpointTypes = []constant.EndpointType{constant.EndpointTypeOpenAI} |
| case constant.ChannelTypeXai: |
| endpointTypes = []constant.EndpointType{constant.EndpointTypeOpenAI, constant.EndpointTypeOpenAIResponse} |
| case constant.ChannelTypeSora: |
| endpointTypes = []constant.EndpointType{constant.EndpointTypeOpenAIVideo} |
| default: |
| if IsOpenAIResponseOnlyModel(modelName) { |
| endpointTypes = []constant.EndpointType{constant.EndpointTypeOpenAIResponse} |
| } else { |
| endpointTypes = []constant.EndpointType{constant.EndpointTypeOpenAI} |
| } |
| } |
| if IsImageGenerationModel(modelName) { |
| |
| endpointTypes = append([]constant.EndpointType{constant.EndpointTypeImageGeneration}, endpointTypes...) |
| } |
| return endpointTypes |
| } |
|
|