fix: handle invalid dimensions config and align get_dim return
- Add try-except around int() conversion in _embedding_kwargs to gracefully handle invalid embedding_dimensions config values - Update get_dim() to return 0 when embedding_dimensions is not explicitly configured, so callers know dimensions weren't specified and can handle it accordingly - Both methods now share consistent logic for reading the config Signed-off-by: JiangNan <1394485448@qq.com>
This commit is contained in:
@@ -62,12 +62,20 @@ class OpenAIEmbeddingProvider(EmbeddingProvider):
|
||||
"""构建嵌入请求的可选参数"""
|
||||
kwargs = {}
|
||||
if "embedding_dimensions" in self.provider_config:
|
||||
kwargs["dimensions"] = int(self.provider_config["embedding_dimensions"])
|
||||
try:
|
||||
kwargs["dimensions"] = int(self.provider_config["embedding_dimensions"])
|
||||
except (ValueError, TypeError):
|
||||
logger.warning(f"配置中的 embedding_dimensions 值无效: '{self.provider_config['embedding_dimensions']}',已忽略。")
|
||||
return kwargs
|
||||
|
||||
def get_dim(self) -> int:
|
||||
"""获取向量的维度"""
|
||||
return int(self.provider_config.get("embedding_dimensions", 1024))
|
||||
if "embedding_dimensions" in self.provider_config:
|
||||
try:
|
||||
return int(self.provider_config["embedding_dimensions"])
|
||||
except (ValueError, TypeError):
|
||||
logger.warning(f"配置中的 embedding_dimensions 值无效: '{self.provider_config['embedding_dimensions']}'")
|
||||
return 0
|
||||
|
||||
async def terminate(self):
|
||||
if self.client:
|
||||
|
||||
Reference in New Issue
Block a user