@@ -379,22 +379,32 @@ def _create_input_metadata(self, trace: Any, observations: List[Any]) -> InputMe
379379 Returns:
380380 InputMetadata object
381381 """
382- # Extract completion parameters from observations
382+ # Extract completion parameters from trace input first, then observations
383383 completion_params = {}
384384
385- # Look for model parameters in observations
386- for obs in observations :
387- if hasattr (obs , "model" ) and obs .model :
388- completion_params ["model" ] = obs .model
389- if hasattr (obs , "model_parameters" ) and obs .model_parameters :
390- params = obs .model_parameters
391- if "temperature" in params :
392- completion_params ["temperature" ] = params ["temperature" ]
393- if "max_tokens" in params :
394- completion_params ["max_tokens" ] = params ["max_tokens" ]
395- if "top_p" in params :
396- completion_params ["top_p" ] = params ["top_p" ]
397- break
385+ # First check trace input for evaluation test completion_params
386+ if hasattr (trace , "input" ) and trace .input :
387+ if isinstance (trace .input , dict ):
388+ kwargs = trace .input .get ("kwargs" , {})
389+ if "completion_params" in kwargs :
390+ trace_completion_params = kwargs ["completion_params" ]
391+ if trace_completion_params and isinstance (trace_completion_params , dict ):
392+ completion_params .update (trace_completion_params )
393+
394+ # Fallback: Look for model parameters in observations if not found in trace input
395+ if not completion_params :
396+ for obs in observations :
397+ if hasattr (obs , "model" ) and obs .model :
398+ completion_params ["model" ] = obs .model
399+ if hasattr (obs , "model_parameters" ) and obs .model_parameters :
400+ params = obs .model_parameters
401+ if "temperature" in params :
402+ completion_params ["temperature" ] = params ["temperature" ]
403+ if "max_tokens" in params :
404+ completion_params ["max_tokens" ] = params ["max_tokens" ]
405+ if "top_p" in params :
406+ completion_params ["top_p" ] = params ["top_p" ]
407+ break
398408
399409 # Create dataset info from trace metadata
400410 dataset_info = {
0 commit comments