Advertisement
genericPaster

kobold.sh

May 8th, 2024
578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.11 KB | None | 0 0
  1.  
  2.  
  3. #!/bin/bash
  4. #source ~/koboldcpp/venv/bin/activate
  5. model_dir="/mnt/Orlando/gguf"
  6. model_files=("$model_dir"/*.gguf)
  7. if [ ${#model_files[@]} -eq 0 ]; then
  8.     echo "No .gguf files found in the specified directory."
  9.     exit 1
  10. fi
  11. echo "Select a model file:"
  12. select model_file in "${model_files[@]}"; do
  13.     if [ -n "$model_file" ]; then
  14.         break
  15.     else
  16.         echo "Invalid selection. Please try again."
  17.     fi
  18. done
  19. echo "Select context size (Press Enter to default to 8192):"
  20.  
  21. options=("256" "512" "1024" "2048" "3072" "4096" "6144" "8192" "12288" "16384" "24576" "32768" "49152" "65536")
  22.  
  23. PS3="Context: "
  24.  
  25. select opt in "${options[@]}" ""; do
  26.     case $REPLY in
  27.         "")
  28.             context="8192"
  29.             echo "No context size selected. Defaulting to 8192."
  30.             break
  31.             ;;
  32.         *[0-9]*)
  33.             if [[ $REPLY -ge 1 && $REPLY -le ${#options[@]} ]]; then
  34.                 context=${options[$REPLY-1]}
  35.                 echo "Selected context size: $context"
  36.                 break
  37.             else
  38.                 echo "Invalid option. Please try again."
  39.             fi
  40.             ;;
  41.         *)
  42.             echo "Invalid input. Please enter a number."
  43.             ;;
  44.     esac
  45. done
  46.  
  47. read -p "Do you want to change other parameters? (y/[n]): " change_params
  48. if [[ "$change_params" == "y" ]]; then
  49.  
  50. while true; do
  51.     read -p "Enter tensor split [disabled]: " tensor_response
  52.     if [[ "$tensor_response" == "" ]]; then
  53.         tensor_split=""
  54.         break
  55.     elif [[ "$tensor_response" =~ ^[0-9]+(\.[0-9]+)?(\ [0-9]+(\.[0-9]+)?)*$ ]]; then
  56.         tensor_split=("--tensor_split $tensor_response")
  57.         break
  58.     else
  59.         echo "Invalid response. Please enter a valid tensor split value (integers or floats separated by spaces)."
  60.     fi
  61. done
  62.  
  63. read -p "Enter gpu layers [999]: " layers_response
  64. layers=${layers_response:-999}
  65.  
  66. read -p "Disable rowsplit? (y/[n]): " rowsplit_response
  67. rowsplit=$([ "$rowsplit_response" == "y" ] && echo "" || echo "")
  68.  
  69. read -p "Preload (y/[n]): " preload_response
  70. preload=$([ "$preload_response" == "y" ] && echo "--preloadstory /mnt/Orlando/saved_settings.json" || echo "")
  71.  
  72. #read -p "Enable txt-to-image? (y/[n]): " sd_response
  73. #sd=$([ "$sd_response" == "y" ] && echo "--sdconfig /mnt/Orlando/Models/Stable-diffusion/v1-5-pruned-emaonly.safetensors" || echo "")
  74.  
  75. #read -p "Enable debug mode? (y/[n]): " debug_response
  76. #debug=$([ "$debug_response" == "y" ] && echo "--debug" || echo "")
  77.  
  78. read -p "Enable non-quiet mode? (y/[n]): " quiet_response
  79. quiet=$([ "$quiet_response" == "y" ] && echo "" || echo "--quiet")
  80.  
  81. #read -p "Enable tunnel? (y/[n]): " tunnel_response
  82. #tunnel=$([ "$tunnel_response" == "y" ] && echo "--remotetunnel" || echo "")
  83. else
  84.  
  85.  
  86. layers=999
  87. preload=""
  88. sd=""
  89. rowsplit="rowsplit"
  90. debug=""
  91. quiet="--quiet"
  92. tunnel=""
  93. fi
  94.  
  95. debug=""
  96. sd=""
  97. tunnel=""
  98.  
  99. additional_flags=("$@")
  100.  
  101. python ~/kbnew/koboldcpp/koboldcpp.py --usecublas $rowsplit --port 5001 --contextsize "$context" --gpulayers $layers --multiuser --model "$model_file" $quiet $tensor_split $preload $tunnel $sd $debug "${additional_flags[@]}"
  102.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement