CLIP və Elasticsearch istifadə edərək, təbii dildə şəkil axtarışını həyata keçirən proyekt.
İlk olaraq Elasticsearch servisində sizin aktiv Hosted deployment olmalıdır
Deployment-in Manage bölməsinə daxil olaraq, onun Elasticsearch Endpoint linkini əldə etmək mümkündür
Deployment-in login və şifrəsi, onu aktivləşdirdikdə istifadəçiyə təqdim edilir
Şəkillər haqqında məlumatların saxlanılacağı indeksi Dev tools bölməsi vasitəsilə də etmək mümkündür.
Əgər indeksi optimizasiya etmək fikriniz varsa o zaman onu Dev tools vasitəsilə qabaqcadan hazır etmək lazımdır
Axtarışın aparılacağı şəkilləri qabaqcadan hazırlayaraq images
qovluğunda yerləşdirmək lazımdır
Yuxarıda göstərilən etapları bitirdikdən sonra, lazım olan paketləri yükləməliyik
pip install elasticsearch pillow sentence-transformers
Qovluqda olan hər şəkili vektorlaşdırmaq üçün vector_generate.py faylını icra edirik
vector_generate.py
Fayl icra edilərkən bəzi məlumatların daxil edilməsi tələb olunacaq
Elasticsearch cloud host : Elasticsearch-dəki Deployment-in Endpoint ünvanı
Elasticsearch cloud username : Elasticsearch-dəki Deployment-in istifadəçi adı
Elasticsearch cloud password : Elasticsearch-dəki Deployment-in istifadəçi şifrəsi
Elasticsearch index name : Şəkillər haqqında məlumatların yüklənəcəyi indeksin adı
Full images path : Kompyüterinizdə şəkillərin saxlandığı qovluğun tam ünvanı
Model name : Vektorlaşmanı həyata keçirəcəyimiz modelin adı. Default olaraq bu clip-ViT-B-32
Məlumatları daxil etdikdən sonra, şəkillər növbə ilə vektorlaşdırılaraq, Elasticsearch-dəki qeyd etdiyiniz indeksə daxil ediləcək
İndeksə daxil edilən hər sənəd faylın adından və onun vektorundan ibarət olacaq
Qovluqda olan hər şəkili vektorlaşdırmaq üçün vector_generate.py faylını icra etmıək lazımdır
Axtarışa başlamaq üçün search.py faylını icra etmıək lazımdır
search.py
Fayl icra edilərkən bəzi məlumatların daxil edilməsi tələb olunacaq
Search query : Axtarılan şəklin mətni təsviri
Elasticsearch cloud host : Elasticsearch-dəki Deployment-in Endpoint ünvanı
Elasticsearch cloud username : Elasticsearch-dəki Deployment-in istifadəçi adı
Elasticsearch cloud password : Elasticsearch-dəki Deployment-in istifadəçi şifrəsi
Elasticsearch index name : Şəkillər haqqında məlumatların yüklənəcəyi indeksin adı
Model name : Vektorlaşmanı həyata keçirəcəyimiz modelin adı. Default olaraq bu clip-ViT-B-32
Məlumatları daxil etdikdən sonra, axtarılan şəklin mətni təsvirinə uyğun olan top 5 şəkil haqqında məlumat qaytarılacaq
Məlumatda şəklin ID-si, faylın adı və uyğunluq balı əks olunacaq
Əgər sorğuya uyğun top faylların sayını artırıb və ya azaltmaq istəsəniz, bunu search.py faylında k veriləninin dəyərini dəyişərək həyata keçirə bilərsiniz
k = 5 # Number of nearest neighbors