A logo of ahnlich showing connecting nodeAHNLICH

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-cliare 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

Rust programming language logo

ahnlich-client-rs: Rust client for ahnlich-db and ahnlich-ai with support for connection pooling

cargo add ahnlich_client_rs

Pyhton programming language logo

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