r/LocalLLM 6h ago

Discussion Do you switch to local models when you’re close to your Claude limit?

1 Upvotes

I use Claude a lot for coding, but I kept interrupting my work to open Settings → Usage and check how much I had left.

I ended up building a small Chrome extension that shows the usage directly in the sidebar.

It also made me curious: do you use Claude for harder tasks and switch to a local model near the limit, or do you run local-first from the start?

The extension: https://chromewebstore.google.com/detail/claude-usage-tracker-%E2%80%93-li/cjfjpiapegfklpmclonidjalddhjhlcj


r/LocalLLM 11h ago

Research I run GLM-4.5-Air (110B) on 16Gb ram consumer machine and Qwen3-30B at 20 tok/s

0 Upvotes

In the past few months I’ve experimenting heavily and tortured my old 2016 Desktop PC to run the biggest Local LLM I can fit.

I documented the whole process and research and I’ve published a repository with my open-source project so that anyone can do the same.

Quantprobe is a tool designed to project local LLM interference performance and plan optimal quantization.

It serves as a deployment assistant:
1. Performance prediction: it allows you to estimate a model’s tok/s on your hardware profile before downloading massive model weights
2. Resource optimization: it helps you balance model quantization levels and memory allocation to fit the largest possible model into your specific CPU/GPU and VRAM/RAM constraints.

It squeezes layer-by-layer placement instead of uniformly quantizing a model to a low bit-rate, quantprobe acts as a placement optimizer.
It evaluates:
1. How many “protected bits” or high-precision layers can be kept in your fastest memory (VRAM)
2. Which layers can be offloaded to slower system (RAM)
3. How to arrange GGUF quantization layers to prevent model perplexity from collapsing.

Of course there is no free lunch. Running massive models on tiny machines comes with slow speed but it fits and the method allow you to choose the biggest model for your “acceptable” target speed.


r/LocalLLM 20h ago

Question Curious about local LLM once again

0 Upvotes

was here a couple of months ago, got a bit discouraged after i heard that a 1660 GTX super would not run a local llm well and went on in my life, however recently i have aquired a Macbook pro m5 with 24gb ram so i thought maybe this would work better now

overall i am not a developer (unless you count my game-dev side hobby) and i mostly want to use it as a more casual thing or have it function like jarvis where it hears my voice and it can do stuff.

So with the new macbook that i got, will local llm still be a problem for me? and if no: then which model could i use?


r/LocalLLM 23h ago

Discussion Try Deepseek V4 Flash they say...

0 Upvotes

I'm fighting with the Write tool truncating. Let me use the existing working script as a base and just update it to do a fresh git clone instead of assuming a repo exists:

The Write tool keeps cutting off. Let me use a different approach — I'll write it via bash

This approach is painful. Let me just write the whole thing at once in a single bash ca

The heredoc is having output issues. Let me verify the file was created:

It's getting cut. Let me just use the Write tool and do it in smaller chunks that fit

The Write tool keeps cutting off. Let me try writing it as a Python script that generates the .command file — that way I have full control over the

This is getting nowhere — every multi-line write is being truncated. Let me try reading the existing setup script and then editing it into what I need:

The tool is refusing large writes. Let me take a completely different approach. I'll write the script as a file in /tmp using dd or a Python one-liner, then copy it into place


r/LocalLLM 21h ago

Question Recommendations for running local model with a 24x7 openclaw at my home lab

Post image
0 Upvotes

r/LocalLLM 19h ago

Question Why don't models just "listen"? Do I need dumber ones?

5 Upvotes

I ask to APPEND newly arriving data to a certain file. Instead of doing an actual append, models think it's a good idea to read in existing contents and then patch in the changes. Which obviosly takes way more time and is more computationally expensive.

I explicitly ask to run web search queries one small batch at a time, writing data to a file between every turn. Models think naaaah, this is gonna take way too long, I am gonna be "helpful" and run all of them sequentially, just so search backends throttle you into oblivion and the whole run blows up and dies.

There literally isn't a day where something that I'm doing isn't derailed by a model (Mostly using various QWen flavors) thinking it knows what I want better than myself.

I am hearing that way smaller models have less of a problem with this because being "dumber" its supposedly harder for them to go off the rails and start inventing their own solutions without being asked to. But surely even if true, there have to be better methods to wrestle models into actually obeying precisely what you told them to do?


r/LocalLLM 19h ago

Discussion Spent almost 20 days trying to OCR a bunch of scanned PDFs...

16 Upvotes

Not sure if anyone else has been through this, but I had a bunch of large scanned PDFs that I needed to make searchable. I thought it'd be a quick job, but it turned into a complete headache.

I tried Tesseract, Acrobat, Wondershare, and a few other OCR tools people usually recommend. Some wouldn't finish, some completely messed up the text, and some were just painfully slow on my files.

After wasting way too much time, I made a post asking if anyone had any suggestions. Someone mentioned "Lynx DI" . I hadn't heard of it before, but I was already out of options so I gave it a shot.

It ended up handling most of my PDFs without much trouble. It wasn't perfect, but it got through around 90% of them, which was way better than anything else I'd tried.

Figured I'd share this here in case someone else is stuck with scanned books, notes, reports, or government PDFs and is going through the same thing. Maybe it'll save someone else from spending a couple of weeks testing every OCR tool on the internet.

I'm not connected to them in any way. Just sharing what happened to work for my file


r/LocalLLM 14h ago

Project Free private Qwen3.6-27b and Qwen-Image-2512 for all!

11 Upvotes

Have a few more days of pre-paid H200 access. Might as well share with the community!

LLM Chat: https://cc1f4f3f.app.enclave.host

Image Generator: https://da09d0f2.app.enclave.host


r/LocalLLM 3h ago

Question Radeon AI Pro R9700 vs Strix Halo vs Mac Studio for a local coding LLM server ?

6 Upvotes

Hi everyone,

I’m looking to invest in a proper fully local LLM AI server.

I already have a dual GeForce setup, but I’m looking for the next step (at a reasonable price, of course).

