diff --git a/data/models/huggingface/.gitkeep b/data/models/huggingface/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/packages/llm/mistral_rs/Dockerfile b/packages/llm/mistral_rs/Dockerfile new file mode 100644 index 000000000..e4756ef91 --- /dev/null +++ b/packages/llm/mistral_rs/Dockerfile @@ -0,0 +1,43 @@ +#--- +# name: mistral_rs +# alias: mistralrs +# group: llm +# config: config.py +# depends: [cuda, rust] +# requires: '>=36.3.0' +# test: test.sh +#--- +ARG BASE_IMAGE +FROM ${BASE_IMAGE} as builder + +ARG MISTRALRS_REPO \ + MISTRALRS_BRANCH + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + libssl-dev + +WORKDIR /mistralrs + +RUN git clone --branch=${MISTRALRS_BRANCH} --depth=1 https://github.com/${MISTRALRS_REPO} /mistralrs + +ARG FEATURES="cuda flash-attn" +RUN cargo build --release --features "${FEATURES}" + +FROM ${BASE_IMAGE} + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + libssl-dev \ + && rm -rf /var/lib/apt/lists/* \ + && apt-get clean + +RUN mkdir -p ~/.cache && \ + ln -s /data/models/huggingface ~/.cache/huggingface + +COPY --from=builder /mistralrs/target/release/mistralrs-bench /mistralrs/target/release/mistralrs-server /usr/local/bin/ +RUN chmod +x /usr/local/bin/mistralrs-bench /usr/local/bin/mistralrs-server diff --git a/packages/llm/mistral_rs/config.py b/packages/llm/mistral_rs/config.py new file mode 100644 index 000000000..68bec117f --- /dev/null +++ b/packages/llm/mistral_rs/config.py @@ -0,0 +1,4 @@ +package['build_args'] = { + 'MISTRALRS_REPO': 'EricLBuehler/mistral.rs', + 'MISTRALRS_BRANCH': 'master', +} diff --git a/packages/llm/mistral_rs/test.sh b/packages/llm/mistral_rs/test.sh new file mode 100644 index 000000000..247373c2c --- /dev/null +++ b/packages/llm/mistral_rs/test.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +echo "testing mistral.rs" + +mistralrs-server --help