Skip to content

Commit 3141b2f

Browse files
committed
address comments
1 parent 03d3b0c commit 3141b2f

File tree

4 files changed

+27
-28
lines changed

4 files changed

+27
-28
lines changed

eval_protocol/adapters/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
except ImportError:
2626
pass
2727

28-
from .fireworks_tracing import FireworksTracingAdapter, create_fireworks_tracing_adapter
28+
from .fireworks_tracing import FireworksTracingAdapter
2929

30-
__all__.extend(["FireworksTracingAdapter", "create_fireworks_tracing_adapter"])
30+
__all__.extend(["FireworksTracingAdapter"])
3131

3232
try:
3333
from .huggingface import (

eval_protocol/adapters/fireworks_tracing.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -375,18 +375,3 @@ def get_evaluation_rows(
375375

376376
logger.info("Successfully converted %d traces to evaluation rows", len(eval_rows))
377377
return eval_rows
378-
379-
380-
def create_fireworks_tracing_adapter(
381-
project_id: Optional[str] = None, base_url: str = "https://tracing.fireworks.ai"
382-
) -> FireworksTracingAdapter:
383-
"""Factory function to create a Fireworks Tracing adapter.
384-
385-
Args:
386-
project_id: Optional project ID. If not provided, uses the default project configured on the server.
387-
base_url: The base URL of the tracing proxy
388-
389-
Returns:
390-
FireworksTracingAdapter instance
391-
"""
392-
return FireworksTracingAdapter(project_id=project_id, base_url=base_url)

eval_protocol/pytest/remote_rollout_processor.py

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
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
1717
from eval_protocol.quickstart.utils import filter_longest_conversation
1818
from .rollout_processor import RolloutProcessor
1919
from .types import RolloutProcessorConfig
@@ -25,6 +25,26 @@
2525
logger = 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+
2848
def _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,

tests/remote_server/test_remote_fireworks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from eval_protocol.models import EvaluationRow, Message
2121
from eval_protocol.pytest import evaluation_test
2222
from eval_protocol.pytest.remote_rollout_processor import RemoteRolloutProcessor
23-
from eval_protocol.adapters.fireworks_tracing import create_fireworks_tracing_adapter
23+
from eval_protocol.adapters.fireworks_tracing import FireworksTracingAdapter
2424
from eval_protocol.quickstart.utils import filter_longest_conversation
2525
from eval_protocol.types.remote_rollout_processor import DataLoaderConfig
2626

@@ -42,7 +42,7 @@ def fetch_fireworks_traces(config: DataLoaderConfig) -> List[EvaluationRow]:
4242
ROLLOUT_IDS.add(config.rollout_id)
4343

4444
base_url = config.model_base_url or "https://tracing.fireworks.ai"
45-
adapter = create_fireworks_tracing_adapter(base_url=base_url)
45+
adapter = FireworksTracingAdapter(base_url=base_url)
4646
return adapter.get_evaluation_rows(tags=[f"rollout_id:{config.rollout_id}"], max_retries=5)
4747

4848

0 commit comments

Comments
 (0)