لاستخدام؟ فئة VectorDB والوصول إلى وظائفها من خلال واجهة مستخدم جميلة ، اتبع هذه الخطوات:
أولاً ، استنساخ المستودع إلى جهازك المحلي:
git clone https://github.com/rishiraj/spanking.git
cd spanking لإدارة قاعدة بيانات المتجه الخاصة بك من خلال واجهة ويب بديهية ، يمكنك تشغيل البرنامج النصي app.py المتوفر:
python app.py سيبدأ هذا خادم ويب محلي. يمكنك بعد ذلك الوصول إلى واجهة المستخدم عن طريق التنقل إلى http://127.0.0.1:5000 في متصفح الويب الخاص بك.
VectorDB برمجيا إذا كنت تفضل العمل مع الكود ، فيمكنك التفاعل مع فئة VectorDB مباشرة. إليكم كيف:
إنشاء مثيل:
from spanking import VectorDB
vector_db = VectorDB ( model_name = 'BAAI/bge-base-en-v1.5' )يمكنك اختياريا تحديد نموذج محول الجملة المختلفين قبل التدريب عن طريق تمرير اسمه إلى المُنشئ.
إضافة نصوص:
texts = [ "i eat pizza" , "i play chess" , "i drive bus" ]
vector_db . add_texts ( texts )سيؤدي ذلك إلى تشفير النصوص إلى تضمينات وتخزينها في قاعدة البيانات.
ابحث عن نصوص أو صور مماثلة:
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 } " ) سيسترجع هذا أفضل 2 نصوص أو صور متشابهة إلى الاستعلام بناءً على تشابه جيب التمام. تقوم طريقة search بإرجاع قائمة من tuples ، حيث يحتوي كل tuple على النص ودرجة التشابه. يمكنك تحديد نوع البحث باستخدام المعلمة type ( 'text' للبحث عن نص و 'image' للبحث عن الصور).
حذف نص:
index = 1
vector_db . delete_text ( index )سيؤدي ذلك إلى إزالة النص والتضمين المقابل في الفهرس المحدد.
تحديث نص:
index = 0
new_text = "i enjoy eating pizza"
vector_db . update_text ( index , new_text )سيؤدي ذلك إلى تحديث النص والتضمين المقابل في الفهرس المحدد مع النص الجديد.
احفظ قاعدة البيانات:
vector_db . save ( 'vector_db.pkl' ) سيؤدي ذلك إلى حفظ الحالة الحالية لمثيل VectorDB إلى ملف يسمى "Vector_DB.PKL".
تحميل قاعدة البيانات:
vector_db = VectorDB . load ( 'vector_db.pkl' ) سيؤدي ذلك إلى تحميل مثيل VectorDB من الملف المسمى "Vector_DB.PKL" وإرجاعه.
تحويل إلى DataFrame:
df = vector_db . to_df () سيؤدي ذلك إلى تحويل الحالة الحالية لمثيل VectorDB إلى DataFrame Pandas.
تكرار على النصوص المخزنة:
for text in vector_db :
print ( text )الوصول إلى النصوص الفردية حسب الفهرس:
index = 2
text = vector_db [ index ]
print ( text )احصل على عدد النصوص:
num_texts = len ( vector_db )
print ( num_texts ) إليك مثال لتوضيح كيف يمكنك استخدام؟ فئة 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 ()) هذا المثال يوضح كيفية إنشاء؟ مثيل VectorDB ، إضافة نصوص ، ابحث عن نصوص مماثلة ، تحديث وحذف النصوص ، والتكرار على النصوص المخزنة.