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 #login(token=os.environ.get("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()