@@ -35,7 +35,6 @@ import (
3535 arkModel "github.com/volcengine/volcengine-go-sdk/service/arkruntime/model"
3636 "github.com/volcengine/volcengine-go-sdk/service/arkruntime/model/responses"
3737 "github.com/volcengine/volcengine-go-sdk/service/arkruntime/utils"
38- "github.com/volcengine/volcengine-go-sdk/volcengine"
3938)
4039
4140type Thinking = arkModel.Thinking
@@ -949,35 +948,31 @@ func (cm *ResponsesAPIChatModel) getOptions(opts []model.Option) (*model.Options
949948 return options , arkOpts , nil
950949}
951950
951+ func extraFieldsToIface (m map [string ]any ) map [string ]interface {} {
952+ if len (m ) == 0 {
953+ return nil
954+ }
955+ out := make (map [string ]interface {}, len (m ))
956+ for k , v := range m {
957+ out [k ] = v
958+ }
959+ return out
960+ }
961+
952962func (cm * ResponsesAPIChatModel ) invokeCreateResponses (ctx context.Context , responseReq * responses.ResponsesRequest , spec * arkOptions ) (* responses.ResponseObject , error ) {
953963 h := arkruntime .WithCustomHeaders (spec .customHeaders )
954964 if len (spec .extraFields ) == 0 {
955965 return cm .client .CreateResponses (ctx , responseReq , h )
956966 }
957- if err := cm .client .PreprocessResponsesRequest (ctx , responseReq ); err != nil {
958- return nil , err
959- }
960- raw , err := mergeResponsesRequestExtraJSON (responseReq , spec .extraFields )
961- if err != nil {
962- return nil , err
963- }
964- return cm .client .CreateResponsesFromJSON (ctx , responseReq .Model , raw , h )
967+ return cm .client .CreateResponses (ctx , responseReq , h , arkruntime .WithResponsesExtraFields (extraFieldsToIface (spec .extraFields )))
965968}
966969
967970func (cm * ResponsesAPIChatModel ) invokeCreateResponsesStream (ctx context.Context , responseReq * responses.ResponsesRequest , spec * arkOptions ) (* utils.ResponsesStreamReader , error ) {
968971 h := arkruntime .WithCustomHeaders (spec .customHeaders )
969972 if len (spec .extraFields ) == 0 {
970973 return cm .client .CreateResponsesStream (ctx , responseReq , h )
971974 }
972- responseReq .Stream = volcengine .Bool (true )
973- if err := cm .client .PreprocessResponsesRequest (ctx , responseReq ); err != nil {
974- return nil , err
975- }
976- raw , err := mergeResponsesRequestExtraJSON (responseReq , spec .extraFields )
977- if err != nil {
978- return nil , err
979- }
980- return cm .client .CreateResponsesStreamFromJSON (ctx , responseReq .Model , raw , h )
975+ return cm .client .CreateResponsesStream (ctx , responseReq , h , arkruntime .WithResponsesExtraFields (extraFieldsToIface (spec .extraFields )))
981976}
982977
983978func (cm * ResponsesAPIChatModel ) toTools (tis []* schema.ToolInfo ) ([]* responses.ResponsesTool , error ) {
0 commit comments