I have been thinking a lot about digital sovereignty lately and how quickly the internet is turning into a weird blend of surreal slop and centralized control. It feels like we are losing the ability to tell what is real because of how easy it is for trillionaire tech companies to flood our feeds with whatever they want.

Specifically I am curious about what I call “kirkification” which is the way these tools make it trivial to warp a person’s digital identity into a caricature. It starts with a joke or a face swap but it ends with people losing control over how they are perceived online.

If we want to protect ourselves and our local communities from being manipulated by these black box models how do we actually do it?

I want to know if anyone here has tried moving away from the cloud toward sovereign compute. Is hosting our own communication and media solutions actually a viable way to starve these massive models of our data? Can a small town actually manage its own digital utility instead of just being a data farm for big tech?

Also how do we even explain this to normal people who are not extremely online? How can we help neighbors or the elderly recognize when they are being nudged by an algorithm or seeing a digital caricature?

It seems like we should be aiming for a world of a million millionaires rather than just a room full of trillionaires but the technical hurdles like isp throttling and protocol issues make that bridge hard to build.

Has anyone here successfully implemented local first solutions that reduced their reliance on big tech ai? I am looking for ways to foster cognitive immunity and keep our data grounded in meatspace.

  • SuspciousCarrot78@lemmy.world
    link
    fedilink
    arrow-up
    18
    ·
    edit-2
    4 days ago

    I’m exactly doing this atm. I’m running a homelab on a $200 USD lenovo p330 tiny with a Tesla P4 GPU, via Proxmox, CasaOS and various containers. I’m about 80% finished with what I want it to do.

    Uses 40W at the wall (peak around 100W). IOW about the cost of a light bulb. Here’s what I run -

    LXC 1: Media stack

    Radarr, Sonarr, Sabnzdb, Jellyfin. Bye bye Netflix, D+ etc

    LXC 2: Gaming stack

    Emulation and PC gaming I like. Lots of fun indie titles, older games (GameCube, Wii, PS2). Stream from homelab to any TV in house via Sunshine / Moonlight. Bye bye Gforce now.

    LXC 3: AI stack

    • Llama.cpp + llama-swap (AI back ends)

    • Qdrant server (document server)

    • Openwebui (front end)

    Bespoke MoA system I designed (which I affectionately call my Mixture of Assholes, not agents) using python router and some clever tricks to make a self hosted AI that doesn’t scrape my shit and is fully auditble and non hallucinatory…which would otherwise be impossible with typical cloud “black box” approaches. I don’t want black box; I want glass box.

    Bye bye ChatGPT.

    LXC 4: Telecom stack

    Vocechat (self hosted family chat replacement for WhatsApp / messenger),

    Lemmy node (TBC).

    Bye bye WhatsApp and Reddit

    LXC 5: Security stack

    Wireguard (own VPN). NPM (reverse proxy). Fail2Ban. PiHole (block ads).

    LXC 6: Document stack

    Immich (Google photos replacement), Joplin (Google keep), Snapdrop (Airdrop), Filedrop (Dropbox), SearXNG (Search engine).

    Once I have everything tuned perfectly, I’m going to share everything on Github / Codeberg. I think the LLM stack alone is interesting enough to merit attention. Everyone makes big claims but I’ve got the data and method to prove it. I welcome others poking it.

    Ultimately, people need to know how to do this, and I’m doing my best to document what I did so that someone could replicate and improve it. Make it easier for the next person. That’s the only way forward - together. Faster alone, further together and all that.

    PS: It’s funny how far spite will take someone. I got into media servers after YouTube premium, Netflix etc jacked their prices up and baked in ads.

    I got into lowendgaming when some PCMR midwit said “you can’t play that on your p.o.s. rig”. Wrong - I can and I did. It just needed know how, not “throw money at problem till it goes away”.

    I got into self hosting LLM when ChatGPT kept being…ChatGPT. Wasting my time and money with its confident, smooth lies. No, unacceptable.

    The final straw was when Reddit locked my account and shadow banned me for using different IP addresses while travelling / staying at different AirBNBs during holiday “for my safety”.

    I had all the pieces there…but that was the final “fine…I’ll do it myself” Thanos moment.

    • pineapple@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      Wait how did you set it up to avoid haloucinations? Is there a guide you followed that you can point me to?

      • SuspciousCarrot78@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        2 days ago

        I’ll try explaining using an analogy (though I can go nerd mode if that’s better? Let me know; I’m assuming an intelligent lay audience for this but if you want nerd-core, my body is ready lol).

        PS: Sorry if scattered - am dictating using my phone (on holiday / laptop broke).


        Hallucinations get minimized the same way a teacher might minimise a student from confidently bullshitting on their book reports: you control context (what they’re allowed to talk about), when they’re allowed to improvise, and you make them show their work when it matters by doing a class presentation.

        Broadly speaking, that involves using RAG and GAG (of your own documents) as “ground truth”, setting temperature low (so LLM has no flights of fancy) and adding verifier passes / critic assessment by second model.

        Additionally, a lot of hallucinations come from the model half-remembering something that isn’t in front of it and then “improvising”.

        To minimise that, I coded a little python tool that forces the llm to store facts verbatim (triggered by using !!) into a JSON (text) file, so that when you ask it something it recalls it exactly as a sort of rolling memory. The basis of that is from something I made earlier for OWUI

        https://openwebui.com/posts/total_recall_4a918b04

        So what I have in place is this -

        I use / orchestrate a couple of different models, each one tuned for a specific behaviour. They work together to produce an answer.

        My python router then invokes the correct model for the task at hand based on simple rules (is the question over 300 words? Does it have images? Does it involve facts and figures or is it brain storming/venting/shooting the shit?)

        The models I use are

        • Qwen 3-4B 2507 Instruct (usual main brain)
        • Phi-4-mini (critic)
        • Nanbeige 3B (2nd main brain when invoked / shit shooter)
        • You-tu LLM (coding stuff)
        • Qwen3-VL-4b (visual processing)
        • Qwen3-8b (document summariser)
        • Qwen3-1.7b (court jester that when invoked rewrites “main brain” output with contextually appropriate Futurama, Simpsons, Firefly etc quotes. With blackjack. And hookers!).

        To give a workflow example - you ask a question.

        The python router decides where it needs to go to. Let’s suppose its a technical look up / thinking about something in my documents.

        The “main brain” generates an answer using whatever grounded stuff you’ve given it access to (in Qdrant database and JSON text file). If no stored info, it notes that explicitly and proceeds to next step (I always want to know where it’s pulling it’s into from, so I make it cite its references).

        That draft gets handed to a separate “critic” whose entire job is to poke holes in it. (I use very specific system prompt for both models so they stay on track).

        Then the main brain comes back for a final pass where it fixes the mistakes, reconciles the critique, and gives you the cleaned‑up answer.

        It’s also allowed to say “I’m not sure; I need XYZ for extra context. Please provide”.

        It’s basically: propose → attack → improve.

        Additionally, I use a deterministic memory system (basically just a python script that writes to a JSON / text file that the LLM writes exactly into and then retrives exactly out from), without editorialising facts of a conversation in progress.

        Facts stored get recalled exactly without llm massage or rewrite.

        Urgh, I hope that came out OK. I’ve never had to verbally rubber-duck (explain) it to my phone before :)


        TL;DR

        Hallucinations minimised by -

        1. Careful fact scraping and curation (using Qdrant database, markdown text summaries and rolling JSON plain text facts file)

        2. Python router that decides which LLM (or more accurately, SLM, given I only have 8GB VRAM) answers what, based on simple rules (eg: coding questions go to coder, science questions go to science etc)

        3. Keeping important facts outside of the LLM, that it needs to reference directly (RAG, GAG, JSON rolling summary).

        4. Setting model temperatures so that responses are as deterministic as possible (no flowery language or fancy reinterpretations; just the facts, ma’am).

        5. Letting the model say “I don’t know, based on context. Here’s my best guess. Give me XYZ if you want better answer”.

        Basic flow:

        ask question --> router calls model/s --> “main brain” polls stored info, thinks and writes draft --> get criticized by separate “critic” --> “main brain” gets critic output, responds to that, and produces final version.

        That reduces “sounds right” answers that are actually wrong. All the seams are exposed for inspection.

        • pineapple@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          Thats awesome! I was going to add some sort of AI to my proxmox homelab for researching but I figured the risk of halloucination was too high, and I thought that the only way to fix this was getting a bigger model. But thid seams like a really good setup (if I can actually figure out how to implement it.) And I wont need to upgrade my gpu!

          Althogh I only have one ai suitable gpu (I have a gtx 1660 6gb in my homelab which is really only suitable for movie transcoding.) I have a 3060 12gb that I use in my gaming pc I was thinking I could setup some kind of wol system that boots the pc and sets up the ai software on that. Maybe my homelab hosts openwebui and when I send a queory it prompts my gaming pc to wake up and do the ai crunching.

          • SuspciousCarrot78@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            1 day ago

            Well, technically, you don’t need any GPU for the system I’ve set up, because only 2-3 models are “hot” in memory (so about…10GB?) and the rest are cold / invoked as needed. My own GPU is only 8GB (and my prior one was 4GB!). I designed this with low end rigs in mind.

            The minimum requirement is probably a CPU equal to or better than mine (i7-8700; not hard to match), 8-10GB RAM and maybe 20GB disk space. Bottom of the barrel would be 4gb but you’ll have to deal with ssd thrashing.

            Anything above that is a bonus / tps multiplier.

            FYI; CPU only (my CPU at least) + 32gb system RAM, this entire thing runs at about 10-11 tps, which is interactive enough speed / faster than reading speed. Any decent gpu should get you 3-10x that. I designed this for peasant level hardware / to punch GPTs in the dick thru clever engineering, not sheer grunt. Fuck OpenAi. Fuck Nvidia. Fuck DDR6. Spite + ASD > “you can’t do that” :). Yes I fucking can - watch me.

            If you want my design philosophy, here is one of my (now shadowbanned) posts from r/lowendgaming. Seeing you’re a gamer, this might make sense to you! The MoA design I have is pure “level 8 spite, zip tie Noctura fan to server grade GPU and stick it in a 1L shoebox” YOLOing :).

            It works, but it’s ugly, in a beautiful way.

            Lowend gaming iceberg

            Level 1

            • Drop resolution to 720p
            • Turn off AA, AF, Shadows etc
            • Vsync OFF
            • Windowed mode? OK.
            • Pray for decent FPS

            Level 2

            • Use Nvidia/Intel/AMD control panel for custom tweaks
            • Create custom low end resolutions (540p, 480p) so GPU can enumerate them to games
            • Pray for decent FPS

            Level 3

            • Start tweaking .cfg and .ini files like you’re a caveman from the ancient year of 1998
            • FPS capping? Sure.
            • FOV size of a keyhole? Do it
            • Texture filtering hacks / replacements? Rock on.
            • Pray for decent FPS

            Level 4

            • Time to get serious. Crack open the box - repaste, clean, try to add more ram from anything that even remotely fits. We can hack the timings to match, no problem!
            • BIOS tweaking time! Let’s see what breaks! Oh…everything.
            • May as well undervolt and over clock, seeing we’re in here already. Where’s my paperclip…
            • EDID hacks to make TV / monitor do dumb shit, like run at resolutions it shouldn’t or Hz it pretends it can’t? Why not.
            • Pray for decent FPS

            Level 5

            • Software time again! Lossless scaling? Sure!
            • Reshade post processing to sharpen ultra low mush? Ok.!
            • Integer scaling? Scanlines? Why not
            • Special K swap chain injection to force low res where no low res exists? Right on.
            • DXVK? Yolo.
            • Pray for decent FPS

            Level 6

            • Fuck it; time for real black magic
            • Hack registry keys in windows settings.
            • Hex edit settings directly
            • Make windows believe impossible things, like imaginary VRAM.
            • Sacrifice boxed copy of Win98 to Linus Torvalds for absolution.
            • Pray for decent FPS

            Level 7

            • Fine…I’ll do it myself then.
            • Strip out the game assets and rewrite shaders
            • No fancy lighting, kill the fill rate, post processing gone.
            • At this point, you may as well just recode the fucking game from scratch.
            • Pray for decent FPS

            Level 8

            • Purely driven by spite now.
            • Franken-mod a $15 eGPU and run it via Pcie adaptor. Flash the vBIOS to do unnatural things.
            • Everything is overheating. Drill holes in case to improve airflow.
            • Still too hot; drag in desk fan. Point directly at case. Your PC now sounds like Darth Vader. Neat.
            • Decompile the games DLLs just to prove you can. Sneer at them.
            • No longer praying for FPS; now praying for no magic blue smoke.

            Level 9

            • pineapple@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              ·
              6 hours ago

              I have a 12 gig gpu that I dont use for most of the time, might as well put it to work doing something. And even second hand ddr4 memory has gotten so expensive I’d rather not have to upgrade my homelab.

              What is your main use case for this anyway? Do you use it for researching? Thats what I would mainly use it for, but also finding things in my obsidian volt.

              What stage have you actually gotten to?

              I do like the idea of this all though. I should really get into undervolting/overclocking my stuff, there is really no reason not to I could either gain performance or longevity or both!

              Also I hate that the stock fans on cpu’s are so garbage. Luckily arctic fans are really cheap and quiet. Noctua is great but i’d sooner buy a budget aio than a single noctua fan lol.

              • SuspciousCarrot78@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                edit-2
                3 hours ago

                Everything stems from the fact that I want something I can “trust but verify” / see all the seams at a moment’s notice. I assume the LLM will lie to me, so I do everything in my power to squeeze it. Having lost hours and dollars believing ChatGPT, Claude, etc… I live by “fool me once, shame on you. Fool me 4000 times, shame on me”.

                The problem with LLMs (generally) is that they are NOT deterministic. You can ask the same question 5 times and get slightly different answers each time, due to the seed, temperature, top_p, etc., settings. That’s one of the main reasons for hallucinations. They give it an RNG (to put it in gaming terms) to make it feel more “alive”. That’s cool and all, but it causes it to bullshit.

                I have ASD; I cannot abide my tools having whims or working differently than they should. When I ask something, I want it to answer it EXACTLY correctly (based on my corpus, my IF-THEN GAG, etc.), reason the way I told it to, and show its proof. Do what I said, how I said.

                In that way, it acts as an external APU for my brain - I want it to do what I would do, the way I would do it, just faster. And it needs to bring receipts because I am hostile to it as a default stance (once bitten, twice shy).

                To be more specific, the MoA has two basic modes. In /serious mode, it will do three careful passes on my question and pull in my documents. For example, if I ask it for launch flags or optimisation of Dolphin emulator or llama.cpp, I want it to reference my documents (scraped from official sites via Scrapy), check my benchmarks and come up with a correct response. Or tell me that it can’t, because XYZ. No smooth lies.

                It must also provide me with an indicator of accuracy and a source for its information, so I can verify with one click. I trust nothing until it’s earned and even then, I will spot check.

                If I want it to reason about a patient’s differential diagnosis, it must climb the GAG nodes and follow my prompts EXACTLY. No flights of fancy AT ALL. Follow the flow-chart, tell me what I must not miss, what the likely diagnosis is, etc. Then I will tell it what I think it is… then we debate. (I’m setting this up for clinical students… I wish I’d had it when I went through).

                If I want coding help because I’ve fucked up some Python script (yet again): don’t invent shit. Look at the reference documents and tell me EXACTLY. Teach me and help me unfuck myself. If you can’t, say so honestly and tell me who I should talk to, based on an externally stored policy document.

                Then there’s also /casual mode. In casual mode, I want it to let me shoot the shit, vent and help me brainstorm, swear, tell me dirty jokes, reference pop culture… without strict adherence to my presets… unless I invoke them.

                So the TL;DR answer to your question is: I use it for work, for fun (coding, gaming) and for generally shooting the shit. The “shooting the shit” aspect also includes stuff like sentiment analysis, because I have trouble sometimes understanding meaning from text.

                Regarding the iceberg / what stage I’ve gotten to… baby, I wrote the list. You can be DAMN sure I’ve drilled holes into cases and decompiled shit to make it run on my potato, out of spite. I was really, really tempted to rip out the guts of The Alters and decompile it for an earlier version of Unreal Engine… but I got gifted a better GPU :)

                I made CP2077 run on iGPU at 60 fps. Why? Because fuck PCMR. They said it couldn’t be done.

                If I ever start an IT company, I will likely name it “Spite Engineering Inc”.

                PS: Here is what the MoA said about your post and my draft of this post (aka sentiment analysis). I ignored it (YOLO) cause I’m /casual today :)


                "Relative sentiment: the original post is mildly positive and curious with light frustration about hardware cost and stock cooling; your response is more intense and critical toward LLMs but positive about your own system, with a strong control-oriented and adversarial stance toward non-deterministic tools.

                The thematic domain (hardware tinkering, efficiency, making full use of resources, interest in research and tooling) matches well, but your affect is higher-intensity and more hard-edged than the original writer’s. Be careful here; you’re coming on strong and may scare away the original poster.

                Question coverage: you directly answer the main use-case question (work, coding, “shooting the shit,” including research-like tasks and sentiment analysis) and you address the “what stage have you actually gotten to?” question implicitly but clearly by stating you “wrote the list” and giving concrete competence examples.

                Your reasoning is organically given / flow of consciousness. Consider dot-points and restructuring.

                You did not directly respond to their incidental comments about their 12 GB GPU, RAM prices, undervolting/overclocking, or coolers, but those were not phrased as explicit questions and your reply adequately answers the core queries.

                Recommendation: you may wish to address the above in a second draft.

                Confidence: high | Source: Mixed (context and stored)


    • Dr_Vindaloo@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      4 days ago

      Is there somewhere I can follow to see this if you end up open sourcing it? Sounds pretty interesting (personally I’m looking into a k3s-based setup but it’s always interesting to see how others do things)

      • SuspciousCarrot78@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        4 days ago

        Yep! I will mirror it here -

        https://github.com/BobbyLLM

        (Its empty rn / place holder only).

        I had a bunch of prelim write-ups on r/LocalLLM and r/LocalLlama and r/homelab but they’re in the shadowrealm now due to reddit ban (fuck reddit)

        I will also post it on @homelabs and @privacy here; I think my MoA design is worthwhile enough to maybe even merit a post on HackerNews…but I want to cross all T’s and dot all I’s before I get into that bar fight lol.

          • SuspciousCarrot78@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            2 days ago

            Agreed. I have concerns with how Microsoft is handling Github, but organic discovery sure seems to favour Github / reddit / YouTube.

            Unsurprising, YouTube (google) really doesn’t trust accounts without phone numbers attached (I set mine up before that was a requirement, using a @skiff address, so my ability to upload long form videos is curtailed. I think it was shadow banned from day 1, irrespective of how much we watch YT).

            Probably the smart thing to do is to set up on Codeberg and maybe upload some “how to” videos to internet archive, and have github mirorring / forwarding.

            That way whoever wants to find it can find it, somehow.