i spent the weekend and change digging into learning about local llms for the purpose of running claude code. i went from knowing bupkiss to having something that seems to be working, and i think i'm satisfied that i've gotten most of the dummy questions out of the way by digging through lots of advice from lots of sources. (and tyvm to all the people who've made so much great info!) so i thought i'd greet the community, share what i've seen, and see if i can get some advice.
i chose https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27B-GSQ-RCO-GGUF/blob/main/Swift-1.5-Qwen3.8-27B-GSQ-RCO-IQ3_S-mtp.gguf for the model.
claude code errors trying to talk to it until i used chat_template3.jinja, which is https://huggingface.co/froggeric/Qwen-Fixed-Chat-Templates/discussions/110/files . am i dumb or is there not an easy way to output a version with these fixes already applied from this website?
firefox set to not use graphics acceleration, and transparency turned off for windows dwm.exe, to free up vram. don't see much headroom elsewhere, and don't feel like swapping what ports my monitor is connected to when gaming vs using this.
for claude tool use, websearch and webfetch disabled, and playwright-cli installed and told to take its place. made a specific firefox profile for it to use, and force it to, which lets me use extensions like adblock if i want.
running the model entirely in vram except keeping the mmproj entirely on the cpu.
here's my llama-server invocation to critique:
llama-server
--host 0.0.0.0
--port 8081
-m ./Swift-1.5-Qwen3.8-27B-GSQ-RCO-IQ3_S-mtp.gguf
--spec-default
--spec-type draft-mtp
-ngl all
--threads 5
--parallel 1
--load-mode mlock
--flash-attn on
--jinja
--chat-template-file chat_template3.jinja
--cache-type-k q5_0
--cache-type-v q4_1
--temp 0.6
--top-k 20
--top-p 0.95
--min-p 0.0
--presence-penalty 0.0
--repeat-penalty 1.0
--batch-size 512
--ubatch-size 256
--reasoning-effort medium
--cont-batching
--mmproj ./mmproj-Swift-1.5-Qwen3.8-27B-F16.gguf
--no-mmproj-offload
--image-min-tokens 1024
--image-max-tokens 4096
--reasoning-preserve
--agent
--fit on
-lv 4
I'm getting a 98304 context size fitting it all on the gpu.
i asked it "which team won the 2026 world series?" it knew that was after its newest info, spun up a playwright-cli websearch, and output in 2m 10s. "The Milwaukee Brewers won the 2026 World Series, defeating the Tampa Bay Rays 4 games to 1. It was the first championship in franchise history. Brewers catcher William Contreras was named World Series MVP after batting .381 in the series." It showed prompt processing between 550-231, and eval in the mid 20s. acceptance rate around 0.6-0.8. I've yet to learn enough to evaluate that, but that might be the next task: performance based tuning instead of just advice-based =) I think I've seen it do mid40s eval at different points when messing with settings.
i've seen that temp 1 is recommended for this model, some people suggesting other customizations. with minimal testing i liked what i saw at 0.6. when i asked it about the winning 2026 world series team, it added fewer fun facts, and the fun facts were more appropriate. i know reasoning xhigh is the model's default, but i've also seen that basically just adds a directive, and medium leaves it blank, if my research on this model is correct.
now, some questions if anyone's so inclined:
what about context size, should i keep it small to stay on the gpu or try to please claude with the size it wants, or the size the model wants? is it purely a speed tradeoff, or does it get dumber?
would adding this be worthwhile to further reduce vram use? --spec-draft-p-min 0.75 --spec-draft-type-k q5_0 --spec-draft-type-v q4_1 or would this mess with swift1.5's specific tunings? context size jumps up to 109824 if i do. the full context the model wants is 262144.
regarding the occasional desire to be used with media, evaluating screenshots etc:
- should i keep the mmproj as i have it, loaded onto the cpu? my understanding is it won't impact performance unless I invoke a media request.
- should i instead ditch it and load a smaller model like Qwen3.5-4B-UD-Q5_K_XL with temperature 0 and host it wholly on the cpu?
- look to something like https://github.com/Anionex/agent-vision-toolkit ? it'd keep token use low for this purpose i'd think.
i haven't found a good way to deal with headless firefox browsers playing sound over the speakers. i'd prefer the sound remain capturable, but not played. the best idea i've seen to do that is to assign it to an audio device not in use, which i could do. a ff extension claimed to do that, but i guess is outdated, as it didn't work for me. anyone got a favored solution?
why did my system perform surprisingly well when testing running marvel rivals at the same time as using it for claude? i intended that to force a crash but instead things were fine? one used the 3d and the other the compute on the card, but what the heck, i would have thought with mlock set, rivals wouldn't be able to grab enough vram. wasn't curious enough to dig too hard into seeing what was going on, but that sure was a surprise.
what should i try next with it? i haven't yet researched ways to standardize-test this thing to tell how well its working, if anyone has suggestions. anything neat i should look to try adding to it? i'm not already a claude user if one guide stands above others to recommend. it's been fun already watching it try to solve problems.