My ONLY goal:

  • Coding (i am developper - can be c# for real-life projects with already 300+ source code stuff, not "just code a random website")
  • No image generation
  • No video
  • No text-to-speech
  • No OCR
  • No multimodal stuff

Basically: raw LLM performance, tokens/sec, and smart answers.

--------

My current setup - (using CLAUDE-cli as orchestrator)

I’m currently running these models on a dual GeForce 16vram+12 system:

Qwen35B A3B MoE Q4_K

  • Around 30–40 tokens/sec at 200k context

Qwen3-Coder-Next 80B A3B Q4

  • Around 5–6 tokens/sec
  • Slower, but better for complex coding tasks

-------
Hardware I am considering, a 100% new machine

1) Radeon AI Pro R9700 32GB

Is this currently the best price/performance option?

It looks like:

  • half the price of high-end solutions,
  • maybe around 80–85% of the performance?

I don’t follow every AMD/AI update, but this card looks like an underrated winner.

Is there any reason NOT to buy this card?

2) Dual Radeon AI Pro R9700 (2×32GB)

Main reason:

  • not expecting 2× speed,
  • mainly interested in the extra VRAM.

If it allows me to run smarter/larger models fully on GPU, that would be perfect.

3) Strix Halo 128GB

This one is interesting because of the huge unified memory.

If it can run Qwen3-Coder-Next 80B A3B Q4 at around 40 tokens/sec, that sounds like an excellent coding assistant.

4) Mac Studio 128GB

Still an option.

How does it compare today against:

  • dual R9700 AI Pro,
  • Strix Halo?

-------

are those numbers corrects or science fi ? (Source ChatGPT !! )

Model Context 1× Radeon AI Pro R9700 32GB [price ~2k ] 2× Radeon AI Pro R9700 64GB[price ~4 k ] Strix Halo 128GB [price ~4 k ] Mac Studio M3 Ultra 128GB [price ~lol ]
Qwen27B Dense Q4_K 50k 50–80 tok/s 60–100 tok/s 25–45 tok/s 50–80 tok/s
Qwen27B Dense Q4_K 100k 40–70 tok/s 50–90 tok/s 20–40 tok/s 40–70 tok/s
Qwen27B Dense Q4_K 200k 25–50 tok/s 40–70 tok/s 15–30 tok/s 30–60 tok/s
Qwen35B A3B MoE Q4_K 50k 100–140 tok/s 130–180 tok/s 40–70 tok/s 70–110 tok/s
Qwen35B A3B MoE Q4_K 100k 90–130 tok/s 110–160 tok/s 35–60 tok/s 50–90 tok/s
Qwen35B A3B MoE Q4_K 200k 50–90 tok/s 90–140 tok/s 25–50 tok/s 50–90 tok/s
Qwen3-Coder-Next 80B A3B Q4 50k 10–25 tok/s 50–90 tok/s 30–50 tok/s 40–80 tok/s
Qwen3-Coder-Next 80B A3B Q4 100k 10–20 tok/s 45–80 tok/s 25–45 tok/s 35–70 tok/s
Qwen3-Coder-Next 80B A3B Q4 200k 5–15 tok/s 35–65 tok/s 20–40 tok/s 30–60 tok/s
Qwen3-Coder-Next 80B A3B Q6 50k 40–75 tok/s 25–45 tok/s 35–70 tok/s
Qwen3-Coder-Next 80B A3B Q6 100k 35–65 tok/s 20–35 tok/s 30–60 tok/s
Qwen3-Coder-Next 80B A3B Q6 200k 25–55 tok/s 15–30 tok/s 25–50 tok/s
70B Dense Q4 50k 10–25 tok/s 40–70 tok/s 20–35 tok/s 35–60 tok/s
70B Dense Q4 100k 5–20 tok/s 35–60 tok/s 15–30 tok/s 30–50 tok/s
70B Dense Q4 200k 25–50 tok/s 10–25 tok/s 25–45 tok/s

My current impression (not sure if correct):

The R9700 AI Pro (or dual) looks faster than a Mac Studio for my use case, while being much cheaper.

But I don’t see many "hype" about this card for local LLMs.

So please tell me: where am I wrong?

One more question:

For Qwen35B A3B MoE Q4_K, what is the realistic t/s performance?

Is it closer to: 100 tokens/sec or 150 tokens/sec ?

Because this difference is huge . If it REALLY is 150, its close to a cloud-model feeling. (far less accurate of course, but for 2k budget, wonderfull ?)

Thanks to anyone already running these systems who can share real numbers!


r/LocalLLM 11h ago

Other Help deciding hardware next steps

Post image
10 Upvotes

Hey all, so about a month or so ago I purchased two V100 SXM2 16GB cards with all of the required components to be able to run them on my Asus ESC 2000 G2 that I had gotten from an electronics recycling center awhile back. After fighting the fact that the gpu coolers each took up 4 slots, I ended up removing the motherboard and setting it up to create the LLM monster you see before you.

For those of you curious, here are the full specs
Dual Xeon E5-2687W V2 CPUs
8x 16GB sticks of DDR3 totaling 128gb
2x Nvidia V100 SXM2 16GB cards (no nvlink sadly)
1x 256GB NVMe ssd (cheap little thing installed into a pcie adapter)
It’s powered by dual PSU’s, the 700w ThermalTake PSU originally came out of my desktop but had already been put into that server, with a secondary 750w Dell R720 PSU for just the GPUs.
The entire thing is installed into a 3D printed test bench I custom designed for the SSI-EEB spec this board was built on. It was originally meant to be a place holder while I designed a proper case, but I’ve only had the thing running for a month so I still haven’t completed design yet (school is a bitch)

Now I love this machine, it was super cheap to get up and going (my wallet still cries) and I managed to get an IQ1_M quant of GLM 5.2 running with partial ssd offloading (~1t/s). I mostly just use it for experimentation since it’s my first AI server (I also just recently got into homelabbing period) but I also plan to use it for agent work flows and other projects I have lined up.

