Memmista est un service de recherche de vecteur haute performance écrit en rouille qui fournit une simple API HTTP pour stocker et récupérer des morceaux de texte avec leurs incorporations vectorielles associées. Il combine SQLite pour le stockage des métadonnées avec Usearch pour une recherche de similitude de vecteur efficace.
Insérez des morceaux de texte avec leurs incorporations dans une base de données spécifiée.
Recherchez des morceaux similaires en utilisant des incorporations vectorielles.
Déposez une base de données spécifique et son index vectoriel associé.
Le service peut être configuré à l'aide de variables d'environnement:
DATABASE_PATH : PATH TO SQLITE DATABASE FILE (par défaut: "merista.db")SERVER_HOST : adresse hôte pour se lier (par défaut: "127.0.0.1")SERVER_PORT : port à écouter (par défaut: 8083)LOG_LEVEL : Niveau de journalisation (par défaut: "info") .env avec votre configuration (facultatif)cargo runLe serveur démarrera et la documentation de l'API sera disponible sur:
curl -X POST http://localhost:8083/v1/insert
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"chunks": [{
"embedding": [0.1, 0.2],
"text": "Sample text",
"metadata": "{"source": "document1"}"
}]
} 'curl -X POST http://localhost:8083/v1/search
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"embeddings": [[0.1, 0.2]],
"num_results": 5
} ' Le projet utilise plusieurs dépendances clés:
Pour une liste complète des dépendances, consultez le fichier cargo.toml.
Ce projet est concédé sous licence GNU General Public License v3.0 (GPL-3.0) - Voir ci-dessous pour un résumé:
Licence publique générale GNU V3.0 (GPL-3.0)
Autorisations:
Conditions:
Limites:
Pour le texte complet de la licence, consultez la licence ou visitez https://www.gnu.org/licenses/gpl-3.0.en.html