vemcache
1.0.0
Vemcache是一個內存矢量數據庫。
可以將vemcache視為矢量數據庫的重新等效物。
docker pull faizchishtie/vemcachedocker run --rm -it -p 7070:7070 faizchishtie/vemcache:latest將以下內容添加到您的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使用TCP客戶端(例如telnet或nc連接到Vemcache。
使用telnet連接到Vemcache
telnet 0.0.0.0 7070或使用nc
nc 0.0.0.0 7070連接後,您可以通過發送命令與Vemcache服務器進行交互。
要將向量插入數據庫中,請使用insert命令,然後使用向量值:
insert 0.5 0.7 0.2要使用指定密鑰插入向量,請使用nuper_insert命令,然後使用鍵和向量值:
named_insert my_vector 0.5 0.7 0.2要使用其密鑰從數據庫中檢索向量,請使用get命令,然後使用鍵:
get my_vector要使用其密鑰從數據庫中刪除向量,請使用remove命令,然後使用鍵:
remove my_vector要計算兩個向量之間的餘弦相似性,請使用vcosine命令,然後使用兩個向量的鍵:
vcosine vector1 vector2要找到向量的k最近的鄰居,請使用knn命令,然後使用查詢向量的鍵和k的值::
knn query_vector 3要執行兩個向量的元素添加,請使用vadd命令,然後使用兩個向量的鍵:
vadd vector1 vector2要執行兩個向量的元素減法,請使用VSUB命令,然後使用兩個向量的鍵:
vsub vector1 vector2要按標量值擴展向量,請使用vScale命令,然後使用向量的鍵和標量值:
vscale vector1 2.0要將數據庫轉移到JSON文件中,請使用dump命令,然後使用該文件的路徑:
dump vemcache.json要退出客戶端,請按CTRL+C或鍵入退出(如果使用Telnet)。
這是vemcache用於向量操作的基本用法。有關每個命令的更高級操作和詳細說明,請參閱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.