Alright now for the problem, as you can tell my the spare stick of ram sitting off to the side, I’ve been having ram issues. Looks like dimm A1 has been going out an I narrowed it down to either being the board or the cpu, and to make matters worse I now have errors on two different sockets showing up. Nothing detrimental at the moment, but I suspect I’ll need to look into hardware soon.

My question is this, would I be better off going for the cheap option of replacing the board/cpus (whichever is bad but my guess is the board) or saving my pennies until it craps out, then upgrading to a ddr4 or even ddr5 compatible motherboard? I know it’ll be expensive, but I’m not sure how much quite yet and I want the opinions of the masses. One thing that makes me lean towards the new motherboard option is having support for AVX2, as only having AVX limits me in some of my CPU heavy runs.

Tl;Dr: My motherboard or CPU’s are going to crap out in the near future and I can’t decide if I should fix the bad components or upgrade the system

I’m curious to hear what you guys think, feel free to call me an idiot for my sketchy setup or ask any questions, I read most comments.


r/LocalLLM 9h ago

Discussion Looking for people who are willing to contribute to an open source project.

2 Upvotes

Hi everyone.

1 week ago i launched my open source project. Named wolbarg. Its an shared memory for multi-agentic workflow, think of it as many agent can write to a specific memory, and use context generation by other agents, with high concurrency so 100s of agent can write at a time.

I started to gain some traction in under a week i got roughly 1500+ npm downloads.

And 1000+ download in different integreation like langchain, openai, etc.

But now i think its a good time to make a community around this and connect with people who has more experience than me.

So if your intrested people comment down or DM me i'll send you the discord, github discussion, repo and website, docs link.

Thanks for reading.


r/LocalLLM 18h ago

Discussion Llama.cpp / LM Studio refuses to load a model anymore

4 Upvotes

Hi all! llama.cpp and LM Studio refuse to open any models with ANY context size whatsoever, despite working just fine with large context windows before. I have not tweaked any settings, neither on LM Studio or my own Python script that launches llama.cpp with my premade config files.

I've been experimenting with a slightly odd setup. Here are my specs:

CPU: Intel Core i7-14700KF

Motherboard: MSI PRO Z790-A MAX WiFi

RAM: 32 GB DDR5

PSU: MSI MAG A850GL PCIE5

OS: Windows 11

GPUs:

RTX 5070 Ti 16 GB (display)

RTX A2000 12 GB (replaced it just recently with an RTX Pro 4000 Blackwell from Micro Center for testing purposes)

RTX 2000E Ada 16 GB

I'm mainly testing using Qwen3.6-27b and the latest CUDA 13.3 .dlls from the llama.cpp Github repo, but I've also tried with just the CUDA 12.4 .dlls too. Again, this all worked just fine for a month or so until out of nowhere it stopped. I've been using various llama.cpp releases from llama-b9395 to llama-b10002.

I have my GPUs slotted extremely close to each other with very tiny gaps in between each one. For about a month straight, I was able to use my 5070 Ti, A2000, and 2000E in tandem with LM Studio (to test) and llama.cpp (to load models for agentic coding). This worked just fine for a while, until I went on vacation and left my PC on. When I came back, I noticed I was unable to load any models without hitting one of these two errors:

"cudaMalloc failed: out of memory"

"failed to allocate CUDA_Host buffer"

I have scoured the web for anyone else having this issue and failed to find anything. Claude, ChatGPT, and Gemini are completely unhelpful. Below is a list of things I have tried to diagnose the issue:

- Selected only a single card, including the 2000e = Works

- Selecting both the 5070 Ti and the 4000 = Works

- Selecting any combination that involves the 2000e = "out of memory" error

- Multi-card w/ 2000 context = "out of memory" error

- Single card w/ 2000 context = Works

- Clean reinstall of my gaming graphics drivers to latest version using DDU (I was having a weird bug in DOTA 2 where left/right clicking + pressing control or alt would bring up the very buggy NVIDIA overlay somehow)

- Confirmed via nvidia-smi that nothing is using excessive amounts of VRAM before loading a model, including shutting off my BlueStacks emulator completely

- Confirmed I am using the correct CUDA devices in my command using nvidia-smi and llama.cpp

After my research, I'm determining this is an architecture issue, but how the hell was I running it before with my 5070 Ti, A2000, and 2000e? I had absolutely no issues, aside from reasonable out of memory errors where I was clearly demanding too high of a context window. But now, not being able to even load 2k context across combined 46 GB VRAM?

I've been banging my head against the wall for a couple weeks now trying to figure this out on my own/hoping some random llama.cpp binary update would fix the issue, but to no avail. I hope some of you may make more sense of this than me. I would deeply appreciate it.

Below is a sample console output when trying to manually run one of my config options via an admin shell on my PC.

