@@ -80,21 +80,25 @@ def build_init_request(
8080 row_id = row .input_metadata .row_id ,
8181 )
8282
83- # Extract model
84- model : Optional [str ] = None
83+ # Build completion_params from row and config
84+ completion_params_dict : Dict [str , Any ] = {}
85+
86+ # Start with config-level completion_params
87+ if config .completion_params and isinstance (config .completion_params , dict ):
88+ completion_params_dict .update (config .completion_params )
89+
90+ # Override with row-specific completion_params
8591 if row .input_metadata and row .input_metadata .completion_params :
86- model = row .input_metadata .completion_params .get ("model" )
87- if model is None and config .completion_params :
88- model = config .completion_params .get ("model" )
89- if model is None :
90- raise ValueError ("Model must be provided in row.input_metadata.completion_params or config.completion_params" )
91-
92+ row_cp = row .input_metadata .completion_params
93+ if isinstance (row_cp , dict ):
94+ completion_params_dict .update (row_cp )
95+
96+ # Validate model is present
97+ if not completion_params_dict .get ("model" ):
98+ raise ValueError ("Model must be provided in completion_params" )
99+
92100 # Extract base_url from completion_params
93- completion_params_base_url : Optional [str ] = None
94- if row .input_metadata and row .input_metadata .completion_params :
95- completion_params_base_url = row .input_metadata .completion_params .get ("base_url" )
96- if completion_params_base_url is None and config .completion_params :
97- completion_params_base_url = config .completion_params .get ("base_url" )
101+ completion_params_base_url : Optional [str ] = completion_params_dict .get ("base_url" )
98102
99103 # Strip non-OpenAI fields from messages
100104 allowed_message_fields = {"role" , "content" , "tool_calls" , "tool_call_id" , "name" }
@@ -124,7 +128,7 @@ def build_init_request(
124128 final_model_base_url = build_fireworks_tracing_url (model_base_url , meta , completion_params_base_url )
125129
126130 return InitRequest (
127- model = model ,
131+ completion_params = completion_params_dict ,
128132 messages = clean_messages ,
129133 tools = row .tools ,
130134 metadata = meta ,
0 commit comments