aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/embed
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/embed')
-rw-r--r--.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/embed/fireworks_ai_transformation.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/embed/fireworks_ai_transformation.py b/.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/embed/fireworks_ai_transformation.py
new file mode 100644
index 00000000..80906443
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/litellm/llms/fireworks_ai/embed/fireworks_ai_transformation.py
@@ -0,0 +1,44 @@
+"""
+This is OpenAI compatible - no transformation is applied
+
+"""
+
+import litellm
+
+
+class FireworksAIEmbeddingConfig:
+ def get_supported_openai_params(self, model: str):
+ """
+ dimensions Only supported in nomic-ai/nomic-embed-text-v1.5 and later models.
+
+ https://docs.fireworks.ai/api-reference/creates-an-embedding-vector-representing-the-input-text
+ """
+ if "nomic-ai" in model:
+ return ["dimensions"]
+ return []
+
+ def map_openai_params(
+ self, non_default_params: dict, optional_params: dict, model: str
+ ):
+ """
+ No transformation is applied - fireworks ai is openai compatible
+ """
+ supported_openai_params = self.get_supported_openai_params(model)
+ for param, value in non_default_params.items():
+ if param in supported_openai_params:
+ optional_params[param] = value
+ return optional_params
+
+ def is_fireworks_embedding_model(self, model: str):
+ """
+ helper to check if a model is a fireworks embedding model
+
+ Fireworks embeddings does not support passing /accounts/fireworks in the model name so we need to know if it's a known embedding model
+ """
+ if (
+ model in litellm.fireworks_ai_embedding_models
+ or f"fireworks_ai/{model}" in litellm.fireworks_ai_embedding_models
+ ):
+ return True
+
+ return False