run-converted-model.sh 1.4 KB

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