"ähnlich" significa semelhante em alemão. Compreende várias ferramentas para uso e desenvolvimento, como:
ahnlich-db : armazenamento de valor de chave do vetor em memória para armazenar incorporações/vetores com metadados correspondentes (mapas de valor-chave). É um sistema poderoso que permite que os engenheiros AI/ML armazenem e pesquisem vetores semelhantes usando algoritmos lineares (cosseno, euclidiano) ou não linear (KDTREE). Ele também aproveita a pesquisa em valores de metadados para poder filtrar entradas usando valores de metadados. Um exemplo simples pode parecer 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 Proxy para se comunicar com ahnlich-db , recebendo entrada bruta, transformando-se em incorporações e armazenando dentro do banco de dados. Ele estende os recursos, permitindo que desenvolvedores/engenheiros emitam consultas para a mesma loja usando entrada bruta, como imagens/texto. Possui vários modelos prontos para uso que podem ser selecionados para índice e consulta de lojas. 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 : cliente de ferrugem para ahnlich-db e ahnlich-ai com suporte ao pool de conexões.
ahnlich-client-py : Python Client para ahnlich-db e ahnlich-ai com suporte ao pool de conexões.
ahnlich-cli : CLI para consultar ahnlich-db e ahnlich-ai

ahnlich-db , ahnlich-ai e ahnlich-cli são embalados e lançados como binários para várias plataformas ao lado de imagens do Docker
O banco de dados pode ser usado sem o proxy da IA para um controle de granulação mais fino das incorporações de vetor geradas, pois todos os clientes suportam ambos
Note :
Argumentos e comandos devem ser aprovados em cotações. Por exemplo: docker run <image_name> "ahnlich-db run --enable-tracing --port 8000"
A CLI vem embalada nas imagens do Docker.
Você pode baixar os binários Ahnlich para ai e db de dados do GitHub.
wget :
wget https://github.com/deven96/ahnlich/releases/download/bin%2Fdb%2F0.0.0/aarch64-darwin-ahnlich-db.tar.gz Extraia o arquivo:
tar -xvzf aarch64-darwin-ahnlich-db.tar.gz Execute o binário:
./ahnlich-db Substitua aarch64-darwin-ahnlich-db.tar.gz pelo nome de arquivo apropriado para sua arquitetura. Para ai , faça o download do binário ai correspondente, extrai-o e execute-o usando ./ahnlich-ai .
Você pode puxar as imagens do Docker pré -construído para Ahnlich:
Ahnlich ai :
docker pull ghcr.io/deven96/ahnlich-ai:latest Ahnlich DB :
docker pull ghcr.io/deven96/ahnlich-db:latest Abaixo está um exemplo de configuração docker-compose.yaml para executar o ahnlich-db e ahnlich-ai com rastreamento:
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 Abaixo está um exemplo de configuração docker-compose.yaml com persistência:
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
Visualizar guia de contribuição