wintergw's picture
Update app.py
c3cf694 verified
Raw
History Blame Contribute Delete
1.55 kB
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()