run-converted-model.sh 1.2 KB

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