Merge pull request #105 from Arcueld/perf/rag-optimize-embeddings

perf(rag): 优化嵌入服务性能并改进批处理大小配置
This commit is contained in:
lintsinghua 2025-12-28 10:32:42 +08:00 committed by GitHub
commit 647373345f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 2 deletions

View File

@ -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]

View File

@ -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,
) )