Une plate-forme de gestion et d'intégration des données prête à l'AI. LinkMl-Store fournit une couche d'abstraction sur plusieurs backends différents (y compris DuckDB, MongoDB, NEO4J et Syte de fichiers locaux), permettant des opérations de requête, d'index et de stockage courantes.
Pour une documentation complète, voir https://linkml.io/linkml-store/
Voir ces diapositives pour un aperçu de haut niveau.
AVERTISSEMENT LinkML-Store est toujours en cours de modifications et de refactorisation, les options API et Ligne de commande sont sujettes à modifier!
Installez, ajoutez des données, interrogez-la:
pip install linkml-store[all]
linkml-store -d duckdb:///db/my.db -c persons insert data/*.json
linkml-store -d duckdb:///db/my.db -c persons query -w "occupation: Bricklayer"
Indexez-le, recherchez-le:
linkml-store -d duckdb:///db/my.db -c persons index -t llm
linkml-store -d duckdb:///db/my.db -c persons search "all persons employed in construction"
Validez-le:
linkml-store -d duckdb:///db/my.db -c persons validate
La plupart des API de la base de données implémentent le modèle CRUD : créer, lire, mettre à jour, supprimer. LinkMl-Store ajoute la recherche et l'inférence à ce modèle, ce qui le rend crudsi .
La notion de «recherche» et «inférence» est destinée à être flexible et extensible, notamment:
LinkMl-Store est conçu pour fonctionner avec plusieurs backends, donnant une couche d'abstraction commune
Mongodb
Duckdb
Solr
Néo4j
Système de fichiers
À venir bientôt: tous les RDBS, tous les magasins Triplestore, NEO4J, HDF5, ChromAdb / Vector DBS ...
L'intention est de donner une union de toutes les caractéristiques de chaque backend. Par exemple, des requêtes à facettes analytiques sont fournies pour tous les backends, pas seulement SOLR.
De nombreux backends sont livrés avec leurs propres schémas d'indexation et de recherche. Classiquement, il s'agissait d'index basés sur Lucene, maintenant c'est une recherche sémantique à l'aide de LLM Embeddings.
Le magasin LinkML traite l'indexation comme une préoccupation orthogonale - vous pouvez composer différents schémas d'indexation avec différents backends. Vous n'avez pas besoin d'avoir une base de données vectorielle pour exécuter la recherche d'intégration!
Voir comment la recherche d'utilisation-sémantique
Todo - docs
LinkML-Store est soutenu par LinkML, qui permet de puissantes contraintes structurelles expressives et sémantiques.
Voir Indexation JSON
et intégrité référentielle
Il existe une API préliminaire suivant les principes Hateoas mis en œuvre à l'aide de Fastapi.
Pour démarrer, vous devez d'abord créer un fichier de configuration, par exemple db/conf.yaml :
Puis courez:
export LINKML_STORE_CONFIG=./db/conf.yaml
make api
L'API renvoie les liens ainsi que les objets de données, il est recommandé d'utiliser un plugin Chrome pour la visualisation JSON pour explorer l'API. TODO: Ajoutez des documents ici.
Les principaux points de terminaison sont:
http://localhost:8000/ - la racine de l'APIhttp://localhost:8000/pages/ - parcourir l'API via HTMLhttp://localhost:8000/docs - The Swagger UI make app
Voir ces diapositives pour plus de détails