diff --git a/litellm/main.py b/litellm/main.py index 6581ae1a191..7c3ccd750ad 100644 --- a/litellm/main.py +++ b/litellm/main.py @@ -118,29 +118,37 @@ class Completions(): @client async def acompletion( - model: str, - messages: List = [], - functions: Optional[List] = None, - function_call: Optional[str] = None, - temperature: Optional[float] = None, - top_p: Optional[float] = None, - n: Optional[int] = None, - stream: Optional[bool] = None, - stop=None, - max_tokens: Optional[int] = None, - presence_penalty: Optional[float] = None, - frequency_penalty: Optional[float] = None, - logit_bias: Optional[Dict] = None, - user: Optional[str] = None, - metadata: Optional[Dict] = None, - api_base: Optional[str] = None, - api_version: Optional[str] = None, - api_key: Optional[str] = None, - model_list: Optional[List] = None, - mock_response: Optional[str] = None, - force_timeout: Optional[int] = None, - custom_llm_provider: Optional[str] = None, - **kwargs, + model: str, + # Optional OpenAI params: see https://platform.openai.com/docs/api-reference/chat/create + messages: List = [], + functions: Optional[List] = None, + function_call: Optional[str] = None, + timeout: Optional[Union[float, int]] = None, + temperature: Optional[float] = None, + top_p: Optional[float] = None, + n: Optional[int] = None, + stream: Optional[bool] = None, + stop=None, + max_tokens: Optional[float] = None, + presence_penalty: Optional[float] = None, + frequency_penalty: Optional[float] = None, + logit_bias: Optional[dict] = None, + user: Optional[str] = None, + # openai v1.0+ new params + response_format: Optional[dict] = None, + seed: Optional[int] = None, + tools: Optional[List] = None, + tool_choice: Optional[str] = None, + logprobs: Optional[bool] = None, + top_logprobs: Optional[int] = None, + deployment_id=None, + # set api_base, api_version, api_key + base_url: Optional[str] = None, + api_version: Optional[str] = None, + api_key: Optional[str] = None, + model_list: Optional[list] = None, # pass in a list of api_base,keys, etc. + # Optional liteLLM function params + **kwargs, ): """ Asynchronously executes a litellm.completion() call for any of litellm supported llms (example gpt-4, gpt-3.5-turbo, claude-2, command-nightly) @@ -187,24 +195,28 @@ async def acompletion( "messages": messages, "functions": functions, "function_call": function_call, + "timeout": timeout, "temperature": temperature, "top_p": top_p, "n": n, "stream": stream, - "stop": stop, + "stop": stop, "max_tokens": max_tokens, "presence_penalty": presence_penalty, "frequency_penalty": frequency_penalty, "logit_bias": logit_bias, "user": user, - "metadata": metadata, - "api_base": api_base, + "response_format": response_format, + "seed": seed, + "tools": tools, + "tool_choice": tool_choice, + "logprobs": logprobs, + "top_logprobs": top_logprobs, + "deployment_id": deployment_id, + "base_url": base_url, "api_version": api_version, "api_key": api_key, "model_list": model_list, - "mock_response": mock_response, - "force_timeout": force_timeout, - "custom_llm_provider": custom_llm_provider, "acompletion": True # assuming this is a required parameter } try: @@ -215,7 +227,7 @@ async def acompletion( ctx = contextvars.copy_context() func_with_context = partial(ctx.run, func) - _, custom_llm_provider, _, _ = get_llm_provider(model=model, api_base=completion_kwargs.get("api_base", None)) + _, custom_llm_provider, _, _ = get_llm_provider(model=model, api_base=completion_kwargs.get("base_url", None)) if (custom_llm_provider == "openai" or custom_llm_provider == "azure"