Skip to content

Commit 8f715df

Browse files
authored
Merge pull request #1060 from parea-ai/PAI-1479-add-prefix-to-p-experiment
add prefix to run_names in experiment
2 parents b7f878c + 130555f commit 8f715df

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

cookbook/evals_and_experiments/experiment_test_substeps.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,4 @@ def greet(name: str) -> str:
6969
name="greeting",
7070
data=data,
7171
func=greet,
72-
).run()
72+
).run(prefix="substep")

parea/experiment/experiment.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -241,24 +241,26 @@ def __attrs_post_init__(self):
241241
raise ValueError("Metadata should not contain a key 'Dataset' when using uploaded dataset (data is a string).")
242242
self.metadata["Dataset"] = self.data
243243

244-
def _gen_run_name_if_none(self, name: Optional[str]):
244+
def _gen_run_name_if_none(self, name: Optional[str], prefix: Optional[str] = None):
245245
if not name:
246-
self.run_name = gen_random_name()
246+
new_name = gen_random_name()
247+
self.run_name = f"{prefix}_{new_name}" if prefix else new_name
247248
print(f"Run name set to: {self.run_name}, since a name was not provided.")
248249
else:
249-
self.run_name = name
250+
self.run_name = f"{prefix}_{name}" if prefix else name
250251

251-
def run(self, run_name: Optional[str] = None) -> None:
252+
def run(self, run_name: Optional[str] = None, prefix: Optional[str] = None) -> None:
252253
"""Run the experiment and save the results to DVC.
253254
param run_name: The run name of the experiment. This name must be unique across experiment runs.
254255
If no run name is provided a memorable name will be generated automatically.
256+
param prefix: The prefix to use for the run name. This is useful for grouping runs together.
255257
"""
256258
if is_logging_disabled():
257259
print("Parea logging is turned off. Experiment can't be run without logging. Set env var TURN_OFF_PAREA_LOGGING to False to enable.")
258260
return
259261

260262
try:
261-
self._gen_run_name_if_none(run_name)
263+
self._gen_run_name_if_none(run_name, prefix)
262264
experiment_schema: ExperimentSchema = self.p.create_experiment(CreateExperimentRequest(name=self.experiment_name, run_name=self.run_name, metadata=self.metadata))
263265
self.experiment_uuid = experiment_schema.uuid
264266
self.experiment_stats = asyncio.run(
@@ -281,17 +283,18 @@ def run(self, run_name: Optional[str] = None) -> None:
281283
traceback.print_exc()
282284
print(f"Error running experiment: {e}")
283285

284-
async def arun(self, run_name: Optional[str] = None) -> None:
286+
async def arun(self, run_name: Optional[str] = None, prefix: Optional[str] = None) -> None:
285287
"""Run the experiment and save the results to DVC.
286288
param run_name: The run name of the experiment. This name must be unique across experiment runs.
287289
If no run name is provided a memorable name will be generated automatically.
290+
param prefix: The prefix to use for the run name. This is useful for grouping runs together.
288291
"""
289292
if is_logging_disabled():
290293
print("Parea logging is turned off. Experiment can't be run without logging. Set env var TURN_OFF_PAREA_LOGGING to False to enable.")
291294
return
292295

293296
try:
294-
self._gen_run_name_if_none(run_name)
297+
self._gen_run_name_if_none(run_name, prefix)
295298
experiment_schema: ExperimentSchema = await self.p.acreate_experiment(
296299
CreateExperimentRequest(name=self.experiment_name, run_name=self.run_name, metadata=self.metadata)
297300
)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api"
66
[tool.poetry]
77
name = "parea-ai"
88
packages = [{ include = "parea" }]
9-
version = "0.2.207"
9+
version = "0.2.208"
1010
description = "Parea python sdk"
1111
readme = "README.md"
1212
authors = ["joel-parea-ai <[email protected]>"]

0 commit comments

Comments
 (0)