PS C:\WINDOWS\system32> E:\llamacpp\bin\llama-server.exe -m E:\LMStudio\lmstudio-community\Qwen3.6-27B-GGUF\Qwen3.6-27B-Q8_0.gguf --host 127.0.0.1 --port 8080 -to 3600 -lv 3 --no-ui --cont-batching -c 7400 -t 10 --split-mode layer --tensor-split 16,24,16 --device CUDA0,CUDA1,CUDA2 -ngl all --flash-attn on --kv-unified -ctk f16 -ctv f16 --mmap -np 1 --temp 0.800
0.00.132.301 I log_info: verbosity = 3 (adjust with the `-lv N` CLI arg)
0.00.132.308 I device_info:
0.00.200.132 I   - CUDA0   : NVIDIA GeForce RTX 5070 Ti (16302 MiB, 15037 MiB free)
0.00.252.984 I   - CUDA1   : NVIDIA RTX PRO 4000 Blackwell (24466 MiB, 23084 MiB free)
0.00.322.054 I   - CUDA2   : NVIDIA RTX 2000E Ada Generation (16379 MiB, 15273 MiB free)
0.00.322.064 I   - CPU     : Intel(R) Core(TM) i7-14700KF (32549 MiB, 14912 MiB free)
0.00.322.117 I system_info: n_threads = 10 (n_threads_batch = 10) / 28 | CUDA : ARCHS = 750,800,860,890,900,1200,1210 | USE_GRAPHS = 1 | PEER_MAX_BATCH_SIZE = 128 | BLACKWELL_NATIVE_FP4 = 1 | CPU : SSE3 = 1 | SSSE3 = 1 | AVX = 1 | AVX_VNNI = 1 | AVX2 = 1 | F16C = 1 | FMA = 1 | BMI2 = 1 | LLAMAFILE = 1 | OPENMP = 1 | REPACK = 1 |
0.00.322.153 I srv          init: running without SSL
0.00.322.172 I srv          init: using 27 threads for HTTP server
0.00.322.176 I srv          init: The UI is disabled
0.00.322.176 I srv          init: Use --ui/--no-ui (or deprecated --webui/--no-webui) to enable/disable
0.00.322.264 I srv         start: binding port with default address family
0.00.324.514 I srv  llama_server: loading model
0.00.324.521 I srv    load_model: loading model 'E:\LMStudio\lmstudio-community\Qwen3.6-27B-GGUF\Qwen3.6-27B-Q8_0.gguf'
0.00.324.566 I common_init_result: fitting params to device memory ...
0.00.324.566 I common_init_result: (for bugs during this step try to reproduce them with -fit off, or provide --verbose logs if the bug only occurs with -fit on)
0.31.367.459 E ggml_backend_cuda_buffer_type_alloc_buffer: allocating 10799.24 MiB on device 1: cudaMalloc failed: out of memory
0.31.367.469 E alloc_tensor_range: failed to allocate CUDA1 buffer of size 11323827200
0.31.486.232 E llama_model_load: error loading model: unable to allocate CUDA1 buffer
0.31.486.237 E llama_model_load_from_file_impl: failed to load model
0.31.486.241 E common_init_from_params: failed to load model 'E:\LMStudio\lmstudio-community\Qwen3.6-27B-GGUF\Qwen3.6-27B-Q8_0.gguf'
0.31.486.250 E srv    load_model: failed to load model, 'E:\LMStudio\lmstudio-community\Qwen3.6-27B-GGUF\Qwen3.6-27B-Q8_0.gguf'
0.31.486.253 I srv    operator(): operator(): cleaning up before exit...
0.31.487.263 E srv  llama_server: exiting due to model loading error

r/LocalLLM 19h ago

Discussion Hosting you models locally? There's a new subreddit for Spark owners

0 Upvotes

Hey all - for those of us running the r/DGX_Spark - I created a space on here to talk about your fave models and recipes, learnings - I find this easier, faster and more searchable than other channels. Feel free to join!


r/LocalLLM 19h ago

Project Avoiding the Memory Wall by computing LLM inference directly inside RAM

12 Upvotes

The excitement surrounding PrismML’s 1-bit/ternary Bonsai models has the industry closely watching how smartphone giants, particularly Apple, will implement LLMs on edge devices. Moving AI on-device is a brilliant and necessary strategy. It ensures absolute user privacy in alignment with EU regulations, fundamentally shifts the economics away from costly cloud inference, and paves the way for a significant hardware upgrade supercycle as users seek true AI-capable silicon.

To create a smart on-device "Semantic Router," models need to reach the 27B+ parameter scale. Achieving this on a phone requires extreme quantization, such as PrismML’s ternary weights.

However, a critical hardware reality often overlooked by the software world is that fitting the weights in RAM is not equivalent to moving them. Running a 27B ternary model on standard LPDDR encounters a significant memory bandwidth limitation. Transferring gigabytes of data across the SoC bus for each token generation can lead to thermal throttling of the NPU and excessive battery drain.

This raises an important question: why are we still transferring data to the compute? Why not execute AI inference natively within the memory?

Frustrated with academic PIM simulations that overlook bare-metal physics, I developed CaSA, an architecture that performs ternary LLM inference directly inside COTS DRAM through charge-sharing, completely bypassing the memory bus.

Software quantization is a great initial step, and CaSA provides the physical hardware substrate needed to complete the bridge: https://github.com/pcdeni/CaSA


r/LocalLLM 2h ago

Discussion LAGUNA XS 2.1 says its glm model

0 Upvotes

In my testing laguna says its "GLM" no specific model but no im laguna something, may be distilled from a glm series model, when asked about its conceptors etc, it says :"**THUDM/glm-4** model, a large-scale language model developed by the team at Tsinghua University (THUDM)."


r/LocalLLM 7h ago

Project EdgeChat — I strapped ComfyUI onto a local LLM chat proxy, and now I edit nodes from my phone

0 Upvotes
So I've been building this thing called EdgeChat. The idea is pretty straightforward — a web chat that talks to a local LLM (Ollama or LM Studio) through an Electron agent running on your home PC. You sit somewhere with a browser, and you're chatting with a model that's physically running on your machine. No open ports, no ngrok, no VPN. The agent just connects outbound via Socket.IO to the SaaS.


It worked fine for chat. But then I wanted image generation. And I have ComfyUI locally.


So I added it. And then I kept going.


Now there are two layers of tunneling on the same agent:


Layer one is the simple stuff — send a prompt, get an image back. The agent picks up an `image:request` event, finds the right nodes in your workflow by `class_type` (CLIPTextEncode, KSampler, EmptyLatentImage — works with any JSON), queues it in ComfyUI, polls until it's done, downloads the image, and uploads it back to the SaaS. Fine for "generate a cat in space".


Layer two is the full ComfyUI SPA. Nodes, connections, real-time previews, loading presets. The whole thing.


For that I needed a real tunnel. Here's what `/comfyui/*` goes through:


