With modern CPU’s supposedly shipping with ‘AI cores’: How long do you think it will take for a proper opensource, privacy respecting productivity tools(Something like whatever M$ copilot is supposed to be?) to be available?

Personally, i would love to see something like ‘Passive’ OCR integrated with the display server: the ability to pause any video and just select whatever text(even handwritten) there is naturally like it was a text document without any additional hassle will be really useful
Also useful in circumventing any blocks certain websites put on articles to prevent text from being copied

Or an AI grammar checker running natively for LibreOffice.

What are some AI tools you think should be developed for desktop Linux?

  • capital@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    5 months ago

    Huh, thanks to this kick-ass comment, I’m now running some different llama models locally on my machine.

    For those wondering, all of them that I’ve tried (llama2, llama2-uncensored, and mistral) all respond really quickly and the text comes faster than I can read. Quicker wouldn’t seem to be of any use for me so I’m happy.

    Specs:

    • AMD Ryzen 5 3600
    • 16GB DDR4
    • GeForce GTX 1060 6GB
    • SSD

    Works fine on Windows though WSL 2 on Ubuntu 22.04.

    • garrett@lemm.ee
      link
      fedilink
      arrow-up
      4
      ·
      5 months ago

      Yeah, some of the smaller models are even reasonable on my old laptop in CPU mode.

      General rule of thumb: The larger the model, the better it is. But not necessarily. 😉 I’ve found zephyr and mistral are both quite good for a tradeoff and work on CPU. Of the ones that really need more RAM and/or a GPU with a lot of vRAM, mixtral seems like the best.

      Additional fun is to use a Modalfile (which is like a Containerfile, but is a recipe for models instead of containers) to customize a local model on top of one of the existing ones.

      For a simple one to demonstrate, I have a system instruction to output everything in the form of the poem “This Is Just To Say”, but customized per topic.

      It really works best with mixtral (I’ve tried other ones, especially smaller ones):

      FROM mixtral
      PARAMETER temperature 1
      SYSTEM """
      You will respond to everything in a modified poem in the form of "This Is Just To Say" by William Carlos Williams, except change all the specifics to be what the subject is. Do not say any other text. Try to make the syllables the same as the original and use the same formatting.
      
      You can expand in length in responses when there is too much to talk about, but keep the format and style of the poem.
      
      Do not respond in any other way.
      
      For reference, the full poem is:
      
      I have eaten
      the plums
      that were in
      the icebox
      
      and which
      you were probably
      saving
      for breakfast
      
      Forgive me
      they were delicious
      so sweet
      and so cold
      """
      

      Yes, you just instruct the system with natural text like that and it (usually) abides. I tried it without the poem being referenced inline, and it mostly worked fine… but it works even better being mentioned in the file.

      I have that saved in ~/Projects/ollama/ as Modelfile.fun-plums

      I run the server almost as above, but now also pass in my ollama project directory as a mounted volume with z (for SELinux mapping)… don’t forget to have run sudo setsebool container_use_devices=true first, else it won’t work:

      podman run --detach --replace --device /dev/kfd --device /dev/dri --group-add video -v ollama:/root/.ollama -p 11434:11434 -v ~/Projects/ollama:/models:z --name ollama ollama/ollama:0.1.24-rocm
      

      (You can run this command if you already have the server running. It will replace it with the new one. This is for AMD. You’d want to use the NVidia or CPU container if you don’t have an AMD card. The CPU container is the fasted to download. The version here is newer than the one for AMD that I listed above, so it might be a multi-gigabyte download if you don’t have this new one yet. The important and new part is ~/Projects/ollama:/models:z)

      Then, create the model. This will be almost instant if you already have the base model downloaded (in this case, mixtral), otherwise it will auto-download the base model:

      podman exec -it ollama ollama create fun-plums -f /models/Modelfile.fun-plums
      

      (The path to the model in this command is the internal path from the point of view within the container.)

      Then, you run it like any other model.

      Here’s me running it, and bringing up the topic of leftover pizza.

      $ podman exec -it ollama ollama run fun-plums
      >>> pizza
       I have consumed
      the pizza
      that was on
      the counter
      
      and which
      you were likely
      saving
      for lunch
      
      Forgive me
      it was satisfying
      so tasty
      and so warm
      

      You can also paste the text from the reader mode of an article and it’ll summarize it with a poem based on that one. 🤣

      For example, copying and pasting the text from https://www.theverge.com/2024/2/10/24068931/star-wars-phantom-menace-theater-showings-25th-anniversary-may resulted in:

       I have watched
      the Phantom Menace
      that was on
      the silver screen
      
      and which
      you may have
      missed or
      disliked once
      
      Forgive me
      it has charm
      a new sheen
      and Darth Maul
      
      • capital@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        5 months ago

        This is interesting.

        Since all the talk about LLMs and “AI” started, I’ve been hoping that someone would create a news app that is essentially self-hosted RSS server (like FreshRSS) + a personally trained LLM that would only serve me news it has learned I’m interested in. For example, I don’t care about sports or celebrities and almost never want to see news about those topics. Conversely, I want news relevant to my geographical area, my area of work, and my hobby interests, etc.

        Considering these can be run on consumer hardware, I think we’re at the point where someone with the know-how just needs to connect the two.

        I wonder if the news preferences could be loaded into a Modalfile so it can persist - as I understand it, this would be the only way preferences would survive separate chat sessions.

        I love RSS but I have to be extremely choosy about which feeds I subscribe to because it can quickly become overwhelming given the number of articles posted daily.