File size: 1,420 Bytes
d7e6d1a
46587f0
d7e6d1a
 
1b3a255
46587f0
50f80f1
 
 
 
 
43f15fb
 
 
 
 
 
 
d7e6d1a
1b3a255
 
 
 
 
 
46587f0
1b3a255
46587f0
d7e6d1a
 
 
1b3a255
 
 
d7e6d1a
 
 
50f80f1
46587f0
d7e6d1a
 
46587f0
 
 
1b3a255
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
#!/bin/sh
# Container entrypoint: seed dataset if needed, then start API.
set -e

DATASET="${SEED_DATASET:-/app/example-dataset/chunks.jsonl}"

IS_HF_SPACE=false
if [ -n "${SPACE_HOST}" ] || [ -n "${SPACE_ID}" ]; then
    IS_HF_SPACE=true
fi

# DEFAULT_SEED_ON_STARTUP=true
# if [ "${IS_HF_SPACE}" = "true" ]; then
#     DEFAULT_SEED_ON_STARTUP=false
# fi
# SEED_ON_STARTUP="${SEED_ON_STARTUP:-$DEFAULT_SEED_ON_STARTUP}"

SEED_ON_STARTUP=true

DATASET_HASH=""
if [ -f "$DATASET" ]; then
    DATASET_HASH="$(sha256sum "$DATASET" | awk '{print $1}')"
fi
MARKER="/data/.seeded_${DATASET_HASH}"

if [ "${SEED_ON_STARTUP}" = "true" ] && [ -f "$DATASET" ] && [ -n "$DATASET_HASH" ] && [ ! -f "$MARKER" ]; then
    echo "=== Seeding dataset: $DATASET ==="
    echo "=== Dataset hash: $DATASET_HASH ==="
    python src/pipelines/vector_ingest/pipeline_cli.py \
        --input "$DATASET" \
        --apply \
        --reset-chroma-collection \
        --reset-document-store \
        --reconcile-missing
    touch "$MARKER"
    echo "=== Seeding complete ==="
else
    echo "=== Seeding skipped (SEED_ON_STARTUP=${SEED_ON_STARTUP}) or dataset already seeded/not found ==="
    echo "=== DATASET='$DATASET' HASH='$DATASET_HASH' MARKER='$MARKER' ==="
fi

echo "=== HF env: SPACE_HOST='${SPACE_HOST}' SPACE_ID='${SPACE_ID}' SYSTEM='${SYSTEM}' ==="
echo "=== GRADIO_ROOT_PATH='${GRADIO_ROOT_PATH}' ==="

exec python src/api/main.py