«Энлих» означает аналогичный на немецком языке. Он состоит из нескольких инструментов для использования и разработки, таких как:
ahnlich-db : хранилище клавиши векторов в памяти для хранения встраиваний/векторов с соответствующими метаданными (карты клавиш значения). Это мощная система, которая позволяет инженерам AI/ML хранить и искать аналогичные векторы с использованием алгоритмов линейных (косинус, евклидова) или нелинейного сходства (KDTree). Он также использует поиск в значениях метаданных, чтобы иметь возможность фильтровать записи с использованием значений метаданных. Простой пример может выглядеть как GETSIMN 2 WITH [0.2, 0.1] USING cosinesimilarity IN my_store WHERE (page != hidden)
// example query
get_sim_n(
store="my_store",
search_input=[0.2, 0.1],
closest_n=2,
algorithm=CosineSimilarity,
condition=Predicate::NotEquals{
key="page",
value="hidden",
},
)
ahnlich-ai : AI-прокси для общения с ahnlich-db , получая необработанные входные данные, превращаясь в встраивания и хранение в DB. Он расширяет возможности, позволяя разработчикам/инженерам выдавать запросы в тот же хранилище, используя необработанный вход, такой как изображения/текст. Он включает в себя несколько готовых моделей, которые можно выбрать для индекса и запроса хранилища. CREATESTORE my_store QUERYMODEL all-minilm-l6-v2 INDEXMODEL all-minilm-l6-v2
// example query
create_store(
store="my_store",
index_model="all-minilm-l6-v2",
query_model="all-minilm-l6-v2",
)
ahnlich-client-rs : Rust Client для ahnlich-db и ahnlich-ai при поддержке объединения.
ahnlich-client-py : Python Client для ahnlich-db и ahnlich-ai при поддержке объединения.
ahnlich-cli : CLI для запроса ahnlich-db и ahnlich-ai

ahnlich-db , ahnlich-ai и ahnlich-cli упакованы и выпущены в виде двоичных файлов для нескольких платформ наряду с изображениями Docker
DB может использоваться без прокси -сервера AI для более тонкого контроля сгенерированных векторных встроений, поскольку все клиенты поддерживают оба
Note :
Аргументы и команды должны быть переданы в кавычках. Например: docker run <image_name> "ahnlich-db run --enable-tracing --port 8000"
CLI поставляется упакован в изображения Docker.
Вы можете скачать двоичные файлы Ahnlich для ai и db из выпусков GitHub.
wget :
wget https://github.com/deven96/ahnlich/releases/download/bin%2Fdb%2F0.0.0/aarch64-darwin-ahnlich-db.tar.gz Извлеките файл:
tar -xvzf aarch64-darwin-ahnlich-db.tar.gz Запустите бинарный:
./ahnlich-db Замените aarch64-darwin-ahnlich-db.tar.gz на соответствующее имя файла для вашей архитектуры. Для ai загрузите соответствующий двоичный файл ai , извлеките его и запустите его с помощью ./ahnlich-ai .
Вы можете вытащить предварительно построенные изображения Docker для Ahnlich:
Ahnlich AI :
docker pull ghcr.io/deven96/ahnlich-ai:latest Ahnlich DB :
docker pull ghcr.io/deven96/ahnlich-db:latest Ниже приведен пример docker-compose.yaml Конфигурация для запуска как ahnlich-db , так и ahnlich-ai с трассировкой:
services :
ahnlich_db :
image : ghcr.io/deven96/ahnlich-db:latest
command : >
"ahnlich-db run --host 0.0.0.0
--enable-tracing
--otel-endpoint http://jaeger:4317"
ports :
- " 1369:1369 "
ahnlich_ai :
image : ghcr.io/deven96/ahnlich-ai:latest
command : >
"ahnlich-ai run --db-host ahnlich_db --host 0.0.0.0
--supported-models all-minilm-l6-v2,resnet-50
--enable-tracing
--otel-endpoint http://jaeger:4317"
ports :
- " 1370:1370 "
# optional jaeger service whenever --enable-tracing and
# --otel-endpoint is used
jaeger :
image : jaegertracing/all-in-one:${JAEGER_VERSION:-latest}
ports :
- " 16686:16686 "
- " 1888:1888 " # pprof extension
- " 8888:8888 " # Prometheus metrics exposed by the collector
- " 8889:8889 " # Prometheus exporter metrics
- " 4317:4317 " # otlp grpc
- " 4318:4318 " # otlp http Ниже приведен пример docker-compose.yaml Configuration с постоянством:
services :
ahnlich_db :
image : ghcr.io/deven96/ahnlich-db:latest
command : >
"ahnlich-db run --host 0.0.0.0
--enable-persistence --persist-location /root/.ahnlich/data/db.dat
--persistence-interval 300"
ports :
- " 1369:1369 "
volumes :
- " ./data/:/root/.ahnlich/data " # Persistence Location
ahnlich_ai :
image : ghcr.io/deven96/ahnlich-ai:latest
command : >
"ahnlich-ai run --db-host ahnlich_db --host 0.0.0.0
--supported-models all-minilm-l6-v2,resnet-50
--enable-persistence --persist-location /root/.ahnlich/data/ai.dat
--persistence-interval 300"
ports :
- " 1370:1370 "
volumes :
- " ./ahnlich_ai_model_cache:/root/.ahnlich/models " # Model cache storage
- " ./data/:/root/.ahnlich/data " # Persistence Location
Просмотреть руководство по взносу