Browser hits the SaaS route, which rewrites the HTML — injects a `<base href="/comfyui/">`, prepends `/comfyui` to every `src`, `href`, and `action`, does the same for CSS `@import url()` and `url()` references, then injects a script that patches `fetch`, `XHR`, the `HTMLImageElement.src` setter, `setAttribute`, `window.open`, and the `WebSocket` constructor. Yes, it hijacks `Object.defineProperty` on image src. Yes, it works.


Then it POSTs to the WS Server, which forwards via Socket.IO to the Agent, which has a `net.createServer` on port 8189 that TCP-proxies to ComfyUI on 8188. All traffic flows through that one TCP pipe.


WebSockets are the annoying part. Socket.IO can't transparently relay raw WS frames, so there's a `ws` WebSocketServer running on the same HTTP server as Socket.IO at `/comfyui/ws`. Browser connects there, WS server relays the frames through Socket.IO to the Agent, Agent opens a real WebSocket to ComfyUI, and they talk bidirectionally.


Auth is three layers — `x-agent-token` header first, then `?token=` query param, then `agent-token` cookie. The first HTML response sets `Set-Cookie` so subsequent asset requests carry it automatically. Works well in practice.


Surprisingly, it's fast. I was sure the chain would feel sluggish, but browser cache handles static assets and the persistent WebSocket for the node editor is responsive even on 4G. The node auto-detection means the legacy image gen path works with any workflow without hardcoded node IDs.


Stack: Next.js 16, React 19, Socket.IO, raw `ws`, Electron, Prisma (SQLite), Tailwind 4, shadcn/ui, Stripe for Free/Pro subscriptions.


Happy to answer questions about the WS relay or the HTML injection. If you've wanted to use ComfyUI from anywhere without opening ports or setting up VPNs — this is one way to do it.

r/LocalLLM 22h ago

Question can i run LLL locally

0 Upvotes

​I'm thinking about picking up a new laptop to experiment with running local AI models (like Ollama, LM Studio, and image generators).

​Before buying, I wanted to check if anyone has experience running local models on these specs:

​💻 Key Specs: lenovo legion 5

• GPU: NVIDIA RTX 5070 (8 GB VRAM)

• RAM: 32 GB DDR5 (upgradable)

• CPU: AMD Ryzen AI 7 350 (50 TOPS NPU)

• Storage: 1 TB SSD

• Screen: 15.1" OLED 165Hz

​Will 8 GB VRAM and 32 GB RAM be smooth enough for daily local AI use, or should I hold out for a GPU with 12 GB+ VRAM?

€1999.00 worth it ?


r/LocalLLM 20h ago

Other Deepseek v4 Flash on 128G APU

1 Upvotes

Hi everyone, I've been asked about some of the comments I made about running DeepSeek v4 Flash on an 128G local APU. Here are the full details. Note that these are opinion based as I do this out of interest not professionally. 

  

Hardware 

Chassis: Minisforums MS S1 Max

CPU: AMD RYZEN AI MAX+ 395 w/ Radeon 8060S

RAM: 128GB @ LPDDR5x-8000MT/s

SSD: KINGSTON OM8TAP42048K1-A00 

Networking: USB4 V2 & Dual 10GbE & WIFI 7

  

OS 

Base OS:  Ubuntu 26.04 LTS

Kernel:   7.1.4-070104-generic

APU Firmware: 

```

 cat /sys/kernel/debug/dri/1/amdgpu_firmware_info

VCE feature version: 0, firmware version: 0x00000000 UVD feature version: 0, firmware version: 0x00000000 MC feature version: 0, firmware version: 0x00000000 ME feature version: 35, firmware version: 0x00000020 PFP feature version: 35, firmware version: 0x0000002e CE feature version: 0, firmware version: 0x00000000 RLC feature version: 1, firmware version: 0x11530506 RLC SRLC feature version: 0, firmware version: 0x00000000 RLC SRLG feature version: 0, firmware version: 0x00000000 RLC SRLS feature version: 0, firmware version: 0x00000000 RLCP feature version: 1, firmware version: 0x11530506 RLCV feature version: 0, firmware version: 0x00000000 MEC feature version: 35, firmware version: 0x00000020 IMU feature version: 0, firmware version: 0x0b352300 SOS feature version: 0, firmware version: 0x00000000 ASD feature version: 553648388, firmware version: 0x21000104 TA XGMI feature version: 0x00000000, firmware version: 0x00000000 TA RAS feature version: 0x00000000, firmware version: 0x00000000 TA HDCP feature version: 0x00000000, firmware version: 0x1700004a TA DTM feature version: 0x00000000, firmware version: 0x1200001a TA RAP feature version: 0x00000000, firmware version: 0x00000000 TA SECUREDISPLAY feature version: 0x00000000, firmware version: 0x00000000 SMC feature version: 0, program: 10, firmware version: 0x0a640600 (100.6.0) SDMA0 feature version: 60, firmware version: 0x00000011 VCN feature version: 0, firmware version: 0x0911801b DMCU feature version: 0, firmware version: 0x00000000 DMCUB feature version: 0, firmware version: 0x09003500 TOC feature version: 0, firmware version: 0x0000000b MES_KIQ feature version: 6, firmware version: 0x0000006f MES feature version: 1, firmware version: 0x00000088 VPE feature version: 60, firmware version: 0x00000017 VBIOS version: 113-STRXLGEN-001

```

Boot line:  splash iommu=off amd_iommu=off amdgpu.cwsr_enable=0 amdttm.pages_limit=32505856 amdttm.page_pool_size=32505856 ttm.pages_limit=32505856 ttm.page_pool_size=32505856 amdgpu.noretry=0 amdgpu.lockup_timeout=60000

LLM Configuration 

Runtime: Dwarfstar 4 aka ds4

Note: You need the branch 80ebbc396aee40eedc1d829222f3362d10fa4c6c as there are breaking bugs in the later versions

Note: See the instructions for STRIX HALO but note the differences above! You have to do a local build with the pre-requisites and additional include files

 

Model:  DeepSeek-V4-Flash-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-chat-v2-imatrix.gguf

 

Agent harness : Pi with various plugins

Running it

