1#!/usr/bin/env bash
 2
 3set -e
 4
 5# Parse command line arguments
 6CONVERTED_MODEL=""
 7PROMPTS_FILE=""
 8EMBD_NORMALIZE="2"
 9
10while [[ $# -gt 0 ]]; do
11    case $1 in
12        -p|--prompts-file)
13            PROMPTS_FILE="$2"
14            shift 2
15            ;;
16        --embd-normalize)
17            EMBD_NORMALIZE="$2"
18            shift 2
19            ;;
20        *)
21            if [ -z "$CONVERTED_MODEL" ]; then
22                CONVERTED_MODEL="$1"
23            fi
24            shift
25            ;;
26    esac
27done
28
29# First try command line argument, then environment variable
30CONVERTED_MODEL="${CONVERTED_MODEL:-"$CONVERTED_EMBEDDING_MODEL"}"
31BUILD_DIR="${BUILD_DIR:-"../../build"}"
32
33# Final check if we have a model path
34if [ -z "$CONVERTED_MODEL" ]; then
35    echo "Error: Model path must be provided either as:" >&2
36    echo "  1. Command line argument" >&2
37    echo "  2. CONVERTED_EMBEDDING_MODEL environment variable" >&2
38    exit 1
39fi
40
41# Read prompt from file or use default
42if [ -n "$PROMPTS_FILE" ]; then
43    if [ ! -f "$PROMPTS_FILE" ]; then
44        echo "Error: Prompts file '$PROMPTS_FILE' not found" >&2
45        exit 1
46    fi
47    PROMPT=$(cat "$PROMPTS_FILE")
48else
49    PROMPT="Hello world today"
50fi
51
52echo $CONVERTED_MODEL
53
54cmake --build ${BUILD_DIR} --target llama-debug -j8
55${BUILD_DIR}/bin/llama-debug -m "$CONVERTED_MODEL" --embedding -p "$PROMPT" --save-logits --embd-normalize $EMBD_NORMALIZE