Files
malabar/run.sh
2026-03-03 17:20:29 +08:00

105 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# === API Configuration ===
export ASSEMBLYAI_API_KEY="4a81251e347f4e888f9c72723849e900"
# GLM (Zhipu AI) - Currently active
export OPENAI_API_KEY="1477a6bbb684437ba56cdaef04e8ddf6.QlNZUfUcfTfIChSE"
export OPENAI_BASE_URL="https://open.bigmodel.cn/api/paas/v4"
export LLM_MODEL="glm-4.5-air"
# export LLM_MODEL="GLM-4.7-Flash"
# === Usage ===
# Run all steps:
# ./run.sh
# ./run.sh all
#
# Run individual step:
# ./run.sh 1 # Step 1: Transcribe
# ./run.sh 2 # Step 2: Format lines
# ./run.sh 3 # Step 3: Infer speakers
# ./run.sh 4 # Step 4: Translate to Chinese
# ./run.sh 5 # Step 5: Assign colors
#
# Force reprocessing (disregard progress marks):
# ./run.sh -f
# ./run.sh -f 1
# ./run.sh 1 -f
# Parse arguments
FORCE_FLAG=""
STEP="all"
for arg in "$@"; do
if [ "$arg" = "-f" ] || [ "$arg" = "--force" ]; then
FORCE_FLAG="-f"
elif [ "$arg" = "1" ] || [ "$arg" = "2" ] || [ "$arg" = "3" ] || [ "$arg" = "4" ] || [ "$arg" = "5" ] || [ "$arg" = "all" ]; then
STEP="$arg"
fi
done
# Header
echo "========================================"
echo "Transcription Pipeline"
echo "========================================"
if [ -n "$FORCE_FLAG" ]; then
echo "Force mode: ON (disregarding progress marks)"
fi
echo ""
FAILED=0
# Step 1: Transcribe
if [ "$STEP" = "all" ] || [ "$STEP" = "1" ]; then
echo ""
echo "========================================"
echo "Step 1: Transcribing..."
echo "========================================"
uv run step1_transcribe.py $FORCE_FLAG || FAILED=1
fi
# Step 2: Format lines
if [ "$STEP" = "all" ] || [ "$STEP" = "2" ]; then
echo ""
echo "========================================"
echo "Step 2: Formatting lines..."
echo "========================================"
uv run step2_format.py || FAILED=1
fi
# Step 3: Infer speakers
if [ "$STEP" = "all" ] || [ "$STEP" = "3" ]; then
echo ""
echo "========================================"
echo "Step 3: Inferring speakers..."
echo "========================================"
uv run step3_infer_speakers.py || FAILED=1
fi
# Step 4: Translate to Chinese
if [ "$STEP" = "all" ] || [ "$STEP" = "4" ]; then
echo ""
echo "========================================"
echo "Step 4: Translating to Chinese..."
echo "========================================"
uv run step4_translate.py || FAILED=1
fi
# Step 5: Assign colors
if [ "$STEP" = "all" ] || [ "$STEP" = "5" ]; then
echo ""
echo "========================================"
echo "Step 5: Assigning colors..."
echo "========================================"
uv run step5_assign_colors.py || FAILED=1
fi
echo ""
echo "========================================"
if [ $FAILED -eq 0 ]; then
echo "✅ All steps completed successfully!"
else
echo "⚠️ Some steps had errors"
fi
echo "========================================"