Rag-Assistant / deploy_to_hf.py
AsrorAsr's picture
Upload folder using huggingface_hub
d8bd6cb verified
Raw
History Blame Contribute Delete
1.87 kB
import os
from huggingface_hub import HfApi, create_repo
from custom_config import HF_TOKEN
def deploy_to_huggingface():
if not HF_TOKEN:
print("Error: HF_TOKEN is missing!")
return
api = HfApi(token=HF_TOKEN)
try:
# Get username from token
user_info = api.whoami()
username = user_info["name"]
repo_id = f"{username}/Rag-Assistant"
# Create a new Space
print(f"Creating or retrieving Space: {repo_id}...")
create_repo(
repo_id=repo_id,
repo_type="space",
space_sdk="docker",
exist_ok=True
)
# Upload all files
print(f"Uploading files to {repo_id}...")
api.upload_folder(
folder_path=".",
repo_id=repo_id,
repo_type="space",
ignore_patterns=[
"venv/*", "backend/venv/*", ".git/*",
"chroma_db/*", "data/*", "uploads/*",
"node_modules/*", "frontend/node_modules/*",
"**/__pycache__/*", "**/*.pyc", ".env", "**/.env",
"frontend/dist/*" # Built in docker
]
)
# Upload secrets
print("Pushing secrets to Space...")
from dotenv import load_dotenv
load_dotenv("backend/.env")
openai_key = os.getenv("OPENAI_API_KEY")
if openai_key:
api.add_space_secret(repo_id=repo_id, key="OPENAI_API_KEY", value=openai_key)
print("✅ OPENAI_API_KEY secret added successfully.")
print("✅ Deployment initiated successfully!")
print(f"Check your deployment at: https://huggingface.co/spaces/{repo_id}")
except Exception as e:
print(f"Error during deployment: {e}")
if __name__ == "__main__":
deploy_to_huggingface()