mirror of
https://github.com/dogkeeper886/ollama37.git
synced 2025-12-13 01:07:12 +00:00
Add files for library models
This commit is contained in:
51
library/publish.sh
Executable file
51
library/publish.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p models
|
||||
|
||||
# download binaries
|
||||
function process_line {
|
||||
local url=$1
|
||||
local checksum=$2
|
||||
|
||||
# Get the filename from the URL
|
||||
local filename=models/$(basename $url)
|
||||
|
||||
|
||||
# If the file exists, compute its checksum
|
||||
if [ -f $filename ]; then
|
||||
local existing_checksum=$(shasum -a 256 $filename | cut -d ' ' -f1)
|
||||
fi
|
||||
|
||||
# If the file does not exist, or its checksum does not match, download it
|
||||
if [ ! -f $filename ] || [ $existing_checksum != $checksum ]; then
|
||||
echo "downloading $filename..."
|
||||
|
||||
# Download the file
|
||||
curl -L $url -o $filename
|
||||
|
||||
# Compute the SHA256 hash of the downloaded file
|
||||
local computed_checksum=$(shasum -a 256 $filename | cut -d ' ' -f1)
|
||||
|
||||
# Verify the checksum
|
||||
if [ $computed_checksum != $checksum ]; then
|
||||
echo "Checksum verification failed for $filename"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
while IFS=' ' read -r url checksum
|
||||
do
|
||||
process_line $url $checksum
|
||||
done < "downloads"
|
||||
|
||||
# create and publish the models
|
||||
for file in modelfiles/*; do
|
||||
if [ -f "$file" ]; then
|
||||
filename=$(basename "$file")
|
||||
echo $filename
|
||||
ollama create "library/${filename}" -f "$file"
|
||||
ollama push "${filename}"
|
||||
fi
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user