fix: honor dashscope embedding batch limit
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
import logging
|
||||
|
||||
from langchain_openai import OpenAIEmbeddings
|
||||
|
||||
from kbqa.api.errors import AppError
|
||||
from kbqa.config import Settings, validate_live_settings
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class EmbeddingProvider:
|
||||
def __init__(self, settings: Settings) -> None:
|
||||
@@ -17,7 +21,7 @@ class EmbeddingProvider:
|
||||
base_url=self.settings.dashscope_base_url,
|
||||
model=self.settings.embedding_model,
|
||||
dimensions=self.settings.embedding_dim,
|
||||
chunk_size=20,
|
||||
chunk_size=10,
|
||||
max_retries=2,
|
||||
timeout=60.0,
|
||||
check_embedding_ctx_length=False,
|
||||
@@ -40,6 +44,7 @@ class EmbeddingProvider:
|
||||
except AppError:
|
||||
raise
|
||||
except Exception as exc:
|
||||
logger.exception("Embedding document request failed error_type=%s", type(exc).__name__)
|
||||
raise AppError(
|
||||
"EMBEDDING_UPSTREAM_ERROR",
|
||||
"文档向量化失败,请稍后重试",
|
||||
@@ -54,6 +59,7 @@ class EmbeddingProvider:
|
||||
except AppError:
|
||||
raise
|
||||
except Exception as exc:
|
||||
logger.exception("Embedding query request failed error_type=%s", type(exc).__name__)
|
||||
raise AppError(
|
||||
"EMBEDDING_UPSTREAM_ERROR",
|
||||
"查询向量化失败,请稍后重试",
|
||||
|
||||
Reference in New Issue
Block a user