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 }}"
|