Spaces:
Configuration error
Configuration error
from typing import Optional, Tuple | |
from litellm.llms.openai.chat.gpt_transformation import OpenAIGPTConfig | |
from litellm.secret_managers.main import get_secret_str | |
class NscaleConfig(OpenAIGPTConfig): | |
""" | |
Reference: Nscale is OpenAI compatible. | |
API Key: NSCALE_API_KEY | |
Default API Base: https://inference.api.nscale.com/v1 | |
""" | |
API_BASE_URL = "https://inference.api.nscale.com/v1" | |
def custom_llm_provider(self) -> Optional[str]: | |
return "nscale" | |
def get_api_key(api_key: Optional[str] = None) -> Optional[str]: | |
return api_key or get_secret_str("NSCALE_API_KEY") | |
def get_api_base(api_base: Optional[str] = None) -> Optional[str]: | |
return ( | |
api_base or get_secret_str("NSCALE_API_BASE") or NscaleConfig.API_BASE_URL | |
) | |
def _get_openai_compatible_provider_info( | |
self, api_base: Optional[str], api_key: Optional[str] | |
) -> Tuple[Optional[str], Optional[str]]: | |
# This method is called by get_llm_provider to resolve api_base and api_key | |
resolved_api_base = NscaleConfig.get_api_base(api_base) | |
resolved_api_key = NscaleConfig.get_api_key(api_key) | |
return resolved_api_base, resolved_api_key | |
def get_supported_openai_params(self, model: str) -> list: | |
return [ | |
"max_tokens", | |
"n", | |
"temperature", | |
"top_p", | |
"stream", | |
"logprobs", | |
"top_logprobs", | |
"frequency_penalty", | |
"presence_penalty", | |
"response_format", | |
"stop", | |
"logit_bias", | |
] | |