File size: 1,560 Bytes
7a9b4e7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env bash
# One-shot deploy of this project to a Hugging Face Space.
#
# Prereqs:
#   1. Create an empty Space at https://huggingface.co/new-space
#      (SDK: Streamlit, hardware: CPU basic - free)
#   2. Get a HF access token (write scope) from
#      https://huggingface.co/settings/tokens
#
# Usage:
#   HF_TOKEN=hf_xxx HF_USERNAME=yourname HF_SPACE=arabic-rag-optimizer \
#     bash scripts/deploy_hf.sh
set -euo pipefail

: "${HF_TOKEN:?Set HF_TOKEN to your Hugging Face access token}"
: "${HF_USERNAME:?Set HF_USERNAME to your Hugging Face username}"
: "${HF_SPACE:?Set HF_SPACE to your Space slug, e.g. arabic-rag-optimizer}"

SPACE_URL="https://huggingface.co/spaces/${HF_USERNAME}/${HF_SPACE}"
REMOTE_URL="https://user:${HF_TOKEN}@huggingface.co/spaces/${HF_USERNAME}/${HF_SPACE}"

TMPDIR=$(mktemp -d)
echo "Staging deploy in $TMPDIR"

# Copy only what the Space needs (skip venv, results, data, git metadata).
rsync -a --exclude 'venv' --exclude '.git' --exclude '__pycache__' \
  --exclude 'results' --exclude 'data' --exclude '.env' \
  ./ "$TMPDIR/"

# The Space's README needs the YAML frontmatter — swap it in.
cp SPACE_README.md "$TMPDIR/README.md"

cd "$TMPDIR"
git init -q
git checkout -q -b main
git add .
git commit -q -m "Deploy Arabic RAG Optimizer"
git remote add space "$REMOTE_URL"
git push -f space main

echo ""
echo "Deployed. Now set your backend secrets in the Space UI:"
echo "  $SPACE_URL -> Settings -> Variables and secrets"
echo "    VLLM_API_URL, VLLM_MODEL_NAME, VLLM_API_KEY"
echo ""
echo "Space: $SPACE_URL"