updates
This commit is contained in:
		| @@ -10,15 +10,18 @@ h="$3" | ||||
| x="$4" | ||||
| y="$5" | ||||
|  | ||||
| case "$(file -Lb --mime-type "$file")" in  | ||||
|   image/*) | ||||
|     draw "$file" | ||||
|     ;; | ||||
|   video/*) | ||||
|     # vidthumb is from here: | ||||
|     # https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb | ||||
|     draw "$(vidthumb "$file")" | ||||
|     ;; | ||||
| case "$(file -Lb --mime-type "$file")" in | ||||
| image/*) | ||||
|   draw "$file" | ||||
|   ;; | ||||
| video/*) | ||||
|   # vidthumb is from here: | ||||
|   # https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb | ||||
|   draw "$(vidthumb "$file")" | ||||
|   ;; | ||||
| text/*) | ||||
|   mdcat --columns "$(($4 * 7 / 9))" "$1" | ||||
|   ;; | ||||
| esac | ||||
|  | ||||
| pistol "$file" | ||||
|   | ||||
							
								
								
									
										113
									
								
								ask_llm.bash
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										113
									
								
								ask_llm.bash
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,113 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| set -Eeuo pipefail | ||||
| trap cleanup SIGINT SIGTERM ERR EXIT | ||||
| payload=$(mktemp) | ||||
|  | ||||
| script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P) | ||||
|  | ||||
| usage() { | ||||
|   cat <<EOF | ||||
| Usage: $(basename "${BASH_SOURCE[0]}") [-h] [-v] [-f] -p param_value arg1 [arg2...] | ||||
|  | ||||
| Script description here. | ||||
|  | ||||
| Available options: | ||||
|  | ||||
| -h, --help      Print this help and exit | ||||
| -v, --verbose   Print script debug info | ||||
| -f, --flag      Some flag description | ||||
| -p, --param     Some param description | ||||
| EOF | ||||
|   exit | ||||
| } | ||||
|  | ||||
| cleanup() { | ||||
|   trap - SIGINT SIGTERM ERR EXIT | ||||
|   # script cleanup here | ||||
|   rm -rf "$payload" | ||||
| } | ||||
|  | ||||
| setup_colors() { | ||||
|   if [[ -t 2 ]] && [[ -z "${NO_COLOR-}" ]] && [[ "${TERM-}" != "dumb" ]]; then | ||||
|     NOFORMAT='\033[0m' RED='\033[0;31m' GREEN='\033[0;32m' ORANGE='\033[0;33m' BLUE='\033[0;34m' PURPLE='\033[0;35m' CYAN='\033[0;36m' YELLOW='\033[1;33m' | ||||
|   else | ||||
|     NOFORMAT='' RED='' GREEN='' ORANGE='' BLUE='' PURPLE='' CYAN='' YELLOW='' | ||||
|   fi | ||||
| } | ||||
|  | ||||
| msg() { | ||||
|   if [[ $# -gt 1 ]]; then | ||||
|     echo >&2 -e -n "${1-}${2}" | ||||
|   else | ||||
|     echo >&2 -e "${1-}" | ||||
|   fi | ||||
| } | ||||
|  | ||||
| die() { | ||||
|   local msg=$1 | ||||
|   local code=${2-1} # default exit status 1 | ||||
|   msg "$msg" | ||||
|   exit "$code" | ||||
| } | ||||
|  | ||||
| get_abs_filename() { | ||||
|   # $1 : relative filename | ||||
|   echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")" | ||||
| } | ||||
|  | ||||
| parse_params() { | ||||
|   # default values of variables set from params | ||||
|   #flag=0 | ||||
|   output='' | ||||
|  | ||||
|   while :; do | ||||
|     case "${1-}" in | ||||
|     -h | --help) usage ;; | ||||
|     -v | --verbose) set -x ;; | ||||
|     --no-color) NO_COLOR=1 ;; | ||||
|     #-f | --flag) flag=1 ;; # example flag | ||||
|     -i | --image) | ||||
|       image="${2-}" | ||||
|       shift | ||||
|       ;; | ||||
|     -p | --prompt) | ||||
|       prompt="${2-}" | ||||
|       shift | ||||
|       ;; | ||||
|     -?*) die "Unknown option: $1" ;; | ||||
|     *) break ;; | ||||
|     esac | ||||
|     shift | ||||
|   done | ||||
|  | ||||
|   args=("$@") | ||||
|  | ||||
|   [[ -z "${prompt-}" ]] && prompt="${args[*]-}" | ||||
|   # check required params and argument | ||||
|   [[ -z "${prompt-}" ]] && die "Missing required parameter: prompt" | ||||
|  | ||||
|   return 0 | ||||
| } | ||||
|  | ||||
| parse_params "$@" | ||||
| setup_colors | ||||
|  | ||||
| # script logic here | ||||
|  | ||||
| msg "${RED}Read parameters:${NOFORMAT}" | ||||
| msg "- image: ${image-}" | ||||
| msg "- prompt: ${prompt}" | ||||
| msg "- arguments: ${args[*]-}" | ||||
|  | ||||
| if [[ -z "${image-}" ]]; then | ||||
|   echo '{   "model": "gemma3:12b",   "prompt": "'"${prompt}"'" }' >"$payload" | ||||
| else | ||||
|   abspath=$(get_abs_filename "${image}") | ||||
|   imgbase64=$(base64 -w 0 "${abspath}") | ||||
|   echo '{   "model": "gemma3:12b",   "prompt": "'"${prompt}"'",   "images": ["'"${imgbase64}"'"] }' >"$payload" | ||||
| fi | ||||
|  | ||||
| while IFS= read -r line; do | ||||
|   echo "$line" | jq -j '.response' | ||||
| done < <(curl -s -X POST http://gpu.dighist.geschichte.hu-berlin.de:11434/api/generate -d @"$payload") | ||||
| @@ -21,6 +21,7 @@ | ||||
|     "lazyvim.plugins.extras.lang.markdown", | ||||
|     "lazyvim.plugins.extras.lang.nix", | ||||
|     "lazyvim.plugins.extras.lang.python", | ||||
|     "lazyvim.plugins.extras.lang.svelte", | ||||
|     "lazyvim.plugins.extras.lang.typescript", | ||||
|     "lazyvim.plugins.extras.linting.eslint", | ||||
|     "lazyvim.plugins.extras.test.core", | ||||
|   | ||||
| @@ -6,6 +6,9 @@ return { | ||||
|     -- add any opts here | ||||
|     -- for example | ||||
|     provider = "ollama", | ||||
|     behaviour = { | ||||
|       enable_cursor_planning_mode = true, -- enable cursor planning mode! | ||||
|     }, | ||||
|     ollama = { | ||||
|       endpoint = "http://gpu.dighist.geschichte.hu-berlin.de:11434", | ||||
|       model = "cogito:14b", -- your desired model (or use gpt-4o, etc.) | ||||
| @@ -15,7 +18,23 @@ return { | ||||
|       stream = true, | ||||
|       thinking = true, | ||||
|       system_prompt = "Enable deep thinking subroutine.", | ||||
|       --reasoning_effort = "medium", -- low|medium|high, only used for reasoning models | ||||
|       -- reasoning_effort = "high", -- low|medium|high, only used for reasoning models | ||||
|     }, | ||||
|     rag_service = { | ||||
|       enabled = true, -- Enables the RAG service | ||||
|       host_mount = os.getenv("HOME"), -- Host mount path for the rag service | ||||
|       provider = "ollama", -- The provider to use for RAG service (e.g. openai or ollama) | ||||
|       llm_model = "qwen3:32b", -- The LLM model to use for RAG service | ||||
|       embed_model = "nomic-embed-text", -- The embedding model to use for RAG service | ||||
|       endpoint = "http://gpu.dighist.geschichte.hu-berlin.de:11434", -- The API endpoint for RAG service | ||||
|     }, | ||||
|     vendors = { | ||||
|       deepthink = { | ||||
|         __inherited_from = "ollama", | ||||
|         model = "qwen3:32b", | ||||
|         max_completion_tokens = 40000, | ||||
|         reasoning_effort = "high", | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
|   -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` | ||||
|   | ||||
| @@ -28,7 +28,7 @@ return { | ||||
|         -- the maximum total characters of the context before and after the cursor | ||||
|         -- 16000 characters typically equate to approximately 4,000 tokens for | ||||
|         -- LLMs. | ||||
|         context_window = 4000, | ||||
|         context_window = 32000, | ||||
|         -- when the total characters exceed the context window, the ratio of | ||||
|         -- context before cursor and after cursor, the larger the ratio the more | ||||
|         -- context before cursor will be used. This option should be between 0 and | ||||
|   | ||||
							
								
								
									
										19
									
								
								nvim-config/lua/plugins/test.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								nvim-config/lua/plugins/test.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| return { | ||||
|   { "nvim-neotest/neotest-plenary", "nvim-neotest/neotest-jest" }, | ||||
|   { | ||||
|     "nvim-neotest/neotest", | ||||
|     opts = { | ||||
|       adapters = { | ||||
|         "neotest-plenary", | ||||
|         ["neotest-jest"] = { | ||||
|           jestCommand = "npm test --", | ||||
|           jestConfigFile = "custom.jest.config.ts", | ||||
|           env = { CI = true }, | ||||
|           cwd = function(_) | ||||
|             return vim.fn.getcwd() | ||||
|           end, | ||||
|         }, | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
		Reference in New Issue
	
	Block a user