| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package common
- import "one-api/constant"
- // GetEndpointTypesByChannelType 获取渠道最优先端点类型(所有的渠道都支持 OpenAI 端点)
- func GetEndpointTypesByChannelType(channelType int, modelName string) []constant.EndpointType {
- var endpointTypes []constant.EndpointType
- switch channelType {
- case constant.ChannelTypeJina:
- endpointTypes = []constant.EndpointType{constant.EndpointTypeJinaRerank}
- //case constant.ChannelTypeMidjourney, constant.ChannelTypeMidjourneyPlus:
- // endpointTypes = []constant.EndpointType{constant.EndpointTypeMidjourney}
- //case constant.ChannelTypeSunoAPI:
- // endpointTypes = []constant.EndpointType{constant.EndpointTypeSuno}
- //case constant.ChannelTypeKling:
- // endpointTypes = []constant.EndpointType{constant.EndpointTypeKling}
- //case constant.ChannelTypeJimeng:
- // endpointTypes = []constant.EndpointType{constant.EndpointTypeJimeng}
- 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: // OpenRouter 只支持 OpenAI 端点
- endpointTypes = []constant.EndpointType{constant.EndpointTypeOpenAI}
- default:
- if IsOpenAIResponseOnlyModel(modelName) {
- endpointTypes = []constant.EndpointType{constant.EndpointTypeOpenAIResponse}
- } else {
- endpointTypes = []constant.EndpointType{constant.EndpointTypeOpenAI}
- }
- }
- if IsImageGenerationModel(modelName) {
- // add to first
- endpointTypes = append([]constant.EndpointType{constant.EndpointTypeImageGeneration}, endpointTypes...)
- }
- return endpointTypes
- }
|