background image

Σχεδιασμός και Υλοποίηση εξειδικευμένου chatbot για διαδικτυακές πλατφόρμες

 

47

 

2024 [22]. Από αυτά, τα πιο γνωστά είναι το Milvus, το Pinecone, το Weaviate, το Qdrant και 

το ChromaDB. 

Μια συγκριτική επισκόπηση των επικρατέστερων διανυσματικών βάσεων, με κριτήρια τον 

τρόπο  ανάπτυξης,  τον  υποκείμενο  αλγόριθμο  Προσεγγιστικού  Κοντινότερου  Γείτονα 

(Approximate Nearest Neighbor, ANN) και την καταλληλόλητα ανά περίπτωση χρήσης, δίνεται 

στον Πίνακα 4. Η επιλογή του ChromaDB για την παρούσα εργασία αιτιολογείται από την 

απλότητα της ενσωματωμένης λειτουργίας του, που ταιριάζει σε ένα ερευνητικό πρωτότυπο με 

μερικές χιλιάδες έγγραφα. 

Πίνακας 4: Συγκριτική επισκόπηση διανυσματικών βάσεων δεδομένων 

Σύστημα

 

Τύπος

 

Αλγόριθμος ANN

 

Ανάπτυξη

 

Καταλληλότητα

 

ChromaDB

 

Ενσωματωμένο

 

HNSW

 

Embedded / τοπικά

 

Πρωτότυπα, έρευνα 

 

Milvus

 

Cloud-native

 

HNSW, IVF, 

DiskANN

 

Server / cluster

 

Παραγωγή μεγάλης κλίμακας

 

Pinecone

 

Διαχειριζόμενο 

(SaaS)

 

Ιδιόκτητος

 

Νέφος

 

Εμπορική χρήση χωρίς 

διαχείριση

 

Weaviate

 

Server

 

HNSW

 

Server

 

Υβριδική αναζήτηση

 

Qdrant

 

Server

 

HNSW

 

Server

 

Φιλτράρισμα με μεταδεδομένα

 

 

Πίσω  από  όλα  αυτά  τα  συστήματα  κρύβεται  το  ίδιο  βασικό  αλγοριθμικό  πρόβλημα:  η 

αναζήτηση  κοντινότερου  γείτονα  (k-Nearest  Neighbor,  k-NN)  σε  χώρους  εκατοντάδων  ή 

χιλιάδων  διαστάσεων.  Η  ακριβής  αναζήτηση  είναι  υπολογιστικά  απαγορευτική  για  μεγάλες 

συλλογές, οπότε στην πράξη χρησιμοποιούνται αλγόριθμοι ANN που θυσιάζουν λίγη ακρίβεια 

για να κερδίσουν πολλή ταχύτητα. Δύο τέτοιοι αλγόριθμοι κυριαρχούν σήμερα στο πεδίο. Ο 

πρώτος είναι ο HNSW (Hierarchical Navigable Small World), που εισήχθη από τους Malkov 

και Yashunin [18] στο IEEE Transactions on Pattern Analysis and Machine Intelligence και 

βασίζεται σε μια ιεραρχία γράφων με ιδιότητες small world. Ο δεύτερος είναι η οικογένεια 

FAISS  (Facebook  AI  Similarity  Search)  από  τη  Meta  [14],  που  υλοποιεί  διάφορες  τεχνικές 

κβαντοποίησης και τρέχει αποδοτικά τόσο σε CPU όσο και σε GPU.