Skip to content

Commit 044e259

Browse files
qin-ptrqin-ctx
andauthored
fix(embedder): report configured provider in slow-call logs (#1403)
* fix(embedder): report configured provider in slow-call logs Preserve the configured embedding provider in slow-call warnings so OpenAI-compatible backends like Ollama do not show up as unknown or as their transport mode. * fix log --------- Co-authored-by: qin-ctx <qinhaojie.exe@bytedance.com>
1 parent 26bbfd2 commit 044e259

12 files changed

Lines changed: 62 additions & 1 deletion

openviking/models/embedder/cohere_embedders.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def __init__(
5353
config: Optional[Dict[str, Any]] = None,
5454
):
5555
super().__init__(model_name, config)
56+
self.provider = "cohere"
5657

5758
self.api_key = api_key
5859
self.api_base = (api_base or "https://api.cohere.com").rstrip("/")

openviking/models/embedder/gemini_embedders.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ def __init__(
131131
config: Optional[Dict[str, Any]] = None,
132132
):
133133
super().__init__(model_name, config)
134+
self.provider = "gemini"
134135
if not api_key:
135136
raise ValueError("Gemini provider requires api_key")
136137
if task_type and task_type not in _VALID_TASK_TYPES:

openviking/models/embedder/jina_embedders.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ def __init__(
9999
ValueError: If api_key is not provided
100100
"""
101101
super().__init__(model_name, config)
102+
self.provider = "jina"
102103

103104
self.api_key = api_key
104105
self.api_base = api_base or "https://api.jina.ai/v1"

openviking/models/embedder/litellm_embedders.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ def __init__(
6868
config: Additional configuration dict.
6969
"""
7070
super().__init__(model_name, config)
71+
self.provider = "litellm"
7172

7273
os.environ.setdefault("LITELLM_LOCAL_MODEL_COST_MAP", "True")
7374

openviking/models/embedder/minimax_embedders.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ def __init__(
5656
extra_headers: Extra headers, useful for passing GroupId for MiniMax API
5757
"""
5858
super().__init__(model_name, config)
59+
self.provider = "minimax"
5960

6061
self.api_key = api_key
6162
self.api_base = api_base or self.DEFAULT_API_BASE

openviking/models/embedder/openai_embedders.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def __init__(
7575
extra_headers: Optional[Dict[str, str]] = None,
7676
input_type: Optional[str] = None,
7777
provider: str = "openai",
78+
configured_provider: Optional[str] = None,
7879
):
7980
"""Initialize OpenAI-Compatible Dense Embedder
8081
@@ -118,6 +119,7 @@ def __init__(
118119
self.query_param = query_param
119120
self.document_param = document_param
120121
self._provider = provider.lower()
122+
self.provider = (configured_provider or provider).lower()
121123
self._client_kwargs: Dict[str, Any] = {"api_key": self.api_key or "no-key"}
122124

123125
# Allow missing api_key when api_base is set (e.g. local OpenAI-compatible servers)

openviking/models/embedder/vikingdb_embedders.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ def __init__(
160160
config: Optional[Dict[str, Any]] = None,
161161
):
162162
DenseEmbedderBase.__init__(self, model_name, config)
163+
self.provider = "vikingdb"
163164
self._init_vikingdb_client(ak, sk, region, host)
164165
self.model_version = model_version
165166
self.dimension = dimension
@@ -299,6 +300,7 @@ def __init__(
299300
config: Optional[Dict[str, Any]] = None,
300301
):
301302
SparseEmbedderBase.__init__(self, model_name, config)
303+
self.provider = "vikingdb"
302304
self._init_vikingdb_client(ak, sk, region, host)
303305
self.model_version = model_version
304306
self.sparse_model = {
@@ -438,6 +440,7 @@ def __init__(
438440
config: Optional[Dict[str, Any]] = None,
439441
):
440442
HybridEmbedderBase.__init__(self, model_name, config)
443+
self.provider = "vikingdb"
441444
self._init_vikingdb_client(ak, sk, region, host)
442445
self.model_version = model_version
443446
self.dimension = dimension

openviking/models/embedder/volcengine_embedders.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def __init__(
8181
ValueError: If api_key is not provided
8282
"""
8383
super().__init__(model_name, config)
84+
self.provider = "volcengine"
8485

8586
self.api_key = api_key
8687
self.api_base = api_base or "https://ark.cn-beijing.volces.com/api/v3"
@@ -326,6 +327,7 @@ def __init__(
326327
ValueError: If api_key is not provided
327328
"""
328329
super().__init__(model_name, config)
330+
self.provider = "volcengine"
329331

330332
self.api_key = api_key
331333
self.api_base = api_base
@@ -512,6 +514,7 @@ def __init__(
512514
ValueError: If api_key is not provided
513515
"""
514516
super().__init__(model_name, config)
517+
self.provider = "volcengine"
515518
self.api_key = api_key
516519
self.api_base = api_base
517520
self.dimension = dimension

openviking/models/embedder/voyage_embedders.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ def __init__(
6060
config: Optional[Dict[str, Any]] = None,
6161
):
6262
super().__init__(model_name, config)
63+
self.provider = "voyage"
6364

6465
self.api_key = api_key
6566
self.api_base = api_base or "https://api.voyageai.com/v1"

openviking_cli/utils/config/embedding_config.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,7 @@ def _create_embedder(
376376
"api_version": cfg.api_version,
377377
"dimension": cfg.dimension,
378378
"provider": "openai",
379+
"configured_provider": "openai",
379380
"config": dict(runtime_config),
380381
**({"query_param": cfg.query_param} if cfg.query_param else {}),
381382
**({"document_param": cfg.document_param} if cfg.document_param else {}),
@@ -391,6 +392,7 @@ def _create_embedder(
391392
"api_version": cfg.api_version,
392393
"dimension": cfg.dimension,
393394
"provider": "azure",
395+
"configured_provider": "azure",
394396
"config": dict(runtime_config),
395397
**({"query_param": cfg.query_param} if cfg.query_param else {}),
396398
**({"document_param": cfg.document_param} if cfg.document_param else {}),
@@ -500,6 +502,7 @@ def _create_embedder(
500502
or "no-key", # Ollama ignores the key, but client requires non-empty
501503
"api_base": cfg.api_base or "http://localhost:11434/v1",
502504
"dimension": cfg.dimension,
505+
"configured_provider": "ollama",
503506
"config": dict(runtime_config),
504507
},
505508
),

0 commit comments

Comments
 (0)