nn-search-full / huggingface /dataset_utils.py
muryshev's picture
update
1d40914
raw
history blame
1.82 kB
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)}")