1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/bin/bash
- # This script sets up integration tests which run the full stack to verify
- # inference locally
- #
- # To run the relevant tests use
- # go test -tags=integration ./server
- set -e
- set -o pipefail
- REPO=$(dirname $0)/../
- export OLLAMA_MODELS=${REPO}/test_data/models
- REGISTRY_SCHEME=https
- REGISTRY=registry.ollama.ai
- TEST_MODELS=("library/orca-mini:latest" "library/llava:7b")
- ACCEPT_HEADER="Accept: application/vnd.docker.distribution.manifest.v2+json"
- for model in ${TEST_MODELS[@]}; do
- TEST_MODEL=$(echo ${model} | cut -f1 -d:)
- TEST_MODEL_TAG=$(echo ${model} | cut -f2 -d:)
- mkdir -p ${OLLAMA_MODELS}/manifests/${REGISTRY}/${TEST_MODEL}/
- mkdir -p ${OLLAMA_MODELS}/blobs/
- echo "Pulling manifest for ${TEST_MODEL}:${TEST_MODEL_TAG}"
- curl -s --header "${ACCEPT_HEADER}" \
- -o ${OLLAMA_MODELS}/manifests/${REGISTRY}/${TEST_MODEL}/${TEST_MODEL_TAG} \
- ${REGISTRY_SCHEME}://${REGISTRY}/v2/${TEST_MODEL}/manifests/${TEST_MODEL_TAG}
- CFG_HASH=$(cat ${OLLAMA_MODELS}/manifests/${REGISTRY}/${TEST_MODEL}/${TEST_MODEL_TAG} | jq -r ".config.digest")
- echo "Pulling config blob ${CFG_HASH}"
- curl -L -C - --header "${ACCEPT_HEADER}" \
- -o ${OLLAMA_MODELS}/blobs/${CFG_HASH} \
- ${REGISTRY_SCHEME}://${REGISTRY}/v2/${TEST_MODEL}/blobs/${CFG_HASH}
- for LAYER in $(cat ${OLLAMA_MODELS}/manifests/${REGISTRY}/${TEST_MODEL}/${TEST_MODEL_TAG} | jq -r ".layers[].digest"); do
- echo "Pulling blob ${LAYER}"
- curl -L -C - --header "${ACCEPT_HEADER}" \
- -o ${OLLAMA_MODELS}/blobs/${LAYER} \
- ${REGISTRY_SCHEME}://${REGISTRY}/v2/${TEST_MODEL}/blobs/${LAYER}
- done
- done
|