You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.2 KiB
43 lines
1.2 KiB
VERSION 0.7
|
|
|
|
ARG GO_VERSION=1.20
|
|
ARG GOLINT_VERSION=1.47.3
|
|
|
|
go-deps:
|
|
ARG GO_VERSION
|
|
FROM golang:$GO_VERSION
|
|
WORKDIR /build
|
|
COPY go.mod ./
|
|
COPY go.sum ./
|
|
RUN go mod download
|
|
RUN apt-get update
|
|
SAVE ARTIFACT go.mod AS LOCAL go.mod
|
|
SAVE ARTIFACT go.sum AS LOCAL go.sum
|
|
|
|
alpaca-model:
|
|
FROM alpine
|
|
# This is the alpaca.cpp model https://github.com/antimatter15/alpaca.cpp
|
|
ARG MODEL_URL=https://ipfs.io/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
|
|
RUN wget -O model.bin -c https://ipfs.io/ipfs/QmQ1bf2BTnYxq73MFJWu1B7bQ2UD6qG7D7YDCxhTndVkPC
|
|
SAVE ARTIFACT model.bin AS LOCAL model.bin
|
|
|
|
build:
|
|
FROM +go-deps
|
|
WORKDIR /build
|
|
RUN git clone https://github.com/go-skynet/llama
|
|
RUN cd llama && make libllama.a
|
|
COPY . .
|
|
RUN C_INCLUDE_PATH=/build/llama LIBRARY_PATH=/build/llama go build -o llama-cli ./
|
|
SAVE ARTIFACT llama-cli AS LOCAL llama-cli
|
|
|
|
image:
|
|
FROM +go-deps
|
|
ARG IMAGE=alpaca-cli
|
|
COPY +alpaca-model/model.bin /model.bin
|
|
COPY +build/llama-cli /llama-cli
|
|
ENV MODEL_PATH=/model.bin
|
|
ENTRYPOINT /llama-cli
|
|
SAVE IMAGE --push $IMAGE
|
|
|
|
image-all:
|
|
BUILD --platform=linux/amd64 --platform=linux/arm64 +image |