Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
import os
|
| 2 |
import subprocess
|
| 3 |
import streamlit as st
|
| 4 |
-
from huggingface_hub import snapshot_download
|
| 5 |
|
| 6 |
def check_directory_path(directory_name: str) -> str:
|
| 7 |
if os.path.exists(directory_name):
|
|
@@ -92,6 +92,30 @@ def automate_llama_quantization(hf_model_name, quant_type):
|
|
| 92 |
st.success(f"🎉 All steps completed! Quantized model available at: `{quantized_file}`")
|
| 93 |
return quantized_file
|
| 94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
# Streamlit UI
|
| 96 |
st.title("🦙 LLaMA Model Quantization (llama.cpp)")
|
| 97 |
|
|
@@ -104,4 +128,17 @@ if start_button:
|
|
| 104 |
quantized_model_path = automate_llama_quantization(hf_model_name, quant_type)
|
| 105 |
if quantized_model_path:
|
| 106 |
with open(quantized_model_path, "rb") as f:
|
| 107 |
-
st.download_button("⬇️ Download Quantized Model", f, file_name=os.path.basename(quantized_model_path))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import os
|
| 2 |
import subprocess
|
| 3 |
import streamlit as st
|
| 4 |
+
from huggingface_hub import snapshot_download, login
|
| 5 |
|
| 6 |
def check_directory_path(directory_name: str) -> str:
|
| 7 |
if os.path.exists(directory_name):
|
|
|
|
| 92 |
st.success(f"🎉 All steps completed! Quantized model available at: `{quantized_file}`")
|
| 93 |
return quantized_file
|
| 94 |
|
| 95 |
+
def upload_to_huggingface(file_path, repo_id, token):
|
| 96 |
+
"""
|
| 97 |
+
Uploads a file to Hugging Face Hub.
|
| 98 |
+
"""
|
| 99 |
+
try:
|
| 100 |
+
# Log in to Hugging Face
|
| 101 |
+
login(token=token)
|
| 102 |
+
|
| 103 |
+
# Initialize HfApi
|
| 104 |
+
api = HfApi()
|
| 105 |
+
|
| 106 |
+
# Create the repository if it doesn't exist
|
| 107 |
+
api.create_repo(repo_id, exist_ok=True, repo_type="model")
|
| 108 |
+
|
| 109 |
+
# Upload the file
|
| 110 |
+
api.upload_file(
|
| 111 |
+
path_or_fileobj=file_path,
|
| 112 |
+
path_in_repo=os.path.basename(file_path),
|
| 113 |
+
repo_id=repo_id,
|
| 114 |
+
)
|
| 115 |
+
st.success(f"✅ File uploaded to Hugging Face: {repo_id}")
|
| 116 |
+
except Exception as e:
|
| 117 |
+
st.error(f"❌ Failed to upload file: {e}")
|
| 118 |
+
|
| 119 |
# Streamlit UI
|
| 120 |
st.title("🦙 LLaMA Model Quantization (llama.cpp)")
|
| 121 |
|
|
|
|
| 128 |
quantized_model_path = automate_llama_quantization(hf_model_name, quant_type)
|
| 129 |
if quantized_model_path:
|
| 130 |
with open(quantized_model_path, "rb") as f:
|
| 131 |
+
st.download_button("⬇️ Download Quantized Model", f, file_name=os.path.basename(quantized_model_path))
|
| 132 |
+
upload_to_hf = st.checkbox("Upload to Hugging Face")
|
| 133 |
+
|
| 134 |
+
if upload_to_hf:
|
| 135 |
+
st.write("### Upload to Hugging Face")
|
| 136 |
+
repo_id = st.text_input("Enter Hugging Face Repository ID (e.g., 'username/repo-name')")
|
| 137 |
+
hf_token = st.text_input("Enter Hugging Face Token", type="password")
|
| 138 |
+
|
| 139 |
+
if st.button("📤 Upload to Hugging Face"):
|
| 140 |
+
if repo_id and hf_token:
|
| 141 |
+
with st.spinner("Uploading..."):
|
| 142 |
+
upload_to_huggingface(quantized_model_path, repo_id, hf_token)
|
| 143 |
+
else:
|
| 144 |
+
st.warning("Please provide a valid repository ID and Hugging Face token.")
|