Ahnlich
A project by developers bringing vector database
and artificial intelligence powered semantic search abilities closer to you
How To Use
Ahnlich comprises of multiple tools for usage and development such as
- ahnlich-db: In-memory vector key value store for storing embeddings/vectors with corresponding metadata(key-value maps).
- ahnlich-ai: AI proxy to communicate with
ahnlich-db
, receiving raw input, transforming into embeddings, and storing within the DB
ahnlich-db
, ahnlich-ai
and ahnlich-cli
are packaged and released as binariesfor multiple platforms alongside docker images.
The DB can be used without the AI proxy for more fine grained control of the generated vector embeddings as all clients support both.
Installation
Using Docker
Ahnlich AI
docker pull ghcr.io/deven96/ahnlich-ai:latest
Ahnlich DB
docker pull ghcr.io/deven96/ahnlich-db:latest
Example Docker Compose
services:
ahnlich_db:
image: ghcr.io/deven96/ahnlich-db:latest
command: >
"ahnlich-db run --host 0.0.0.0"
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"
ports:
- "1370:1370"
Download Binaries
wget
wget https://github.com/deven96/ahnlich/releases/download/bin%2Fdb%2F0.0.0/aarch64-darwin-ahnlich-db.tar.gz
Extract the File
tar -xvzf aarch64-darwin-ahnlich-db.tar.gz
Run the binary
./ahnlich-db
Libraries
ahnlich-client-rs: Rust client for ahnlich-db and ahnlich-ai with support for connection pooling
cargo add ahnlich_client_rs
ahnlich-client-py: Python client for ahnlich-db and ahnlich-ai with support for connection pooling.
Using Poetry
poetry add ahnlich-client-py
Using Pip
pip3 install ahnlich-client-py