Vemcache ist eine In-Memory-Vektor-Datenbank.
Vemcache kann als Redis -Äquivalent für Vektordatenbanken betrachtet werden.
docker pull faizchishtie/vemcachedocker run --rm -it -p 7070:7070 faizchishtie/vemcache:latest Fügen Sie Folgendes zu Ihrem docker-compose.yml hinzu
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 Stellen Sie mit einem TCP -Client wie telnet oder nc eine Verbindung zu Vemcache her.
Verwenden Sie telnet , um eine Verbindung zu Vemcache herzustellen
telnet 0.0.0.0 7070 Oder verwenden Sie nc
nc 0.0.0.0 7070Sobald Sie verbunden sind, können Sie mit dem Vemcache -Server interagieren, indem Sie Befehle senden.
Verwenden Sie den Befehl Einfügen, um einen Vektor in die Datenbank einzufügen, gefolgt von den Vektorwerten:
insert 0.5 0.7 0.2Verwenden Sie den Befehl named_insert, um einen Vektor mit einem angegebenen Schlüssel einzufügen, gefolgt von den Schlüssel- und Vektorwerten:
named_insert my_vector 0.5 0.7 0.2Verwenden Sie den Befehl GET, um einen Vektor aus der Datenbank mit dem Schlüssel zu rufen, gefolgt vom Schlüssel:
get my_vectorVerwenden Sie den Befehl entfernen, um einen Vektor aus der Datenbank mithilfe seiner Taste zu entfernen, gefolgt von der Taste:
remove my_vectorVerwenden Sie den Befehl vcosin, um die Ähnlichkeit der Cosinus zwischen zwei Vektoren zu berechnen, gefolgt von den Schlüssel der beiden Vektoren:
vcosine vector1 vector2Verwenden Sie den KNN -Befehl, gefolgt vom Schlüssel des Abfragevektors und den Wert von k:
knn query_vector 3Verwenden Sie den Befehl VADD, gefolgt von den Tasten der beiden Vektoren, um die Elementzusatz hinzuzufügen.
vadd vector1 vector2Verwenden Sie den Befehl VSUB, um die elemente Subtraktion zweier Vektoren durchzuführen, gefolgt von den Schlüssel der beiden Vektoren:
vsub vector1 vector2Verwenden Sie den Befehl vscale, um einen Vektor mit einem skalaren Wert zu skalieren, gefolgt vom Schlüssel des Vektors und des skalaren Werts:
vscale vector1 2.0Um die Datenbank in eine JSON -Datei abzugeben, verwenden Sie den Befehl Dump, gefolgt vom Pfad zur Datei:
dump vemcache.jsonDrücken Sie zum Beenden des Clients Strg+C oder tippen Sie mit Telnet ein (wenn Sie Telnet verwenden).
Damit schließt sich die grundlegende Verwendung von Vemcache für Vektoroperationen ab. Weitere erweiterte Operationen und detaillierte Erklärungen für jeden Befehl finden Sie in der Vemcache -Dokumentation.
# 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.