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 }