From 64d229caaa6e57f7dd169d82c5dc6a06d3aae5b1 Mon Sep 17 00:00:00 2001 From: ffreemt Date: Thu, 2 May 2024 19:30:01 +0800 Subject: [PATCH] Add return_exceptions to litellm.batch_completion for optionally returing exceptions and partial resuslt instead of throwing exceptions --- litellm/main.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/litellm/main.py b/litellm/main.py index 51ec954018..11ab0a0b9d 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -2303,6 +2303,7 @@ def batch_completion( user (str, optional): The user string for generating completions. Defaults to "". deployment_id (optional): The deployment ID for generating completions. Defaults to None. request_timeout (int, optional): The request timeout for generating completions. Defaults to None. + return_exceptions (bool): Whether to return exceptions and partial results when exceptions occur. Defaults to False. Returns: list: A list of completion results. @@ -2361,7 +2362,17 @@ def batch_completion( completions.append(future) # Retrieve the results from the futures - results = [future.result() for future in completions] + # results = [future.result() for future in completions] + if return_exceptions: + results = [] + for future in completions: + try: + results.append(future.result()) + except Exception as exc: + results.append(exc) + else: + results = [future.result() for future in completions] + return results