fix: preserve explicit zero values in native relay requests
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
relaycommon "github.com/QuantumNous/new-api/relay/common"
|
||||
relayconstant "github.com/QuantumNous/new-api/relay/constant"
|
||||
"github.com/QuantumNous/new-api/types"
|
||||
"github.com/samber/lo"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
@@ -59,8 +60,8 @@ func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayIn
|
||||
if request == nil {
|
||||
return nil, errors.New("request is nil")
|
||||
}
|
||||
if request.TopP >= 1 {
|
||||
request.TopP = 0.99
|
||||
if lo.FromPtrOr(request.TopP, 0) >= 1 {
|
||||
request.TopP = lo.ToPtr(0.99)
|
||||
}
|
||||
return requestOpenAI2Perplexity(*request), nil
|
||||
}
|
||||
|
||||
@@ -10,13 +10,12 @@ func requestOpenAI2Perplexity(request dto.GeneralOpenAIRequest) *dto.GeneralOpen
|
||||
Content: message.Content,
|
||||
})
|
||||
}
|
||||
return &dto.GeneralOpenAIRequest{
|
||||
req := &dto.GeneralOpenAIRequest{
|
||||
Model: request.Model,
|
||||
Stream: request.Stream,
|
||||
Messages: messages,
|
||||
Temperature: request.Temperature,
|
||||
TopP: request.TopP,
|
||||
MaxTokens: request.GetMaxTokens(),
|
||||
FrequencyPenalty: request.FrequencyPenalty,
|
||||
PresencePenalty: request.PresencePenalty,
|
||||
SearchDomainFilter: request.SearchDomainFilter,
|
||||
@@ -25,4 +24,9 @@ func requestOpenAI2Perplexity(request dto.GeneralOpenAIRequest) *dto.GeneralOpen
|
||||
ReturnRelatedQuestions: request.ReturnRelatedQuestions,
|
||||
SearchMode: request.SearchMode,
|
||||
}
|
||||
if request.MaxTokens != nil || request.MaxCompletionTokens != nil {
|
||||
maxTokens := request.GetMaxTokens()
|
||||
req.MaxTokens = &maxTokens
|
||||
}
|
||||
return req
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user