Spaces:
Paused
Paused
| """ | |
| Nvidia NIM embeddings endpoint: https://docs.api.nvidia.com/nim/reference/nvidia-nv-embedqa-e5-v5-infer | |
| This is OpenAI compatible | |
| This file only contains param mapping logic | |
| API calling is done using the OpenAI SDK with an api_base | |
| """ | |
| import types | |
| from typing import Optional | |
| class NvidiaNimEmbeddingConfig: | |
| """ | |
| Reference: https://docs.api.nvidia.com/nim/reference/nvidia-nv-embedqa-e5-v5-infer | |
| """ | |
| # OpenAI params | |
| encoding_format: Optional[str] = None | |
| user: Optional[str] = None | |
| # Nvidia NIM params | |
| input_type: Optional[str] = None | |
| truncate: Optional[str] = None | |
| def __init__( | |
| self, | |
| encoding_format: Optional[str] = None, | |
| user: Optional[str] = None, | |
| input_type: Optional[str] = None, | |
| truncate: Optional[str] = None, | |
| ) -> None: | |
| locals_ = locals().copy() | |
| for key, value in locals_.items(): | |
| if key != "self" and value is not None: | |
| setattr(self.__class__, key, value) | |
| def get_config(cls): | |
| return { | |
| k: v | |
| for k, v in cls.__dict__.items() | |
| if not k.startswith("__") | |
| and not isinstance( | |
| v, | |
| ( | |
| types.FunctionType, | |
| types.BuiltinFunctionType, | |
| classmethod, | |
| staticmethod, | |
| ), | |
| ) | |
| and v is not None | |
| } | |
| def get_supported_openai_params( | |
| self, | |
| ): | |
| return ["encoding_format", "user", "dimensions"] | |
| def map_openai_params( | |
| self, | |
| non_default_params: dict, | |
| optional_params: dict, | |
| kwargs: Optional[dict] = None, | |
| ): | |
| if "extra_body" not in optional_params: | |
| optional_params["extra_body"] = {} | |
| for k, v in non_default_params.items(): | |
| if k == "input_type": | |
| optional_params["extra_body"].update({"input_type": v}) | |
| elif k == "truncate": | |
| optional_params["extra_body"].update({"truncate": v}) | |
| else: | |
| optional_params[k] = v | |
| if kwargs is not None: | |
| # pass kwargs in extra_body | |
| optional_params["extra_body"].update(kwargs) | |
| return optional_params | |