Files
qdrant/Dockerfile
Andrey Vasnetsov 3616631300 Filtrable hnsw (#26)
* raw points scorer

* raw point scorer for memmap storage

* search interface prepare

* graph binary saving + store PointOffsetId as u32

* WIP: entry points

* connect new link method

* update libs + search layer method + visited list + search context + update rust

* implement Euclid metric + always use MinHeap for priority queue

* small refactor

* search for 0 level entry

* update visited pool to be lock free and thread safe

* use ef_construct from graph layer struct + limit visited links to M

* add metric pre-processing before on vector upsert

* old hnsw heuristic

* save hnsw graph for export

* search method + tests

* small fixes

* add benchmark and profiler

* build time optimizations

* use SeaHash

* remove unsed benchmark

* merge hnsw graph function

* WIP:HNSW index build function

* HNSW build_index with additional indexing

* refactor fixtures

* graph save and load test

* test and fixes for filterable HNSW

* enable hnsw index for query planning

* fix cardinality estimation tests + remove query planner as class

* small refactor

* store full copy of collection settings with collection + allow partial override on creation #16

* API for updating collection parameters #16

* refactor: move collection error -> types

* report collection status in info API #17

* update OpenAPI Schema
2021-05-30 17:14:42 +02:00

33 lines
645 B
Docker

FROM rust:1.51 as builder
COPY . ./qdrant
WORKDIR ./qdrant
ENV OPENBLAS_TARGET=CORE2
RUN apt-get update ; apt-get install -y clang libopenblas-dev libgfortran-8-dev gfortran
# Build actual target here
RUN cargo build --release --bin qdrant
FROM debian:buster-slim
ARG APP=/qdrant
RUN apt-get update \
&& apt-get install -y ca-certificates tzdata \
&& rm -rf /var/lib/apt/lists/*
EXPOSE 6333
ENV TZ=Etc/UTC \
RUN_MODE=production \
OPENBLAS_NUM_THREADS=1
RUN mkdir -p ${APP}
COPY --from=builder /qdrant/target/release/qdrant ${APP}/qdrant
COPY --from=builder /qdrant/config ${APP}/config
WORKDIR ${APP}
CMD ["./qdrant"]