From 6817fb643641d038763aedca9382d9db17e30638 Mon Sep 17 00:00:00 2001 From: Untone Date: Wed, 10 Sep 2025 12:29:59 +0300 Subject: [PATCH] search-index-reload --- biome.json | 2 +- services/search.py | 17 +++++++++++++++-- uv.lock | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/biome.json b/biome.json index 13860838..e6f9138d 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.2.0/schema.json", + "$schema": "https://biomejs.dev/schemas/2.2.3/schema.json", "files": { "includes": [ "**/*.tsx", diff --git a/services/search.py b/services/search.py index 81b94a84..59d5840e 100644 --- a/services/search.py +++ b/services/search.py @@ -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: diff --git a/uv.lock b/uv.lock index 1868c59c..d3f4c781 100644 --- a/uv.lock +++ b/uv.lock @@ -400,7 +400,7 @@ wheels = [ [[package]] name = "discours-core" -version = "0.9.18" +version = "0.9.20" source = { editable = "." } dependencies = [ { name = "ariadne" },