mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 10:44:24 +00:00
* fix(utils.py): initial commit to remove circular imports - moves llmproviders to utils.py * fix(router.py): fix 'litellm.EmbeddingResponse' import from router.py ' * refactor: fix litellm.ModelResponse import on pass through endpoints * refactor(litellm_logging.py): fix circular import for custom callbacks literal * fix(factory.py): fix circular imports inside prompt factory * fix(cost_calculator.py): fix circular import for 'litellm.Usage' * fix(proxy_server.py): fix potential circular import with `litellm.Router' * fix(proxy/utils.py): fix potential circular import in `litellm.Router` * fix: remove circular imports in 'auth_checks' and 'guardrails/' * fix(prompt_injection_detection.py): fix router impor t * fix(vertex_passthrough_logging_handler.py): fix potential circular imports in vertex pass through * fix(anthropic_pass_through_logging_handler.py): fix potential circular imports * fix(slack_alerting.py-+-ollama_chat.py): fix modelresponse import * fix(base.py): fix potential circular import * fix(handler.py): fix potential circular ref in codestral + cohere handler's * fix(azure.py): fix potential circular imports * fix(gpt_transformation.py): fix modelresponse import * fix(litellm_logging.py): add logging base class - simplify typing makes it easy for other files to type check the logging obj without introducing circular imports * fix(azure_ai/embed): fix potential circular import on handler.py * fix(databricks/): fix potential circular imports in databricks/ * fix(vertex_ai/): fix potential circular imports on vertex ai embeddings * fix(vertex_ai/image_gen): fix import * fix(watsonx-+-bedrock): cleanup imports * refactor(anthropic-pass-through-+-petals): cleanup imports * refactor(huggingface/): cleanup imports * fix(ollama-+-clarifai): cleanup circular imports * fix(openai_like/): fix impor t * fix(openai_like/): fix embedding handler cleanup imports * refactor(openai.py): cleanup imports * fix(sagemaker/transformation.py): fix import * ci(config.yml): add circular import test to ci/cd
50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
"""
|
|
Calling logic for Databricks embeddings
|
|
"""
|
|
|
|
from typing import Optional
|
|
|
|
import litellm
|
|
from litellm.utils import EmbeddingResponse
|
|
|
|
from ...openai_like.embedding.handler import OpenAILikeEmbeddingHandler
|
|
from ..common_utils import DatabricksBase
|
|
|
|
|
|
class DatabricksEmbeddingHandler(OpenAILikeEmbeddingHandler, DatabricksBase):
|
|
def embedding(
|
|
self,
|
|
model: str,
|
|
input: list,
|
|
timeout: float,
|
|
logging_obj,
|
|
api_key: Optional[str],
|
|
api_base: Optional[str],
|
|
optional_params: dict,
|
|
model_response: Optional[EmbeddingResponse] = None,
|
|
client=None,
|
|
aembedding=None,
|
|
custom_endpoint: Optional[bool] = None,
|
|
headers: Optional[dict] = None,
|
|
) -> EmbeddingResponse:
|
|
api_base, headers = self.databricks_validate_environment(
|
|
api_base=api_base,
|
|
api_key=api_key,
|
|
endpoint_type="embeddings",
|
|
custom_endpoint=custom_endpoint,
|
|
headers=headers,
|
|
)
|
|
return super().embedding(
|
|
model=model,
|
|
input=input,
|
|
timeout=timeout,
|
|
logging_obj=logging_obj,
|
|
api_key=api_key,
|
|
api_base=api_base,
|
|
optional_params=optional_params,
|
|
model_response=model_response,
|
|
client=client,
|
|
aembedding=aembedding,
|
|
custom_endpoint=True,
|
|
headers=headers,
|
|
)
|