about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/common_utils.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/common_utils.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/common_utils.py')
-rw-r--r--.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/common_utils.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/common_utils.py b/.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/common_utils.py
new file mode 100644
index 00000000..293403b1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/common_utils.py
@@ -0,0 +1,51 @@
+from typing import List, Optional, Union
+
+from httpx import Headers
+
+from litellm.secret_managers.main import get_secret_str
+from litellm.types.llms.openai import AllMessageValues
+
+from ..base_llm.chat.transformation import BaseLLMException
+
+
+class FireworksAIException(BaseLLMException):
+    pass
+
+
+class FireworksAIMixin:
+    """
+    Common Base Config functions across Fireworks AI Endpoints
+    """
+
+    def get_error_class(
+        self, error_message: str, status_code: int, headers: Union[dict, Headers]
+    ) -> BaseLLMException:
+        return FireworksAIException(
+            status_code=status_code,
+            message=error_message,
+            headers=headers,
+        )
+
+    def _get_api_key(self, api_key: Optional[str]) -> Optional[str]:
+        dynamic_api_key = api_key or (
+            get_secret_str("FIREWORKS_API_KEY")
+            or get_secret_str("FIREWORKS_AI_API_KEY")
+            or get_secret_str("FIREWORKSAI_API_KEY")
+            or get_secret_str("FIREWORKS_AI_TOKEN")
+        )
+        return dynamic_api_key
+
+    def validate_environment(
+        self,
+        headers: dict,
+        model: str,
+        messages: List[AllMessageValues],
+        optional_params: dict,
+        api_key: Optional[str] = None,
+        api_base: Optional[str] = None,
+    ) -> dict:
+        api_key = self._get_api_key(api_key)
+        if api_key is None:
+            raise ValueError("FIREWORKS_API_KEY is not set")
+
+        return {"Authorization": "Bearer {}".format(api_key), **headers}