30f80fe058
In the YAML folded block scalar, \\. was passed literally to regex_search as \., so it never matched valid semver strings like 0.21.1. Use \. instead so the dot is matched correctly.
72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
- name: Ensure Lab 1 model directory exists
|
|
file:
|
|
path: "{{ courseware_lab1_models_dir }}"
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Check installed Ollama version
|
|
command:
|
|
argv:
|
|
- "{{ courseware_ollama_bin }}"
|
|
- --version
|
|
register: courseware_lab1_ollama_version
|
|
changed_when: false
|
|
|
|
- name: Extract installed Ollama semantic version
|
|
set_fact:
|
|
courseware_lab1_ollama_semver: >-
|
|
{{
|
|
courseware_lab1_ollama_version.stdout
|
|
| regex_search('[0-9]+\.[0-9]+\.[0-9]+')
|
|
| default('')
|
|
}}
|
|
|
|
- name: Fail when Ollama is too old for Lab 1 logprobs
|
|
fail:
|
|
msg: >-
|
|
Lab 1 requires Ollama {{ courseware_ollama_min_version }} or newer because
|
|
the confidence visualizer depends on logprob support. Installed version:
|
|
{{ courseware_lab1_ollama_version.stdout | trim }}.
|
|
when:
|
|
- courseware_lab1_ollama_semver | length == 0
|
|
or not (courseware_lab1_ollama_semver is version(courseware_ollama_min_version, '>='))
|
|
|
|
- name: Download mirrored Lab 1 Qwen model
|
|
get_url:
|
|
url: "{{ courseware_lab1_qwen_download_url }}"
|
|
dest: "{{ courseware_lab1_qwen_local_path }}"
|
|
mode: "0644"
|
|
|
|
- name: Download mirrored Lab 1 Llama model
|
|
get_url:
|
|
url: "{{ courseware_lab1_llama_download_url }}"
|
|
dest: "{{ courseware_lab1_llama_local_path }}"
|
|
mode: "0644"
|
|
|
|
- name: Write Lab 1 Ollama Modelfile
|
|
copy:
|
|
dest: "{{ courseware_lab1_dir }}/Modelfile.{{ courseware_lab1_qwen_model_alias }}"
|
|
mode: "0644"
|
|
content: |
|
|
FROM {{ courseware_lab1_qwen_local_path }}
|
|
|
|
- name: Start Ollama before Lab 1 model registration
|
|
command:
|
|
argv:
|
|
- "{{ courseware_root }}/scripts/service_manager.sh"
|
|
- start
|
|
- ollama
|
|
changed_when: false
|
|
|
|
- name: Register Lab 1 Qwen model with Ollama
|
|
command:
|
|
argv:
|
|
- "{{ courseware_ollama_bin }}"
|
|
- create
|
|
- "{{ courseware_lab1_qwen_model_alias }}"
|
|
- -f
|
|
- "{{ courseware_lab1_dir }}/Modelfile.{{ courseware_lab1_qwen_model_alias }}"
|
|
environment:
|
|
OLLAMA_HOST: "{{ courseware_bind_host }}:{{ courseware_ports.ollama }}"
|
|
OLLAMA_MODELS: "{{ courseware_ollama_models_dir }}"
|