fix(vertex_ai/embeddings): accept encoding_format without hard error

This commit is contained in:
Devin AI 2026-07-14 07:08:13 +00:00
parent b200d664ee
commit 0bfe256ba0
3 changed files with 41 additions and 1 deletions

View file

@ -73,7 +73,7 @@ class VertexAITextEmbeddingConfig(BaseModel):
}
def get_supported_openai_params(self):
return ["dimensions"]
return ["dimensions", "encoding_format"]
def map_openai_params(self, non_default_params: dict, optional_params: dict, kwargs: dict):
for param, value in non_default_params.items():

View file

@ -0,0 +1,40 @@
import os
import sys
import pytest
sys.path.insert(0, os.path.abspath("../../../../.."))
import litellm
from litellm.llms.vertex_ai.vertex_embeddings.transformation import (
VertexAITextEmbeddingConfig,
)
from litellm.utils import get_optional_params_embeddings
def test_encoding_format_is_supported_and_not_forwarded():
config = VertexAITextEmbeddingConfig()
assert "encoding_format" in config.get_supported_openai_params()
optional_params, _ = config.map_openai_params(
non_default_params={"encoding_format": "float"},
optional_params={},
kwargs={},
)
assert "encoding_format" not in optional_params
@pytest.mark.parametrize("encoding_format", ["float", "base64"])
def test_get_optional_params_embeddings_encoding_format_does_not_raise(monkeypatch, encoding_format):
monkeypatch.setattr(litellm, "drop_params", False)
optional_params = get_optional_params_embeddings(
model="textembedding-gecko@003",
encoding_format=encoding_format,
custom_llm_provider="vertex_ai",
drop_params=False,
)
assert "encoding_format" not in optional_params