perf(rag): 优化嵌入服务性能并改进批处理大小配置
- 优化本地嵌入服务(Ollama)性能,移除不必要的延迟 - 改进批处理大小配置,使用动态获取替代硬编码 - 保持云端服务的限流逻辑不变
This commit is contained in:
parent
8644f6f113
commit
e06126482c
|
|
@ -767,7 +767,8 @@ class EmbeddingService:
|
||||||
logger.warning(f"Progress callback error: {e}")
|
logger.warning(f"Progress callback error: {e}")
|
||||||
|
|
||||||
# 添加小延迟避免限流
|
# 添加小延迟避免限流
|
||||||
await asyncio.sleep(0.1)
|
if self.provider not in ["ollama"]:
|
||||||
|
await asyncio.sleep(0.1) # 本地不延时
|
||||||
|
|
||||||
# 确保没有 None
|
# 确保没有 None
|
||||||
return [e if e is not None else [0.0] * self.dimension for e in embeddings]
|
return [e if e is not None else [0.0] * self.dimension for e in embeddings]
|
||||||
|
|
|
||||||
|
|
@ -1290,7 +1290,7 @@ class CodeIndexer:
|
||||||
# 批量嵌入(带进度回调和取消检查)
|
# 批量嵌入(带进度回调和取消检查)
|
||||||
embeddings = await self.embedding_service.embed_batch(
|
embeddings = await self.embedding_service.embed_batch(
|
||||||
texts,
|
texts,
|
||||||
batch_size=50,
|
batch_size=getattr(self.embedding_service, 'batch_size', 50),
|
||||||
progress_callback=embedding_progress_callback,
|
progress_callback=embedding_progress_callback,
|
||||||
cancel_check=cancel_check,
|
cancel_check=cancel_check,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue