Vemcache es una base de datos vectorial en memoria.
Vemcache puede considerarse como el equivalente de Redis para las bases de datos vectoriales.
docker pull faizchishtie/vemcachedocker run --rm -it -p 7070:7070 faizchishtie/vemcache:latest Agregue lo siguiente a su 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 Conéctese a Vemcache con un cliente TCP como telnet o nc .
Use telnet para conectarse a Vemcache
telnet 0.0.0.0 7070 O usar nc
nc 0.0.0.0 7070Una vez conectado, puede interactuar con el servidor VemCache enviando comandos.
Para insertar un vector en la base de datos, use el comando insertar seguido de los valores de vector:
insert 0.5 0.7 0.2Para insertar un vector con una clave especificada, use el comando Named_insert seguido de la clave y los valores del vector:
named_insert my_vector 0.5 0.7 0.2Para recuperar un vector de la base de datos utilizando su tecla, use el comando get seguido de la clave:
get my_vectorPara eliminar un vector de la base de datos utilizando su tecla, use el comando eliminar seguido de la tecla:
remove my_vectorPara calcular la similitud de coseno entre dos vectores, use el comando vcosina seguido de las claves de los dos vectores:
vcosine vector1 vector2Para encontrar los k vecinos más cercanos de un vector, use el comando KNN seguido de la clave del vector de consulta y el valor de k:
knn query_vector 3Para realizar la adición de elementos de dos vectores, use el comando VADD seguido de las claves de los dos vectores:
vadd vector1 vector2Para realizar una resta en elemento de dos vectores, use el comando VSUB seguido de las teclas de los dos vectores:
vsub vector1 vector2Para escalar un vector por un valor escalar, use el comando VScale seguido de la clave del vector y el valor escalar:
vscale vector1 2.0Para volcar la base de datos en un archivo JSON, use el comando volcado seguido de la ruta al archivo:
dump vemcache.jsonPara salir del cliente, presione Ctrl+C o escriba Quit (si usa Telnet).
Esto concluye el uso básico de Vemcache para las operaciones vectoriales. Para obtener operaciones más avanzadas y explicaciones detalladas de cada comando, consulte la documentación de 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.