Untuk menggunakan? Kelas VectorDB dan mengakses fungsinya melalui UI yang indah, ikuti langkah -langkah ini:
Pertama, klon repositori ke mesin lokal Anda:
git clone https://github.com/rishiraj/spanking.git
cd spanking Untuk mengelola database vektor Anda melalui antarmuka web yang intuitif, Anda dapat menjalankan skrip app.py yang disediakan:
python app.py Ini akan memulai server web lokal. Anda kemudian dapat mengakses UI dengan menavigasi ke http://127.0.0.1:5000 di browser web Anda.
VectorDB secara terprogram Jika Anda lebih suka bekerja dengan kode, Anda dapat berinteraksi dengan kelas VectorDB secara langsung. Begini caranya:
Buat contoh:
from spanking import VectorDB
vector_db = VectorDB ( model_name = 'BAAI/bge-base-en-v1.5' )Anda secara opsional dapat menentukan model transformator kalimat pra-terlatih yang berbeda dengan menyerahkan namanya kepada konstruktor.
Tambahkan teks:
texts = [ "i eat pizza" , "i play chess" , "i drive bus" ]
vector_db . add_texts ( texts )Ini akan menyandikan teks ke dalam embeddings dan menyimpannya di database.
Cari teks atau gambar serupa:
text_query = "we play football"
text_results = vector_db . search ( text_query , top_k = 2 , type = 'text' )
print ( "Text search results:" )
for text , similarity in text_results :
print ( f"Text: { text } , Similarity: { similarity } " )
image_url = "https://example.com/image.jpg"
image_results = vector_db . search ( image_url , top_k = 2 , type = 'image' )
print ( " n Image search results:" )
for text , similarity in image_results :
print ( f"Text: { text } , Similarity: { similarity } " ) Ini akan mengambil teks atau gambar paling mirip teratas dengan kueri berdasarkan kesamaan cosinus. Metode search mengembalikan daftar tupel, di mana setiap tuple berisi teks dan skor kesamaannya. Anda dapat menentukan jenis pencarian menggunakan parameter type ( 'text' untuk pencarian teks dan 'image' untuk pencarian gambar).
Hapus teks:
index = 1
vector_db . delete_text ( index )Ini akan menghapus teks dan embedding yang sesuai pada indeks yang ditentukan.
Perbarui teks:
index = 0
new_text = "i enjoy eating pizza"
vector_db . update_text ( index , new_text )Ini akan memperbarui teks dan embedding yang sesuai pada indeks yang ditentukan dengan teks baru.
Simpan database:
vector_db . save ( 'vector_db.pkl' ) Ini akan menyimpan status instance VectorDB saat ini ke file bernama 'vector_db.pkl'.
Muat database:
vector_db = VectorDB . load ( 'vector_db.pkl' ) Ini akan memuat instance VectorDB dari file bernama 'vector_db.pkl' dan mengembalikannya.
Konversi ke DataFrame:
df = vector_db . to_df () Ini akan mengonversi status instance VectorDB saat ini menjadi DataFrame PANDAS.
ITEATER OVER TEKS YANG DITERIMA:
for text in vector_db :
print ( text )Akses masing -masing teks dengan indeks:
index = 2
text = vector_db [ index ]
print ( text )Dapatkan jumlah teks:
num_texts = len ( vector_db )
print ( num_texts ) Berikut adalah contoh untuk menunjukkan bagaimana Anda dapat menggunakan? Kelas VectorDB :
from spanking import VectorDB
vector_db = VectorDB ()
# Add texts to the database
texts = [ "i eat pizza" , "i play chess" , "i drive bus" ]
vector_db . add_texts ( texts )
# Search for similar texts
query = "we play football"
top_results = vector_db . search ( query , top_k = 2 )
print ( "Top results:" )
for text , similarity in top_results :
print ( f"Text: { text } , Similarity: { similarity } " )
# Update a text
vector_db . update_text ( 1 , "i enjoy playing chess" )
# Delete a text
vector_db . delete_text ( 2 )
# Save the database
vector_db . save ( 'vector_db.pkl' )
# Load the database
loaded_vector_db = VectorDB . load ( 'vector_db.pkl' )
# Iterate over the stored texts in the loaded database
print ( " n Stored texts in the loaded database:" )
for text in loaded_vector_db :
print ( text )
# Convert to dataframe
df = loaded_vector_db . to_df ()
print ( df . head ()) Contoh ini menunjukkan cara membuat? VectorDB instance, tambahkan teks, cari teks yang serupa, perbarui dan hapus teks, dan beralih ke atas teks yang disimpan.