From 9ab97a7867e07b0c1686378aaf093f8b87fc7378 Mon Sep 17 00:00:00 2001 From: Nicole Dresselhaus Date: Wed, 4 Jun 2025 10:13:16 +0200 Subject: [PATCH] updates --- .config/lf/previewer | 21 +++-- ask_llm.bash | 113 ++++++++++++++++++++++++++ nvim-config/lazyvim.json | 1 + nvim-config/lua/plugins/avante.lua | 21 ++++- nvim-config/lua/plugins/minuet-ai.lua | 2 +- nvim-config/lua/plugins/test.lua | 19 +++++ 6 files changed, 166 insertions(+), 11 deletions(-) create mode 100755 ask_llm.bash create mode 100644 nvim-config/lua/plugins/test.lua diff --git a/.config/lf/previewer b/.config/lf/previewer index f57e9d2..9b618a4 100755 --- a/.config/lf/previewer +++ b/.config/lf/previewer @@ -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" diff --git a/ask_llm.bash b/ask_llm.bash new file mode 100755 index 0000000..b56e1c3 --- /dev/null +++ b/ask_llm.bash @@ -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 <&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") diff --git a/nvim-config/lazyvim.json b/nvim-config/lazyvim.json index b8bac6f..40a4418 100644 --- a/nvim-config/lazyvim.json +++ b/nvim-config/lazyvim.json @@ -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", diff --git a/nvim-config/lua/plugins/avante.lua b/nvim-config/lua/plugins/avante.lua index dc403c7..46419e8 100644 --- a/nvim-config/lua/plugins/avante.lua +++ b/nvim-config/lua/plugins/avante.lua @@ -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` diff --git a/nvim-config/lua/plugins/minuet-ai.lua b/nvim-config/lua/plugins/minuet-ai.lua index 9ee24b1..8923b67 100644 --- a/nvim-config/lua/plugins/minuet-ai.lua +++ b/nvim-config/lua/plugins/minuet-ai.lua @@ -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 diff --git a/nvim-config/lua/plugins/test.lua b/nvim-config/lua/plugins/test.lua new file mode 100644 index 0000000..bfd5ee4 --- /dev/null +++ b/nvim-config/lua/plugins/test.lua @@ -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, + }, + }, + }, + }, +}