search-index-reload

This commit is contained in:
2025-09-10 12:29:59 +03:00
parent 02e57922d5
commit 6817fb6436
3 changed files with 17 additions and 4 deletions

View File

@@ -44,6 +44,14 @@ def get_models_cache_dir() -> str:
MODELS_CACHE_DIR = get_models_cache_dir()
def get_index_dump_dir() -> str:
"""Определяет лучшую папку для индекса векторного поиска"""
# Приоритет /dump если доступна, иначе ./dump как fallback
return "/dump" if Path("/dump").exists() else "./dump"
# Используем HF_HOME вместо устаревшего TRANSFORMERS_CACHE
os.environ.setdefault("HF_HOME", MODELS_CACHE_DIR)
@@ -213,8 +221,11 @@ class MuveraWrapper:
try:
logger.info("🔍 Пытаемся восстановить векторный индекс из файла...")
# Определяем лучшую папку для индекса (приоритет /dump)
dump_dir = get_index_dump_dir()
# Пытаемся загрузить из файла
if await self.load_index_from_file():
if await self.load_index_from_file(dump_dir):
logger.info("✅ Векторный индекс восстановлен из файла")
else:
logger.info("🔍 Сохраненный индекс не найден, будет создан новый")
@@ -380,7 +391,9 @@ class MuveraWrapper:
# 🗃️ Автосохранение индекса после успешной индексации
if indexed_count > 0:
try:
await self.save_index_to_file()
# Используем тот же путь что и для загрузки
dump_dir = get_index_dump_dir()
await self.save_index_to_file(dump_dir)
if not silent:
logger.debug("💾 Индекс автоматически сохранен в файл")
except Exception as e: