mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-09-22 21:16:20 +00:00
Merge fc6abde7aa
into a5b57b08ce
This commit is contained in:
commit
86311ef006
77
.github/workflows/server-convert-and-infer.yml
vendored
Normal file
77
.github/workflows/server-convert-and-infer.yml
vendored
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# Server build and tests conversion from safetensors and inference
|
||||||
|
name: LoRA adapters conversion and inference
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch: # allows manual triggering
|
||||||
|
inputs:
|
||||||
|
sha:
|
||||||
|
description: 'Commit SHA1 to build'
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
slow_tests:
|
||||||
|
description: 'Run slow tests'
|
||||||
|
required: true
|
||||||
|
type: boolean
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths: ['.github/workflows/server.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/**.*']
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize, reopened]
|
||||||
|
paths: ['.github/workflows/server.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'examples/server/**.*']
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || github.run_id }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
server:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Dependencies
|
||||||
|
id: depends
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get -y install \
|
||||||
|
build-essential \
|
||||||
|
git \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
|
||||||
|
sudo apt-get install -y git-lfs
|
||||||
|
|
||||||
|
- name: Clone
|
||||||
|
id: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }}
|
||||||
|
|
||||||
|
- name: Python setup
|
||||||
|
id: setup_python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: '3.11'
|
||||||
|
|
||||||
|
- name: Tests dependencies
|
||||||
|
id: test_dependencies
|
||||||
|
run: |
|
||||||
|
pip install -r requirements/requirements-all.txt
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
id: cmake_build
|
||||||
|
if: ${{ matrix.sanitizer != 'THREAD' }}
|
||||||
|
run: |
|
||||||
|
make llama-cli llama-export-lora \
|
||||||
|
-DGGML_NATIVE=OFF \
|
||||||
|
-DLLAMA_BUILD_SERVER=ON \
|
||||||
|
-DLLAMA_CURL=ON \
|
||||||
|
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
|
||||||
|
-DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON ;
|
||||||
|
cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server
|
||||||
|
|
||||||
|
- name: Lora convert and inference tests
|
||||||
|
id: test_lora_conversion_inference
|
||||||
|
if: ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }}
|
||||||
|
run: ./tests/test-lora-conversion-inference.sh
|
@ -10,11 +10,16 @@ declare -a params=(
|
|||||||
|
|
||||||
MODELS_REPO=lora-tests
|
MODELS_REPO=lora-tests
|
||||||
MODELS_REPO_URL=https://huggingface.co/ggml-org/$MODELS_REPO
|
MODELS_REPO_URL=https://huggingface.co/ggml-org/$MODELS_REPO
|
||||||
|
COMMIT=c26d5fb85b4070a9e9c4e65d132c783b98086890
|
||||||
|
|
||||||
# Clone the Hugging Face repository if the directory does not exist
|
# Clone the Hugging Face repository if the directory does not exist
|
||||||
if [ ! -d "$MODELS_REPO" ]; then
|
if [ ! -d "$MODELS_REPO" ]; then
|
||||||
echo "Cloning the Hugging Face repository..."
|
echo "Cloning the Hugging Face repository..."
|
||||||
git clone $MODELS_REPO_URL --depth 1
|
git clone $MODELS_REPO_URL --depth 1
|
||||||
|
cd $MODELS_REPO
|
||||||
|
git fetch --depth=1 origin $COMMIT
|
||||||
|
git reset --hard $COMMIT
|
||||||
|
cd -
|
||||||
else
|
else
|
||||||
echo "Repository already exists. Skipping clone."
|
echo "Repository already exists. Skipping clone."
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user