Vemcache adalah database vektor dalam memori.
Vemcache dapat dianggap sebagai setara redis untuk database vektor.
docker pull faizchishtie/vemcachedocker run --rm -it -p 7070:7070 faizchishtie/vemcache:latest Tambahkan yang berikut ini ke docker-compose.yml Anda
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 Hubungkan ke VemCache dengan klien TCP seperti telnet atau nc .
Gunakan telnet untuk terhubung ke vemcache
telnet 0.0.0.0 7070 Atau gunakan nc
nc 0.0.0.0 7070Setelah terhubung, Anda dapat berinteraksi dengan server Vemcache dengan mengirim perintah.
Untuk memasukkan vektor ke dalam database, gunakan perintah insert yang diikuti oleh nilai vektor:
insert 0.5 0.7 0.2Untuk memasukkan vektor dengan kunci yang ditentukan, gunakan perintah named_insert diikuti oleh nilai kunci dan vektor:
named_insert my_vector 0.5 0.7 0.2Untuk mengambil vektor dari database menggunakan kuncinya, gunakan perintah GET diikuti oleh kunci:
get my_vectorUntuk menghapus vektor dari database menggunakan kuncinya, gunakan perintah hapus diikuti oleh kunci:
remove my_vectorUntuk menghitung kesamaan kosinus antara dua vektor, gunakan perintah vcosine diikuti oleh kunci dari dua vektor:
vcosine vector1 vector2Untuk menemukan tet tetangga terdekat vektor, gunakan perintah KNN diikuti oleh kunci vektor kueri dan nilai k:
knn query_vector 3Untuk melakukan penambahan dua vektor dari elemen, gunakan perintah VADD diikuti oleh kunci dari dua vektor:
vadd vector1 vector2Untuk melakukan pengurangan elemen dari dua vektor, gunakan perintah VSUB diikuti oleh kunci kedua vektor:
vsub vector1 vector2Untuk skala vektor dengan nilai skalar, gunakan perintah vScale diikuti oleh kunci vektor dan nilai skalar:
vscale vector1 2.0Untuk membuang database ke file JSON, gunakan perintah dump diikuti oleh jalur ke file:
dump vemcache.jsonUntuk keluar dari klien, tekan Ctrl+C atau ketik QUIT (jika menggunakan telnet).
Ini menyimpulkan penggunaan dasar vemcache untuk operasi vektor. Untuk operasi yang lebih canggih dan penjelasan terperinci dari setiap perintah, lihat dokumentasi 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.