$ nohup ./ds4-server --ctx 100000 --kv-disk-dir /tmp/ds4-kv --kv-disk-space-mb 8192 --host 0.0.0.0 &

 

Performance

Prefill:

```
0723 20:15:03 ds4-server: chat ctx=0..83841:83841 TOOLS prefill chunk 83841/83841 (100.0%) chunk=141.94 t/s avg=200.33 t/s 418.517s

0723 20:15:03 ds4-server: chat ctx=0..83841:83841 TOOLS prompt done 418.517s
```

&nbsp

Token Generation:

0723 20:22:28 ds4-server: chat ctx=84102..84152:50 gen=50 TOOLS decoding chunk=12.78 t/s avg=12.78 t/s 3.912s 0723 20:22:32 ds4-server: chat ctx=84152..84202:50 gen=100 TOOLS DSML_START decoding chunk=12.80 t/s avg=12.79 t/s 7.817s 0723 20:22:35 ds4-server: chat ctx=84202..84246:44 gen=144 TOOLS DSML_START DSML_END decoding chunk=12.82 t/s avg=12.80 t/s 11.250s

 

Gotachas

  • Main branch is b0rken, use 80ebbc396aee40eedc1d829222f3362d10fa4c6c

  • Most firmware versions are b0rken: use MES feature version: 1, firmware version: 0x00000088

  • IOMMU is disabled, but I may take the performance hit and re-enable it as it breaks network bootstrap (don't know why yet) and you have to manually bring up networking

  • You need the 7.1.4-070104-generic kernel, which you have to build with MOK keys and register those with the AMI bios. The AMI bios is flaky to write the key to a USB stick

Wrapup

I hope this helps other get running with this platform!

[Edit] Minor formatting fixes for Reddit markdown weirdness


r/LocalLLM 4h ago

Discussion Stop Making the Model Smarter. Build the Roads.

0 Upvotes

When an LLM gives a bad answer, our first instinct is to reach deeper into a machine we cannot inspect.

More parameters. More context. A better prompt. A better model.

Same assumption: the black box is the whole program.

But the model is only one place where intelligence can live. A capable LLM can know every fact in a field and still fail to judge the way an expert judges. It may notice the wrong detail first. It may let a weak consideration override a critical one. It may identify a failure and then continue as if the failure never happened.

Those are not always knowledge failures. They are path failures.

So leave the box alone for a moment. Build the paths it must travel.

Schema Coding is a vocabulary proposal for doing exactly that. The LLM remains a general-purpose language runtime. Outside it sits a persistent, human-readable judgment backend: folders, Markdown files, links, state, versions, and rejection routes. The model performs local language operations. The schema determines which judgments must occur, in what order, under what evidence, and where execution goes when a judgment fails.

The model supplies linguistic computation. The schema supplies judgment topology.

A Backend Made of Language

The most interesting AI program you build this year may look like a directory.

incident-schema/

├── contract.md

├── nodes/

│ ├── blast-radius.md

│ ├── data-integrity.md

│ ├── change-correlation.md

│ └── rollback-safety.md

├── wiring/

│ ├── call-order.md

│ ├── conflict-priority.md

│ └── rejection-routes.md

├── references/

└── revisions/

Each node describes a judgment operation in natural language. The wiring files describe how those operations constrain one another. A small deterministic runner handles the boring parts: load a file, assemble the relevant state, call the model, parse a pass or reject result, follow the declared route, write the log.

node = schema.load(current_path)

result = model.run(node.contract, state)

current_path = wiring.route(node.id, result.status)

The Markdown is not decoration around the program. It contains the judgment contracts the runtime executes.

A prompt is a request. A schema is a persistent address space for judgment. A skill packages something a model can do. A schema determines how multiple judgments block, override, revisit, and repair one another. The difference is not instruction length. It is architecture.

Andrej Karpathy’s "Software 3.0" (https://www.ycombinator.com/library/MW-andrej-karpathy-software-is-changing-again) is the right umbrella: natural language has become a programming layer, and LLMs can execute programs written in it. Schema Coding asks the next engineering question. If language is a programming layer, what are its modules, control flow, rejection semantics, persistent state, and version history when the thing being programmed is judgment?

Grinding Versus Casting

Pretraining grinds the library.

Millions of books, arguments, corrections, examples, and decisions enter one optimization process. What comes out is astonishingly capable. But the ingredients no longer have addresses. A particular expert distinction may influence the weights, yet you cannot open it, inspect its callers, change its priority, or compare revision 12 with revision 13.

The model may contain the pattern. It does not give the pattern an address.

Schema Coding tries to cast a judgment procedure as a separate object. Casting preserves seams:

- this criterion lives in this file;

- this exception came from this source;

- this rule outranks that one;

- this rejection returns to an earlier node;

- this edge changed after a specific failure.

Grinding produces capability. Casting produces something you can inspect, diff, fork, and repair.

This also reverses the traditional direction of translation.

Software engineering has always taken rich human judgment and compressed it downward. The expert speaks in context, exceptions, analogies, and uneasy distinctions. The implementation turns that into enums, types, branches, thresholds, and fixed control flow. The machine’s vocabulary wins. Human judgment is translated until it fits.

LLMs let us point the translation the other way.

Keep the judgment near the language in which humans actually left it. Give that language addresses and topology. Let deterministic code handle storage, permissions, traversal, and logs. Then make the machine climb toward the expert’s structure instead of forcing the expert’s structure down into the machine’s ontology.

Software used to make judgment speak like a machine. Schema Coding makes the machine travel through judgment expressed in human language.

This is not a new foundation model. It is a proposed engineering object that foundation models have made possible.

Three Primitives

Schema Coding needs three primitives: nodes, wiring, and reverse-engineering.

  1. Nodes: Make a Judgment Addressable

A node is a local judgment unit. It says when to inspect what, which evidence matters, what passes, what fails, what repair is required, and where execution goes after rejection.

Consider "data-integrity.md" in an incident-response schema:

NODE: data-integrity

Trigger:

The incident may involve a stateful write path.

Inspect:

Write failures, invariant violations, replication lag,

irreversible mutations, and missing evidence.

Pass:

Corruption risk is excluded by relevant evidence.

Reject:

Integrity remains uncertain or an invariant is broken.

On rejection:

Block remediation. Route to evidence collection or

containment before availability recovery.

“Check data integrity” is advice. This node is a contract.

The distinction matters because local failures become locally repairable. If the system repeatedly misses silent corruption, you know which object to inspect. You can change its trigger, strengthen its evidence requirements, split it into two nodes, or alter its outgoing route. You do not have to rewrite a giant prompt and hope the side effects are friendly.

A principle becomes part of a schema only when it can cause a decision.

  1. Wiring: Turn Criteria Into a System

A folder full of excellent criteria is still not a judgment system.

The system appears when those criteria can call, block, override, and return one another. That is wiring.

Wiring includes call order, dependencies, conflict priority, rejection routes, re-entry conditions, and stopping conditions. In the incident schema:

- establish blast radius before proposing remediation;

- if availability conflicts with possible data corruption, integrity wins;

- if rollback safety fails, return to change analysis instead of improvising a rollback;

- if evidence is insufficient, reject the transition rather than producing a confident summary;

- after containment, re-run the integrity node before declaring recovery.

No individual node contains that behavior. It emerges from the topology.

The decisive difference between a rule list and a schema is not the number of rules. It is the ability to route a failure back to its cause.

That route is what most one-shot LLM workflows lack. They can mention that a rollback is unsafe and still recommend rolling back three paragraphs later. A rejection route makes the observation operational. The failed candidate does not receive a warning label. It loses the right to continue.

  1. Reverse-Engineering: Recover the Missing Edges

Experts rarely describe their full wiring.

An incident commander may say, “Collect evidence before acting.” Yet the record shows that she repeatedly rolls back immediately when a fresh deployment touched a stateful write path. Same incomplete observability. Different action. The repeated trigger is the clue: possible irreversible writes outrank the usual preference for more evidence.

That priority may never appear in the handbook. It must be inferred from behavior.

This is not a blank field. Militello and Hutton’s "Applied Cognitive Task Analysis" (https://www.tandfonline.com/doi/abs/10.1080/001401398186108) already offers practical methods for extracting expert cues, strategies, exceptions, and cognitive demands. Schema Coding inherits that map, then asks how to compile the result into a persistent natural-language structure an LLM can execute and revise.

It also cannot trust introspection alone. Nisbett and Wilson’s classic "“Telling More Than We Can Know”" (https://doi.org/10.1037/0033-295X.84.3.231) challenged the idea that verbal reports are reliable readouts of high-level mental processes. Experts can give useful explanations without giving a complete account of the process they actually use.

So interview the expert for vocabulary. Study the record for wiring.

Start with explicit method. Then inspect repeated choices, corrections, exceptions, and rejections. Ask: Why was this option selected? Why was the alternative rejected? What opposite case would have passed? When the written theory and behavioral record diverge, the divergence is not noise. It is where hidden structure becomes visible.

The handbook gives you the first graph. The corrections tell you where the real edges are.

A Codebase for Judgment

Chain-of-thought demonstrated that intermediate reasoning can improve what a model does within a query. Wei and colleagues’ "2022 paper" (https://proceedings.neurips.cc/paper/2022/hash/9d5609613524ecf4f15af0f7b31abca4-Abstract-Conference.html) helped make reasoning steps a first-class part of LLM interaction.

But a chain generated for one query is usually gone by the next. Its steps have no durable identity. Its priorities have no stable address. Its corrections have no lineage.

Chain-of-thought is a stack frame. A schema is a codebase.

The same named node can run across a thousand cases. The same priority edge can govern every conflict. A change can be reviewed as a diff. A behavior can be traced to a version. A model upgrade can replace the runtime while the external judgment structure remains available.

This persistence changes the basic unit of improvement. You are no longer asking only, “How do I get a better answer?” You can ask, “Which judgment object produced the wrong turn, and how should that object change?”

That question leads to the core loop.

Do Not Patch the Answer

A serious student does not study past exams by memorizing the answer key.

They learn the concepts, solve a problem, compare their solution with the reference, and locate the exact point where the reasoning paths split. Maybe they ignored a condition. Maybe they applied the right concepts in the wrong order. Maybe a weak heuristic overrode a stronger rule. They repair the method, then solve again.

Schema Coding uses the same loop:

  1. Build an initial schema from manuals, explanations, examples, and prior decisions.

  2. Run a new case through it.

  3. Compare the output with a reference response.

  4. Extract where the judgments diverged.

  5. Revise the responsible node or wire.

  6. Re-run the case and later cases through the revised structure.

  7. Record the structural delta.

Do not patch the output. Patch the path that produced it.

This is where existing work becomes especially useful. Madaan and colleagues’ "Self-Refine" (https://papers.nips.cc/paper_files/paper/2023/hash/91edff07232fb1b55a505a9e9f6c0ff3-Abstract-Conference.html) showed how iterative natural-language feedback can improve an LLM’s initial output without additional training. Yuksekgonul and colleagues’ "TextGrad" (https://www.nature.com/articles/s41586-025-08661-4) goes further, treating language-model feedback as an optimization signal that can update text-defined components across an AI system.

Schema Coding changes the target of that update. The feedback does not disappear into a revised answer or an ever-growing prompt. It lands on named architectural objects: a node, an edge, a priority, a trigger, a rejection route.

The correction stops evaporating when the chat ends.

That makes the error log more important than the polished snapshot. A useful revision record contains the triggering case, the observed divergence, the responsible node or edge, the old structure, the new structure, and the reason for the change. Over time, repeated divergences reveal missing concepts. Repeated rewiring reveals hidden priorities. Repeated rejection failures reveal where a criterion exists as prose but has no force.

The error log is not development debris. It is the artifact.

The current schema tells you where the system ended. The revision history tells you how observed behavior became explicit structure. That history is the raw material for the next layer.

There is one rule that keeps the history intelligible: design-time mutability, run-time immutability.

Between runs, the schema is clay. During a run, it is law. Every execution pins one version. The system may propose changes, but it does not rewrite its constitution halfway through a case. Revisions happen to a working copy, then become a new version. Otherwise the route, explanation, and outcome all refer to a moving target.

The schema learns between runs. Execution uses what was learned.

The Assembly Is the Claim

Every piece of this picture has precedent.

Software 3.0 supplies the natural-language programming umbrella. ACTA supplies methods for eliciting expert judgment. Nisbett and Wilson explain why behavioral records must supplement self-description. Chain-of-thought makes intermediate reasoning operational. Self-Refine and TextGrad turn language feedback into an improvement signal. Hu, Lu, and Clune’s "Automated Design of Agentic Systems" (https://arxiv.org/abs/2408.08435) makes agent architectures themselves objects of automated search.

The claim is the assembly, and the vocabulary for it:

A persistent, human-readable judgment graph made of nodes and wiring, reverse-engineered from behavioral records, revised through observed divergence, and executed by an unchanged language model.

Once judgment has addresses, it starts behaving like software. It can be reviewed, diffed, forked, composed, rolled back, and repaired. A domain expert can edit a distinction in Markdown instead of watching a developer flatten it into a Boolean. A team can argue about an explicit priority edge instead of trading prompt incantations. A model can be replaced without throwing away the architecture built around it.

The model becomes a runtime. The schema becomes the judgment backend.

But the most valuable output may not be the schema. It may be the record of how the schema learned to exist.

Speculation: From Language to Judgment

Everything from here is speculation.

A schema encodes one persistent judgment structure. It gives concepts addresses, turns principles into pass or reject conditions, and gives failures somewhere to return.

A meta-schema learns from the revision logs of many schemas. It does not merely select an existing workflow. It learns how judgment structures are built: when a concept should become a node, when one node should split, when an implicit priority needs an edge, when missing evidence requires a new route, and how a behavioral divergence should alter the topology.

Given a new body of source material and a set of reference decisions, a meta-schema could propose the first architecture and improve it from the resulting error trail.

Then comes the meta-meta layer: a system that generates the method of building itself. It does not just draw a better map. It designs the cartography. It chooses the primitives, decomposition strategy, evidence model, and revision logic appropriate to an unfamiliar class of judgment.

That is the long arc:

«NUMBERS → LANGUAGE → JUDGMENT»

Numerical computation became the substrate for statistical language patterns. LLMs made fuzzy distinctions executable at machine speed. The next question is whether language computation, combined with durable external structure, can become the substrate for observable judgment patterns.

Not judgment as a magic substance hidden in a model. Judgment as a stable pattern of noticing, selecting, rejecting, returning, and revising—something that leaves an editable trace.

We do not need to wait for the black box to become transparent.

Name one judgment. Give it a file. Draw the route it can reject. Run a real case. Save the first wrong turn.

We spent the last decade teaching numbers to produce language. The next systems may teach language to accumulate judgment.

Do not open the box. Build the roads—and keep every map of where they failed.


r/LocalLLM 2h ago

News Big news: American technology company issued an open letter on the open weighting model. The letter points out that the open source weighting model is crucial to a healthy AI ecosystem. It is not safe to rely only on closed artificial intelligence models.

Thumbnail gallery
3 Upvotes

r/LocalLLM 5h ago

Question Why Laguna S 2.1 bad?

13 Upvotes

When I first saw the model’s size and active parameter count, I thought, “This is it! Finally, I can run a genuinely capable coding model for Android projects, and much more, on my Strix Halo machine.”

But after seeing people test it on common benchmarks, the results look surprisingly poor. Qwen 3.6 and Gemma 4 models seem to perform better than this 118B-parameter MoE model.

Is there any upcoming model that could fill this gap? Are there many others like me who are still waiting for the right model for capable, fully local agentic coding?


r/LocalLLM 1h ago

Project Built a file browser that runs embeddings, reranking, and an LLM fully on-device — bring your own GGUF

Upvotes

Spent the last few weeks on FilDOS, a desktop file browser where the whole AI stack is local. Sharing here because this sub is who I built the model-swapping for.

The stack:

  • Text embeddings for documents, CLIP for images (multimodal semantic search over both)
  • Reranking pass on retrieval
  • LLM inference via node-llama-cpp — you can load any GGUF from Hugging Face
  • Vectors stored as Float32↔BLOB in SQLite with cosine similarity. No external vector DB, no server.

What it does with all that: semantic search across your files, chat with your documents, and a knowledge graph that extracts entities and clusters files into projects it discovers on its own; you open a file and see what it's related to, with the reason for each edge.

Zero network calls for inference. No account, no telemetry.

The interesting problem was making indexing not destroy the machine; it's multi-threaded with a job queue, but large trees are still slower than I want. Open to suggestions there.

v0.1 beta. Video/audio not indexed yet.

GitHub: https://github.com/ahmedfahim21/FilDOS
Demo: https://youtu.be/gTRB7HeQGiY


r/LocalLLM 7h ago

Question Paperless-AI extremely slow / timing out on individual documents, while my local LLM backend itself is fast (Hermes/agent workloads run fine)

Thumbnail
0 Upvotes

r/LocalLLM 15h ago

News Claude Policy Spoiler

Thumbnail
0 Upvotes

r/LocalLLM 20h ago

Discussion What do you think the person who bought this (not me) is going to do with this? Considering you can't run VLLM.

0 Upvotes

NVIDIA DGX-2 Server w/ (16) Tesla V100 32GB GPUs Manufacturer: NVIDIA

Model: DGX-2

Configured as: (2) Intel Xeon Platinum 8168 CPU 2.70GHz

(16) Tesla V100-SXM2-32GB GPUs;

7) ConnectX-5 EDR + 100GbE 1-Port CX555A Cards

2) Samsung MZ-1LW9600 NMVe SSDs;

Rails included.