package moonshot import ( "testing" "github.com/QuantumNous/new-api/common" "github.com/QuantumNous/new-api/dto" relaycommon "github.com/QuantumNous/new-api/relay/common" "github.com/stretchr/testify/require" ) func TestConvertOpenAIRequestKimiK26UsesOnlyAllowedTemperature(t *testing.T) { request := &dto.GeneralOpenAIRequest{ Model: "kimi-k2.6", Temperature: common.GetPointer[float64](0.7), } info := &relaycommon.RelayInfo{ ChannelMeta: &relaycommon.ChannelMeta{ UpstreamModelName: "kimi-k2.6", }, } converted, err := (&Adaptor{}).ConvertOpenAIRequest(nil, info, request) require.NoError(t, err) convertedRequest, ok := converted.(*dto.GeneralOpenAIRequest) require.True(t, ok) require.NotNil(t, convertedRequest.Temperature) require.Equal(t, 1.0, *convertedRequest.Temperature) } func TestConvertOpenAIRequestKimiK26KeepsOmittedTemperatureOmitted(t *testing.T) { request := &dto.GeneralOpenAIRequest{ Model: "kimi-k2.6", } info := &relaycommon.RelayInfo{ ChannelMeta: &relaycommon.ChannelMeta{ UpstreamModelName: "kimi-k2.6", }, } converted, err := (&Adaptor{}).ConvertOpenAIRequest(nil, info, request) require.NoError(t, err) convertedRequest, ok := converted.(*dto.GeneralOpenAIRequest) require.True(t, ok) require.Nil(t, convertedRequest.Temperature) } func TestConvertOpenAIRequestOtherMoonshotModelKeepsTemperature(t *testing.T) { request := &dto.GeneralOpenAIRequest{ Model: "kimi-k2.5", Temperature: common.GetPointer[float64](0.7), } info := &relaycommon.RelayInfo{ ChannelMeta: &relaycommon.ChannelMeta{ UpstreamModelName: "kimi-k2.5", }, } converted, err := (&Adaptor{}).ConvertOpenAIRequest(nil, info, request) require.NoError(t, err) convertedRequest, ok := converted.(*dto.GeneralOpenAIRequest) require.True(t, ok) require.NotNil(t, convertedRequest.Temperature) require.Equal(t, 0.7, *convertedRequest.Temperature) }