|
79 | 79 | from langfuse._utils.parse_error import handle_fern_exception |
80 | 80 | from langfuse._utils.prompt_cache import PromptCache |
81 | 81 | from langfuse.api.resources.commons.errors.error import Error |
| 82 | +from langfuse.api.resources.commons.types import DatasetRunWithItems |
| 83 | +from langfuse.api.resources.datasets.types import ( |
| 84 | + DeleteDatasetRunResponse, |
| 85 | + PaginatedDatasetRuns, |
| 86 | +) |
82 | 87 | from langfuse.api.resources.ingestion.types.score_body import ScoreBody |
83 | 88 | from langfuse.api.resources.prompts.types import ( |
84 | 89 | CreatePromptRequest_Chat, |
@@ -2456,6 +2461,78 @@ def get_dataset( |
2456 | 2461 | handle_fern_exception(e) |
2457 | 2462 | raise e |
2458 | 2463 |
|
| 2464 | + def get_dataset_run( |
| 2465 | + self, dataset_name: str, *, run_name: str |
| 2466 | + ) -> DatasetRunWithItems: |
| 2467 | + """Fetch a dataset run by dataset name and run name. |
| 2468 | +
|
| 2469 | + Args: |
| 2470 | + dataset_name (str): The name of the dataset. |
| 2471 | + run_name (str): The name of the run. |
| 2472 | +
|
| 2473 | + Returns: |
| 2474 | + DatasetRunWithItems: The dataset run with its items. |
| 2475 | + """ |
| 2476 | + try: |
| 2477 | + return self.api.datasets.get_run( |
| 2478 | + dataset_name=self._url_encode(dataset_name), |
| 2479 | + run_name=self._url_encode(run_name), |
| 2480 | + request_options=None, |
| 2481 | + ) |
| 2482 | + except Error as e: |
| 2483 | + handle_fern_exception(e) |
| 2484 | + raise e |
| 2485 | + |
| 2486 | + def get_dataset_runs( |
| 2487 | + self, |
| 2488 | + dataset_name: str, |
| 2489 | + *, |
| 2490 | + page: Optional[int] = None, |
| 2491 | + limit: Optional[int] = None, |
| 2492 | + ) -> PaginatedDatasetRuns: |
| 2493 | + """Fetch all runs for a dataset. |
| 2494 | +
|
| 2495 | + Args: |
| 2496 | + dataset_name (str): The name of the dataset. |
| 2497 | + page (Optional[int]): Page number, starts at 1. |
| 2498 | + limit (Optional[int]): Limit of items per page. |
| 2499 | +
|
| 2500 | + Returns: |
| 2501 | + PaginatedDatasetRuns: Paginated list of dataset runs. |
| 2502 | + """ |
| 2503 | + try: |
| 2504 | + return self.api.datasets.get_runs( |
| 2505 | + dataset_name=self._url_encode(dataset_name), |
| 2506 | + page=page, |
| 2507 | + limit=limit, |
| 2508 | + request_options=None, |
| 2509 | + ) |
| 2510 | + except Error as e: |
| 2511 | + handle_fern_exception(e) |
| 2512 | + raise e |
| 2513 | + |
| 2514 | + def delete_dataset_run( |
| 2515 | + self, dataset_name: str, *, run_name: str |
| 2516 | + ) -> DeleteDatasetRunResponse: |
| 2517 | + """Delete a dataset run and all its run items. This action is irreversible. |
| 2518 | +
|
| 2519 | + Args: |
| 2520 | + dataset_name (str): The name of the dataset. |
| 2521 | + run_name (str): The name of the run. |
| 2522 | +
|
| 2523 | + Returns: |
| 2524 | + DeleteDatasetRunResponse: Confirmation of deletion. |
| 2525 | + """ |
| 2526 | + try: |
| 2527 | + return self.api.datasets.delete_run( |
| 2528 | + dataset_name=self._url_encode(dataset_name), |
| 2529 | + run_name=self._url_encode(run_name), |
| 2530 | + request_options=None, |
| 2531 | + ) |
| 2532 | + except Error as e: |
| 2533 | + handle_fern_exception(e) |
| 2534 | + raise e |
| 2535 | + |
2459 | 2536 | def run_experiment( |
2460 | 2537 | self, |
2461 | 2538 | *, |
|
0 commit comments