wintergw's picture
Update app.py
64e2829 verified
Raw
History Blame
1.59 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
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()