1
0

run-converted-model.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/usr/bin/env bash
  2. set -e
  3. # Parse command line arguments
  4. CONVERTED_MODEL=""
  5. PROMPTS_FILE=""
  6. USE_POOLING=""
  7. while [[ $# -gt 0 ]]; do
  8. case $1 in
  9. -p|--prompts-file)
  10. PROMPTS_FILE="$2"
  11. shift 2
  12. ;;
  13. --pooling)
  14. USE_POOLING="1"
  15. shift
  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. # Final check if we have a model path
  28. if [ -z "$CONVERTED_MODEL" ]; then
  29. echo "Error: Model path must be provided either as:" >&2
  30. echo " 1. Command line argument" >&2
  31. echo " 2. CONVERTED_EMBEDDING_MODEL environment variable" >&2
  32. exit 1
  33. fi
  34. # Read prompt from file or use default
  35. if [ -n "$PROMPTS_FILE" ]; then
  36. if [ ! -f "$PROMPTS_FILE" ]; then
  37. echo "Error: Prompts file '$PROMPTS_FILE' not found" >&2
  38. exit 1
  39. fi
  40. PROMPT=$(cat "$PROMPTS_FILE")
  41. else
  42. PROMPT="Hello world today"
  43. fi
  44. echo $CONVERTED_MODEL
  45. cmake --build ../../build --target llama-logits -j8
  46. # TODO: update logits.cpp to accept a --file/-f option for the prompt
  47. if [ -n "$USE_POOLING" ]; then
  48. ../../build/bin/llama-logits -m "$CONVERTED_MODEL" -embd-mode -pooling "$PROMPT"
  49. else
  50. ../../build/bin/llama-logits -m "$CONVERTED_MODEL" -embd-mode "$PROMPT"
  51. fi