""" Contains utils used by OpenAI compatible endpoints """ from typing import Optional from fastapi import Request from litellm.proxy.common_utils.http_parsing_utils import _read_request_body def remove_sensitive_info_from_deployment(deployment_dict: dict) -> dict: """ Removes sensitive information from a deployment dictionary. Args: deployment_dict (dict): The deployment dictionary to remove sensitive information from. Returns: dict: The modified deployment dictionary with sensitive information removed. """ deployment_dict["litellm_params"].pop("api_key", None) deployment_dict["litellm_params"].pop("vertex_credentials", None) deployment_dict["litellm_params"].pop("aws_access_key_id", None) deployment_dict["litellm_params"].pop("aws_secret_access_key", None) return deployment_dict async def get_custom_llm_provider_from_request_body(request: Request) -> Optional[str]: """ Get the `custom_llm_provider` from the request body Safely reads the request body """ request_body: dict = await _read_request_body(request=request) or {} if "custom_llm_provider" in request_body: return request_body["custom_llm_provider"] return None