This commit is contained in:
Nicole Dresselhaus 2025-06-04 10:13:16 +02:00
parent 8e7058f4b2
commit 9ab97a7867
6 changed files with 166 additions and 11 deletions

View File

@ -10,15 +10,18 @@ h="$3"
x="$4" x="$4"
y="$5" y="$5"
case "$(file -Lb --mime-type "$file")" in case "$(file -Lb --mime-type "$file")" in
image/*) image/*)
draw "$file" draw "$file"
;; ;;
video/*) video/*)
# vidthumb is from here: # vidthumb is from here:
# https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb # https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb
draw "$(vidthumb "$file")" draw "$(vidthumb "$file")"
;; ;;
text/*)
mdcat --columns "$(($4 * 7 / 9))" "$1"
;;
esac esac
pistol "$file" pistol "$file"

113
ask_llm.bash Executable file
View 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")

View File

@ -21,6 +21,7 @@
"lazyvim.plugins.extras.lang.markdown", "lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.nix", "lazyvim.plugins.extras.lang.nix",
"lazyvim.plugins.extras.lang.python", "lazyvim.plugins.extras.lang.python",
"lazyvim.plugins.extras.lang.svelte",
"lazyvim.plugins.extras.lang.typescript", "lazyvim.plugins.extras.lang.typescript",
"lazyvim.plugins.extras.linting.eslint", "lazyvim.plugins.extras.linting.eslint",
"lazyvim.plugins.extras.test.core", "lazyvim.plugins.extras.test.core",

View File

@ -6,6 +6,9 @@ return {
-- add any opts here -- add any opts here
-- for example -- for example
provider = "ollama", provider = "ollama",
behaviour = {
enable_cursor_planning_mode = true, -- enable cursor planning mode!
},
ollama = { ollama = {
endpoint = "http://gpu.dighist.geschichte.hu-berlin.de:11434", endpoint = "http://gpu.dighist.geschichte.hu-berlin.de:11434",
model = "cogito:14b", -- your desired model (or use gpt-4o, etc.) model = "cogito:14b", -- your desired model (or use gpt-4o, etc.)
@ -15,7 +18,23 @@ return {
stream = true, stream = true,
thinking = true, thinking = true,
system_prompt = "Enable deep thinking subroutine.", 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` -- if you want to build from source then do `make BUILD_FROM_SOURCE=true`

View File

@ -28,7 +28,7 @@ return {
-- the maximum total characters of the context before and after the cursor -- the maximum total characters of the context before and after the cursor
-- 16000 characters typically equate to approximately 4,000 tokens for -- 16000 characters typically equate to approximately 4,000 tokens for
-- LLMs. -- LLMs.
context_window = 4000, context_window = 32000,
-- when the total characters exceed the context window, the ratio of -- 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 and after cursor, the larger the ratio the more
-- context before cursor will be used. This option should be between 0 and -- context before cursor will be used. This option should be between 0 and

View 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,
},
},
},
},
}