File size: 1,824 Bytes
1d40914
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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)}")