Skip to content

alexjolly28/web3-vector-db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vector Database on ICP

Welcome to our new vector_database project and to the internet computer development community.

What is ELNA's VectorDB

It is an open-source and fully on-chain vector database and vector similarity search engine, that helps AI applications on ICP.

This is released under the [open-source Apache License 2.0] in October 2024.

Instant Distance: fast HNSW indexing

Here we using HNSW algorthm to index the vecotr embeddings. Instance Distance is a fast pure-Rust implementation of the Hierarchical Navigable Small Worlds paper by Malkov and Yashunin for finding approximate nearest neighbors (ANN).

VectorDB Features

Storage Capabilities

  • Variable Dimension Storage: Our VectorDB supports the storage of vectors with varying dimensions, allowing for flexible data management.

Stability and Persistence

  • Stable Memory Support: VectorDB ensures data persistence across upgrades. The data is stored in stable memory during the pre-upgrade hook and is reloaded into the heap after the canister upgrade, maintaining data integrity and continuity.

Security and Access Control

  • Super User and Admin Management:

    • Super User: Each vector canister has a designated super user who has full control over the canister.

    • Admin Management: The super user can add or remove admin users who have permissions to read or write in the VectorDB.

    • Stable Structure Support: The security structure is also stable, ensuring that the access control mechanisms persist through upgrades.


Getting Started

To learn more before you start working with vector_database, see the following documentation available online:

If you want to start working on your project right away, you might want to try the following commands:

cd vector_database/
dfx help
dfx canister --help

Running the project locally

If you want to test your project locally, you can use the following commands:

# Starts the replica, running in the background
dfx start --background

# Deploys your canisters to the replica and generates your candid interface
dfx deploy

Once the job completes, your application will be available at http://localhost:4943?canisterId={asset_canister_id}.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •