@@ -36,11 +36,22 @@ async def process_row(row: EvaluationRow) -> EvaluationRow:
3636 request_params = {"model" : config .model , "messages" : messages_payload , ** config .input_params }
3737 # Ensure caching is disabled only for this request (review feedback)
3838 request_params ["cache" ] = {"no-cache" : True }
39- # Allow passing reasoning effort to Fireworks via LiteLLM using extra_body
40- # Expected: config.input_params may contain {"reasoning": {"effort": "low|medium|high"}}
41- if "reasoning" in config .input_params :
39+ # Single-level reasoning effort: expect `reasoning_effort` only
40+ effort_val = None
41+ if isinstance (config .input_params , dict ):
42+ if "reasoning_effort" in config .input_params :
43+ effort_val = str (config .input_params ["reasoning_effort" ]) # flat shape
44+ elif isinstance (config .input_params .get ("extra_body" ), dict ) and "reasoning_effort" in config .input_params ["extra_body" ]:
45+ # Accept if user passed it directly inside extra_body
46+ effort_val = str (config .input_params ["extra_body" ]["reasoning_effort" ]) # already in extra_body
47+
48+ if effort_val :
49+ # Always under extra_body so LiteLLM forwards to provider-specific param set
4250 request_params .setdefault ("extra_body" , {})
43- request_params ["extra_body" ]["reasoning" ] = config .input_params ["reasoning" ]
51+ request_params ["extra_body" ]["reasoning_effort" ] = effort_val
52+ # Ensure unsupported top-level keys are not present
53+ if "reasoning_effort" in request_params :
54+ request_params .pop ("reasoning_effort" , None )
4455
4556 if row .tools is not None :
4657 request_params ["tools" ] = row .tools
@@ -87,7 +98,10 @@ async def process_row(row: EvaluationRow) -> EvaluationRow:
8798
8899 async def _sem_wrapper (r : EvaluationRow ) -> EvaluationRow :
89100 async with semaphore :
90- return await process_row (r )
101+ try :
102+ return await process_row (r )
103+ except Exception as e :
104+ return r
91105
92106 tasks = [_sem_wrapper (row ) for row in rows ]
93107 dataset = list (await asyncio .gather (* tasks ))
0 commit comments