Spaces:
Sleeping
Sleeping
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)}") | |