fix: improve request handling by deep copying OpenAIResponsesRequest
This commit is contained in:
@@ -20,12 +20,17 @@ import (
|
|||||||
func ResponsesHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *types.NewAPIError) {
|
func ResponsesHelper(c *gin.Context, info *relaycommon.RelayInfo) (newAPIError *types.NewAPIError) {
|
||||||
info.InitChannelMeta(c)
|
info.InitChannelMeta(c)
|
||||||
|
|
||||||
request, ok := info.Request.(*dto.OpenAIResponsesRequest)
|
responsesReq, ok := info.Request.(*dto.OpenAIResponsesRequest)
|
||||||
if !ok {
|
if !ok {
|
||||||
common.FatalLog(fmt.Sprintf("invalid request type, expected dto.OpenAIResponsesRequest, got %T", info.Request))
|
common.FatalLog(fmt.Sprintf("invalid request type, expected dto.OpenAIResponsesRequest, got %T", info.Request))
|
||||||
}
|
}
|
||||||
|
|
||||||
err := helper.ModelMappedHelper(c, info, request)
|
request, err := common.DeepCopy(responsesReq)
|
||||||
|
if err != nil {
|
||||||
|
return types.NewError(fmt.Errorf("failed to copy request to GeneralOpenAIRequest: %w", err), types.ErrorCodeInvalidRequest, types.ErrOptionWithSkipRetry())
|
||||||
|
}
|
||||||
|
|
||||||
|
err = helper.ModelMappedHelper(c, info, request)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return types.NewError(err, types.ErrorCodeChannelModelMappedError, types.ErrOptionWithSkipRetry())
|
return types.NewError(err, types.ErrorCodeChannelModelMappedError, types.ErrOptionWithSkipRetry())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user