75 lines
2.1 KiB
YAML
75 lines
2.1 KiB
YAML
---
|
|
# LLaMA Factory installation and setup
|
|
|
|
- name: Create LLaMA Factory directory
|
|
ansible.builtin.file:
|
|
path: "{{ llmlab_base }}/lab5/LLaMA-Factory"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Check if LLaMA Factory already cloned
|
|
ansible.builtin.stat:
|
|
path: "{{ llmlab_base }}/lab5/LLaMA-Factory/.git"
|
|
register: llm_factory_git_check
|
|
|
|
- name: Clone LLaMA Factory repository
|
|
ansible.builtin.git:
|
|
repo: https://github.com/hiyouga/LLaMA-Factory.git
|
|
dest: "{{ llmlab_base }}/lab5/LLaMA-Factory"
|
|
version: main
|
|
update: no
|
|
become: no
|
|
when: not llm_factory_git_check.stat.exists
|
|
|
|
- name: Create LLaMA Factory virtual environment
|
|
ansible.builtin.command:
|
|
cmd: python3 -m venv "{{ llmlab_base }}/lab5/LLaMA-Factory/.venv"
|
|
args:
|
|
creates: "{{ llmlab_base }}/lab5/LLaMA-Factory/.venv/bin/activate"
|
|
become: no
|
|
|
|
- name: Install pip in virtual environment
|
|
ansible.builtin.shell: |
|
|
#!/bin/bash
|
|
source "{{ llmlab_base }}/lab5/LLaMA-Factory/.venv/bin/activate"
|
|
pip install --upgrade pip
|
|
args:
|
|
chdir: "{{ llmlab_base }}/lab5/LLaMA-Factory"
|
|
executable: /bin/bash
|
|
become: no
|
|
register: pip_install_result
|
|
changed_when: pip_install_result.rc == 0
|
|
|
|
- name: Install LLaMA Factory with GPU support
|
|
ansible.builtin.shell: |
|
|
#!/bin/bash
|
|
source "{{ llmlab_base }}/lab5/LLaMA-Factory/.venv/bin/activate"
|
|
pip install --break-system-packages -e ".[torch,metrics]"
|
|
args:
|
|
chdir: "{{ llmlab_base }}/lab5/LLaMA-Factory"
|
|
executable: /bin/bash
|
|
become: no
|
|
register: install_result
|
|
failed_when: install_result.rc != 0
|
|
|
|
- name: Create LLaMA Factory start script
|
|
ansible.builtin.copy:
|
|
dest: "{{ llmlab_base }}/lab5/start.sh"
|
|
content: |
|
|
#!/bin/bash
|
|
set -e
|
|
|
|
# Activate virtual environment
|
|
source "{{ llmlab_base }}/lab5/LLaMA-Factory/.venv/bin/activate"
|
|
|
|
# Navigate to LLaMA-Factory directory
|
|
cd "{{ llmlab_base }}/lab5/LLaMA-Factory"
|
|
|
|
# Launch LLaMA Board web interface
|
|
llamafactory-cli webui
|
|
mode: '0755'
|
|
|
|
- name: Display LLaMA Factory installation
|
|
ansible.builtin.debug:
|
|
msg: "LLaMA Factory installed to {{ llmlab_base }}/lab5/LLaMA-Factory"
|