diff --git a/.github/workflows/convert-model.yml b/.github/workflows/convert-model.yml deleted file mode 100644 index db01f96..0000000 --- a/.github/workflows/convert-model.yml +++ /dev/null @@ -1,117 +0,0 @@ -name: Convert model to gguf - -on: - workflow_dispatch: - inputs: - source_model_id: - description: "Source HuggingFace model ID to pull. For ex: meta-llama/Meta-Llama-3.1-8B-Instruct" - required: true - source_model_size: - description: "The model size. For ex: 8b" - required: true - type: string - target_model_id: - description: "Target HuggingFace model ID to push. For ex: llama3.1" - required: true - type: string - - -env: - USER_NAME: cortexso - SOURCE_MODEL_ID: ${{ inputs.source_model_id }} - SOURCE_MODEL_SIZE: ${{ inputs.source_model_size }} - TARGET_MODEL_ID: ${{ inputs.target_model_id }} - PRECISION: Q4_K_M # Valid values: int4,fp16,fp3 - -jobs: - converter: - runs-on: ubuntu-20-04-gguf - steps: - - name: Checkout - uses: actions/checkout@v4 # v4.1.7 - with: - submodules: recursive - - - name: Set up Python - uses: actions/setup-python@v5 # v5.1.1 - with: - python-version: '3.12' - # architecture: 'x64' - - - name: Cache Python packages - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 - with: - path: | - ~/.cache/pip - ~/.local/share/pip - .venv - key: ${{ runner.os }}-pip-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-pip- - - - name: Install dependencies - run: | - pip3 install -r llama.cpp/requirements.txt - pip3 install hf-transfer - git lfs install - - - name: Extract MODEL_NAME - run: | - SOURCE_MODEL_ID="${{ env.SOURCE_MODEL_ID }}" - MODEL_NAME="$(echo $SOURCE_MODEL_ID | rev | cut -d/ -f1 | rev)" - echo $MODEL_NAME - MODEL_NAME="$(echo $MODEL_NAME | tr '[:upper:]' '[:lower:]')" - echo $MODEL_NAME - echo "MODEL_NAME=$MODEL_NAME" >> $GITHUB_ENV - - - name: Print environment variables - run: | - echo "SOURCE_MODEL_ID: ${{ env.SOURCE_MODEL_ID }}" - echo "PRECISION: ${{ env.PRECISION }}" - echo "MODEL_NAME: ${{ env.MODEL_NAME }}" - - name: Check file existence - id: check_files - uses: andstor/file-existence-action@v1 - with: - files: "/mnt/models/${{ env.MODEL_NAME }}/hf" - - - - name: Prepare folders - if: steps.check_files.outputs.files_exists == 'false' - run: | - mkdir -p /mnt/models/${{ env.MODEL_NAME }}/hf - - - - name: Download Hugging Face model - id: download_hf - if: steps.check_files.outputs.files_exists == 'false' - run: | - huggingface-cli login --token ${{ secrets.HUGGINGFACE_TOKEN_READ }} --add-to-git-credential - huggingface-cli download --repo-type model --local-dir /mnt/models/${{ env.MODEL_NAME }}/hf ${{ env.SOURCE_MODEL_ID }} - huggingface-cli logout - - - name: Build lib for quantize - run: | - cd llama.cpp && mkdir build && cd build - cmake .. && cmake --build . --config Release -j 32 - cd ../../ - - - name: Convert to GGUF - run: | - mkdir -p /mnt/models/${{ env.MODEL_NAME }}/gguf - huggingface-cli login --token ${{ secrets.HUGGINGFACE_TOKEN_READ }} --add-to-git-credential - python3 llama.cpp/convert_hf_to_gguf.py "/mnt/models/${{ env.MODEL_NAME }}/hf" --outfile "/mnt/models/${{ env.MODEL_NAME }}/gguf/model-origin.gguf" - huggingface-cli logout - - - name: Quantize model - run: | - ./llama.cpp/build/bin/llama-quantize /mnt/models/${{ env.MODEL_NAME }}/gguf/model-origin.gguf /mnt/models/${{ env.MODEL_NAME }}/gguf/model.gguf ${{ env.PRECISION }} - rm -rf /mnt/models/${{ env.MODEL_NAME }}/gguf/model-origin.gguf - - - name: Upload to Hugging Face - run: | - huggingface-cli login --token ${{ secrets.HUGGINGFACE_TOKEN_WRITE }} --add-to-git-credential - huggingface-cli upload "${{ env.USER_NAME }}/${{ env.TARGET_MODEL_ID }}" "/mnt/models/${{ env.MODEL_NAME }}/gguf" . --revision "${{ env.SOURCE_MODEL_SIZE }}-gguf" - huggingface-cli logout - rm -rf llama.cpp/build/ - diff --git a/.github/workflows/update-model-yml.yml b/.github/workflows/update-model-yml.yml index a827b24..0cf8b01 100644 --- a/.github/workflows/update-model-yml.yml +++ b/.github/workflows/update-model-yml.yml @@ -73,7 +73,7 @@ jobs: for quant in "${quant_levels[@]}"; do mkdir -p "/mnt/models/${{ env.MODEL_NAME }}/yaml/${quant}/" - python3 scripts/update_model_yaml.py \ + python3 scripts/update_model_yml.py \ --repo_id "${{ env.USER_NAME }}/${{ env.TARGET_MODEL_ID }}" \ --filename model.yml \ --branch "${{ env.SOURCE_MODEL_SIZE }}-gguf-${quant}" \