From e732fb8b9780954c26caee167675498569792508 Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Fri, 24 Nov 2023 16:05:51 -0800 Subject: [PATCH] fix(main.py): logit bias mapping for batch_completions --- litellm/main.py | 3 +-- litellm/tests/test_batch_completions.py | 3 ++- litellm/tests/test_completion.py | 1 + litellm/utils.py | 2 ++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/litellm/main.py b/litellm/main.py index 621ada31a7..07fd2846f6 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -341,7 +341,6 @@ def completion( litellm_params = ["metadata", "acompletion", "caching", "return_async", "mock_response", "api_key", "api_version", "api_base", "force_timeout", "logger_fn", "verbose", "custom_llm_provider", "litellm_logging_obj", "litellm_call_id", "use_client", "id", "fallbacks", "azure", "headers", "model_list", "num_retries", "context_window_fallback_dict", "roles", "final_prompt_value", "bos_token", "eos_token", "request_timeout", "complete_response", "self"] default_params = openai_params + litellm_params non_default_params = {k: v for k,v in kwargs.items() if k not in default_params} # model-specific params - pass them straight to the model/provider - if mock_response: return mock_completion(model, messages, stream=stream, mock_response=mock_response) if timeout is None: @@ -1447,7 +1446,7 @@ def batch_completion( max_tokens: Optional[float] = None, presence_penalty: Optional[float] = None, frequency_penalty: Optional[float]=None, - logit_bias: dict = {}, + logit_bias: Optional[dict] = None, user: str = "", deployment_id = None, request_timeout: Optional[int] = None, diff --git a/litellm/tests/test_batch_completions.py b/litellm/tests/test_batch_completions.py index 176deb3bf5..8f149f3fac 100644 --- a/litellm/tests/test_batch_completions.py +++ b/litellm/tests/test_batch_completions.py @@ -9,13 +9,14 @@ sys.path.insert( ) # Adds the parent directory to the system path from openai import APITimeoutError as Timeout import litellm -litellm.num_retries = 3 +litellm.num_retries = 0 from litellm import batch_completion, batch_completion_models, completion, batch_completion_models_all_responses # litellm.set_verbose=True def test_batch_completions(): messages = [[{"role": "user", "content": "write a short poem"}] for _ in range(3)] model = "j2-mid" + litellm.set_verbose = True try: result = batch_completion( model=model, diff --git a/litellm/tests/test_completion.py b/litellm/tests/test_completion.py index dde4914092..b0d77d0f41 100644 --- a/litellm/tests/test_completion.py +++ b/litellm/tests/test_completion.py @@ -1352,6 +1352,7 @@ def test_completion_ai21(): except Exception as e: pytest.fail(f"Error occurred: {e}") +# test_completion_ai21() # test_completion_ai21() ## test deep infra def test_completion_deep_infra(): diff --git a/litellm/utils.py b/litellm/utils.py index 7d2c4fcca6..806ef1f7b6 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -104,6 +104,8 @@ class UnsupportedParamsError(Exception): def __init__(self, status_code, message): self.status_code = status_code self.message = message + self.request = httpx.Request(method="POST", url=" https://openai.api.com/v1/") + self.response = httpx.Response(status_code=status_code, request=self.request) super().__init__( self.message ) # Call the base class constructor with the parameters it needs