import os from datasets import load_dataset def get_global_data_path(): """ Загружает путь к папке `legal_info_search_data` внутри датасета Hugging Face. Ожидает, что переменные окружения HF_TOKEN и HF_DATASET заданы. Если переменные не указаны, возвращает значение по умолчанию. Returns: str: Путь к папке `legal_info_search_data`. Raises: ValueError: Если переменные окружения не указаны. FileNotFoundError: Если папка `legal_info_search_data` не найдена. """ # Получение переменных окружения hf_token = os.environ.get("HF_TOKEN") hf_dataset = os.environ.get("HF_DATASET") default_path = os.environ.get("GLOBAL_DATA_PATH") # Проверяем, заданы ли переменные окружения if not hf_token or not hf_dataset: return default_path # Загружаем датасет try: dataset = load_dataset(hf_dataset, use_auth_token=hf_token) # Получаем путь к локальному кешу датасета dataset_cache_path = dataset.cache_files[0]['filename'] global_data_path = os.path.join(os.path.dirname(dataset_cache_path), "legal_info_search_data") # Проверяем существование папки if not os.path.exists(global_data_path): raise FileNotFoundError(f"Папка {global_data_path} не найдена в датасете {hf_dataset}.") return global_data_path except Exception as e: raise RuntimeError(f"Ошибка при загрузке датасета: {str(e)}")