From 5d352bbb538262a2d3162324c289636199f15a91 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Sat, 10 Oct 2026 14:32:28 -0700 Subject: [PATCH] llm, add section comments, ensure ollama allows Codium workflows with concurrency and parallel. --- tasks/workstation/linux/software/llm.yml | 62 ++++++++++-------------- 1 file changed, 26 insertions(+), 36 deletions(-) diff --git a/tasks/workstation/linux/software/llm.yml b/tasks/workstation/linux/software/llm.yml index 9ea5169..e2d48cf 100644 --- a/tasks/workstation/linux/software/llm.yml +++ b/tasks/workstation/linux/software/llm.yml @@ -26,6 +26,8 @@ - name: Workstation | Linux | Software | LLMs block: + # Facts - Start # + - name: Workstation | Linux | Software | LLMs | Facts | Provisioned ansible.builtin.debug: var: "{{ item }}" @@ -47,10 +49,12 @@ qwen_code: qwen-code dummy_service: 'cronie' dummy_website: 'https://hyperling.com' - # Good to keep low to prevent swap usage. - llm_concurrency: "{{ (ansible_memtotal_mb / 64000) | round(0, method='ceil') | int }}" + # Good to keep low to prevent swap usage. Going to have a minimum of 3 + # though, one for Cline, two for Continue (Agent + Autocomplete). + llm_concurrency: "{{ [(ansible_memtotal_mb / 32000) | round(0, method='ceil'), 3] | max | int }}" # Allow having multiple chats open without them just waiting each other. - llm_parallel: "{{ (ansible_processor_vcpus / 8) | round(0, method='ceil') | int }}" + # Also setting this to a minimum of 3 for using Codium with extensions. + llm_parallel: "{{ [(ansible_processor_vcpus / 2) | round(0, method='ceil'), 3] | max | int }}" # Most LLMs take a coefficient of about 1.2 to 1.5 of their file size in # RAM, which is usually less than guessing a usage of weight*1000. # Example: @@ -164,6 +168,8 @@ - llm_installs - llm_removals + # Facts - End # + - name: Workstation | Linux | Software | LLMs | Packages | Install ansible.builtin.package: name: @@ -176,6 +182,8 @@ - name: Workstation | Linux | Software | LLMs | runit block: + # Ollama - Start # + - name: Workstation | Linux | Software | LLMs | runit | ollama | Dir | Run ansible.builtin.file: name: "{{ ollama_runit_dir }}" @@ -250,6 +258,10 @@ owner: "{{ user }}" mode: "0755" + # Ollama - End # + + # Zeroclaw - Start # + - name: Workstation | Linux | Software | LLMs | runit | zeroclaw | Dir | Run ansible.builtin.file: name: "{{ zeroclaw_runit_dir }}" @@ -300,6 +312,9 @@ dateformat %Y-%m-%d_%H-%M-%S # each run gets its own file. mode: "0755" + # Zeroclaw - End # + + # Open WebUI - Start # - name: Workstation | Linux | Software | LLMs | runit | open-webui | Packages ansible.builtin.package: @@ -407,8 +422,12 @@ dateformat %Y-%m-%d_%H-%M-%S # each run gets its own file. mode: "0755" + # Open WebUI - End # + when: ansible_service_mgr == "runit" + # Services - Start # + - name: Workstation | Linux | Software | LLMs | Services | Enable ansible.builtin.service: name: "{{ item.name }}" @@ -446,40 +465,9 @@ - "{{ 'http://127.0.0.1:3000/health' if open_webui_enabled else dummy_website }}" ignore_errors: true - #- name: Workstation | Linux | Software | LLMs | Config | zeroclaw | Root - # ansible.builtin.blockinfile: - # path: "{{ user_user.home }}/.zeroclaw/config.toml" - # marker: "# {mark} ANSIBLE MANAGED BLOCK | zeroclaw | Defaults" - # insertbefore: '(?m)^schema_version' - # block: | - # default_provider = "ollama" - # default_model = "qwen3.5:4b" - # provider_timeout_secs = 3600 - # state: present - # create: false - # backup: true - - #- name: Workstation | Linux | Software | LLMs | Config | zeroclaw | Channels | header - # ansible.builtin.lineinfile: - # path: "{{ user_user.home }}/.zeroclaw/config.toml" - # insertbefore: '(?m)^[channels]' - # block: | - # message_timeout_secs = 3600 - # state: present - # create: false - # backup: true - - #- name: Workstation | Linux | Software | LLMs | Config | zeroclaw | Channels - # ansible.builtin.blockinfile: - # path: "{{ user_user.home }}/.zeroclaw/config.toml" - # marker: "# {mark} ANSIBLE MANAGED BLOCK | zeroclaw | Channels" - # insertbefore: '(?m)^[channels]' - # block: | - # message_timeout_secs = 3600 - # state: present - # create: false - # backup: true + # Services - End # + # Models - Start # - name: Workstation | Linux | Software | LLMs | Models | ollama | User Shell Functions ansible.builtin.blockinfile: @@ -655,4 +643,6 @@ mode: "0644" when: codium_config + # Models - End # + when: ansible_pkg_mgr == "pacman"