from huggingface_hub import hf_hub_download, snapshot_download, login import pandas as pd import importlib import importlib.util import streamlit as st import sys import os from pathlib import Path from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel HF_TOKEN_LLAMA = os.environ.get("HF_TOKEN_LLAMA") login(token=HF_TOKEN_LLAMA) HF_TOKEN = os.environ.get("HF_TOKEN") #get HF_TOKEN login(token=HF_TOKEN) USER_NAME = os.getenv("USER_NAME", "").strip().strip('"') PRIVATE_SPACE_NAME = os.getenv("PRIVATE_SPACE_NAME", "").strip().strip('"') #Construct the repo ID REPO_ID = f"{USER_NAME}/{PRIVATE_SPACE_NAME}" REPO_TYPE = "space" # sys.path.append(repo_dir) # Download the entire space, including the fine-tuned model folder repo_dir = snapshot_download( repo_id=REPO_ID, repo_type=REPO_TYPE, token=HF_TOKEN, cache_dir="private_space_cache", force_download=True # Forces redownload ) # Change the working directory to the downloaded snapshot directory # This step is very imporptant os.chdir(repo_dir) # # Add repo directory to sys.path so Python can find modules inside it sys.path.append(repo_dir) # Download specific files (if snapshot_download wasn't used) app_path = hf_hub_download( repo_id=REPO_ID, filename="app.py", repo_type=REPO_TYPE ) # Load and execute `app.py` spec_app = importlib.util.spec_from_file_location("*", app_path) app_module = importlib.util.module_from_spec(spec_app) spec_app.loader.exec_module(app_module) # Now you can use functions from utils_module result = app_module.main()