Vemcache est une base de données vectorielle en mémoire.
Vemcache peut être considéré comme l'équivalent redis pour les bases de données vectorielles.
docker pull faizchishtie/vemcachedocker run --rm -it -p 7070:7070 faizchishtie/vemcache:latest Ajoutez ce qui suit à votre docker-compose.yml
version: "3.7"
services:
vemcache:
image: faizchishtie/vemcache:latest
ports:
- "7070:7070"
environment:
- VEMCACHE_HOST=0.0.0.0
- VEMCACHE_PORT=7070
- VEMCACHE_SECRET=mysecret
git clone https://github.com/faizchishtie/vemcache.git
cd vemcachemake buildmake run Connectez-vous à VemCache avec un client TCP comme telnet ou nc .
Utilisez telnet pour se connecter à Vemcache
telnet 0.0.0.0 7070 Ou utilisez nc
nc 0.0.0.0 7070Une fois connecté, vous pouvez interagir avec le serveur Vemcache en envoyant des commandes.
Pour insérer un vecteur dans la base de données, utilisez la commande INSERT suivie des valeurs vectorielles:
insert 0.5 0.7 0.2Pour insérer un vecteur avec une touche spécifiée, utilisez la commande nommée_insert suivie des valeurs de la clé et du vecteur:
named_insert my_vector 0.5 0.7 0.2Pour récupérer un vecteur de la base de données à l'aide de sa clé, utilisez la commande get suivie de la clé:
get my_vectorPour supprimer un vecteur de la base de données à l'aide de sa touche, utilisez la commande de suppression suivie de la clé:
remove my_vectorPour calculer la similitude du cosinus entre deux vecteurs, utilisez la commande Vcosine suivie des clés des deux vecteurs:
vcosine vector1 vector2Pour trouver les K voisins les plus proches d'un vecteur, utilisez la commande KNN suivie de la clé du vecteur de requête et de la valeur de K:
knn query_vector 3Pour effectuer l'ajout d'élément de deux vecteurs, utilisez la commande VADD suivie des clés des deux vecteurs:
vadd vector1 vector2Pour effectuer une soustraction par élément de deux vecteurs, utilisez la commande VSub suivie des clés des deux vecteurs:
vsub vector1 vector2Pour mettre à l'échelle un vecteur par une valeur scalaire, utilisez la commande vScale suivie de la clé du vecteur et de la valeur scalaire:
vscale vector1 2.0Pour vider la base de données sur un fichier JSON, utilisez la commande Dump suivie du chemin vers le fichier:
dump vemcache.jsonPour quitter le client, appuyez sur Ctrl + C ou Type Quit (si vous utilisez Telnet).
Cela conclut l'utilisation de base de Vemcache pour les opérations vectorielles. Pour des opérations plus avancées et des explications détaillées de chaque commande, reportez-vous à la documentation Vemcache.
# User connects to Vemcache using telnet
$ telnet 0.0.0.0 7070
Trying 0.0.0.0...
Connected to 0.0.0.0.
Escape character is ' ^] ' .
# User inserts a vector with the key "vector_a"
named_insert vector_a 0.5 0.7 0.2
OK
# User inserts another vector with the key "vector_b"
named_insert vector_b 0.1 0.9 0.4
OK
# User retrieves the vector with the key "vector_a"
get vector_a
[0.5, 0.7, 0.2]
# User calculates the cosine similarity between "vector_a" and "vector_b"
vcosine vector_a vector_b
Cosine Similarity: 0.8693
# User finds the nearest neighbor of "vector_a" (k=2)
knn vector_a 2
ID: vector_a, Vector: [0.5, 0.7, 0.2]
ID: vector_b, Vector: [0.1, 0.9, 0.4]
# User performs element-wise addition of "vector_a" and "vector_b"
vadd vector_a vector_b
[0.6, 1.6, 0.6]
# User scales "vector_a" by a factor of 2
vscale vector_a 2.0
[1.0, 1.4, 0.4]
# User removes "vector_a" from the database
remove vector_a
OK
# User attempts to retrieve "vector_a" again (expecting an error)
get vector_a
null
# Dump vemcache db
dump vemcache.json
Database dump successful: vemcache.json
# User exits the session
quit
Connection closed by foreign host.