1313 InitRequest ,
1414 RolloutMetadata ,
1515)
16- from eval_protocol .adapters .fireworks_tracing import create_fireworks_tracing_adapter
16+ from eval_protocol .adapters .fireworks_tracing import FireworksTracingAdapter
1717from eval_protocol .quickstart .utils import filter_longest_conversation
1818from .rollout_processor import RolloutProcessor
1919from .types import RolloutProcessorConfig
2525logger = logging .getLogger (__name__ )
2626
2727
28+ def _build_fireworks_tracing_url (base_url : str , metadata : RolloutMetadata ) -> str :
29+ """Build a Fireworks tracing URL by appending rollout metadata to the base URL path,
30+ allowing the Fireworks tracing proxy to automatically tag traces.
31+
32+ Format: {base_url}/rollout_id/{id}/invocation_id/{id}/experiment_id/{id}/run_id/{id}/row_id/{id}
33+
34+ Args:
35+ base_url: Fireworks tracing proxy URL (we expect this to be https://tracing.fireworks.ai or
36+ https://tracing.fireworks.ai/project_id/{project_id})
37+ metadata: Rollout metadata containing IDs to embed in the URL
38+ """
39+ return (
40+ f"{ base_url } /rollout_id/{ metadata .rollout_id } "
41+ f"/invocation_id/{ metadata .invocation_id } "
42+ f"/experiment_id/{ metadata .experiment_id } "
43+ f"/run_id/{ metadata .run_id } "
44+ f"/row_id/{ metadata .row_id } "
45+ )
46+
47+
2848def _default_output_data_loader (config : DataLoaderConfig ) -> DynamicDataLoader :
2949 """Default output data loader that fetches traces from Fireworks tracing proxy.
3050
@@ -37,7 +57,7 @@ def _default_output_data_loader(config: DataLoaderConfig) -> DynamicDataLoader:
3757
3858 def fetch_traces () -> List [EvaluationRow ]:
3959 base_url = config .model_base_url or "https://tracing.fireworks.ai"
40- adapter = create_fireworks_tracing_adapter (base_url = base_url )
60+ adapter = FireworksTracingAdapter (base_url = base_url )
4161 return adapter .get_evaluation_rows (tags = [f"rollout_id:{ config .rollout_id } " ], max_retries = 5 )
4262
4363 return DynamicDataLoader (generators = [fetch_traces ], preprocess_fn = filter_longest_conversation )
@@ -169,13 +189,7 @@ async def _process_row(row: EvaluationRow) -> EvaluationRow:
169189
170190 final_model_base_url = model_base_url
171191 if model_base_url and model_base_url .startswith ("https://tracing.fireworks.ai" ):
172- final_model_base_url = (
173- f"{ model_base_url } /rollout_id/{ meta .rollout_id } "
174- f"/invocation_id/{ meta .invocation_id } "
175- f"/experiment_id/{ meta .experiment_id } "
176- f"/run_id/{ meta .run_id } "
177- f"/row_id/{ meta .row_id } "
178- )
192+ final_model_base_url = _build_fireworks_tracing_url (model_base_url , meta )
179193
180194 init_payload : InitRequest = InitRequest (
181195 model = model ,
0 commit comments