- Un bac à sable Postgres exécuté directement dans le navigateur, avec prise en charge de l’IA
- Possibilité de créer instantanément un nombre illimité de bases de données Postgres (déploiement sur S3 bientôt disponible)
- Chaque base de données est associée à un grand modèle de langage (LLM), ce qui ouvre à divers cas d’usage intéressants :
- Création de tables par glisser-déposer de fichiers CSV
- Génération et export de rapports
- Création de graphiques
- Création de diagrammes de base de données
- Toutes les opérations sont effectuées localement dans le navigateur
Démonstrations d’usage
- Quand vous voulez interroger et visualiser rapidement un fichier CSV
- Quand vous voulez utiliser ChatGPT pour écrire du SQL et l’exécuter sur une vraie base de données
- Quand vous planifiez un nouveau projet et souhaitez confier la conception de la base de données à l’IA
Fonctionnement
- Toutes les requêtes s’exécutent dans le navigateur
- Cela est rendu possible par PGlite, une version WASM de Postgres qui peut s’exécuter directement dans le navigateur
Pourquoi ce projet
- Développement piloté par l’IA : repenser l’interaction entre Postgres et l’IA
- Sandboxing de Postgres : exécution rapide et éphémère dans le navigateur
- Base de données à bas coût : le potentiel de proposer de nombreuses bases à faible coût
Fonctionnalités et fonctionnement
Assistant IA
- Association de PGlite et de GPT-4o pour donner à la base de données des autorisations complètes.
- L’IA peut enchaîner plusieurs tâches, ce qui la rend plus naturelle à utiliser.
Import et export CSV
- Création automatique de tables par glisser-déposer de fichiers CSV.
- L’IA analyse les en-têtes et des lignes d’exemple du CSV pour déterminer les types de données.
- En cas d’erreur SQL, l’IA tente de la corriger elle-même.
Graphiques
- Si vous ajoutez le mot "chart" dans un message, l’IA exécute la requête appropriée et génère un graphique.
- Les graphiques sont rendus avec Chart.js.
Diagrammes ER et migrations
- L’IA génère des instructions
CREATEetALTERafin de produire des diagrammes ER à partir de la base de données réelle. - Une version compatible navigateur de postgres-meta est utilisée pour charger les tables PGlite en JavaScript, puis les afficher avec un outil de visualisation de schéma.
Recherche sémantique et RAG
- Prise en charge de la recherche vectorielle dans le navigateur avec l’extension pgvector.
- Utilisation de Transformers.js pour générer des embeddings de texte, puis les stocker et les interroger dans PGlite.
Déploiement
- Prévoit de déployer les bases de données PGlite sur S3 afin de prendre en charge divers cas d’usage à faible coût.
Analyse approfondie de PGlite
Qu’est-ce que PGlite ?
- PGlite est une build WASM de Postgres, capable de s’exécuter dans le navigateur, Node.js et Bun.
- Idéal pour les tests unitaires, le développement local et le développement à distance.
Persistance des données
- Sur Node, prise en charge du système de fichiers natif ; dans le navigateur, prise en charge d’IndexedDB et d’OPFS.
Prise en charge des extensions
- Prise en charge d’extensions utiles comme
pgvectoretlive.
Aperçu technique
- Basé sur le mode mono-utilisateur de Postgres, ce qui permet son exécution dans WASM.
- Diverses fonctionnalités de Postgres ont été adaptées pour WASM.
Bientôt disponible
- Déploiement des bases de données sur S3 et accès via Internet à venir.
- Ajout prévu de la prise en charge de davantage de formats de fichiers, du partage de bases de données et de l’export de bases de données.
Open source
- Tout le travail est disponible en open source :
- PGlite (Apache 2.0)
- pg-gateway (MIT)
- postgres-new (Apache 2.0)
- transformers.js
Résumé de GN⁺
- postgres.new est un bac à sable Postgres qui fonctionne dans le navigateur et permet d’effectuer facilement des tâches liées aux bases de données grâce à l’assistance de l’IA.
- Avec PGlite, il devient possible de créer rapidement et à faible coût des bases de données, tout en profitant de diverses fonctionnalités pilotées par l’IA.
- Visualisation de données, génération de diagrammes ER, recherche sémantique : autant de fonctions qui peuvent en faire un outil utile pour les développeurs.
- Parmi les projets offrant des fonctionnalités similaires, on peut citer Supabase et ElectricSQL.
3 commentaires
C’était donc supabase.
PGLite - Exécuter Postgres dans le navigateur
Avis Hacker News
Partage d’expérience après avoir créé 3 bases de données avec postgres.new
Considéré comme une démo technique qui montre les limites de l’IA
Aucun changement ne se produit en cliquant sur le bouton "New database"
Très impressionnant
Souhait qu’il soit possible de l’utiliser sans fonctions d’IA
Cet outil est jugé très utile pour la conception de bases de données
Initialement sceptique sur l’association de l’IA/LLM avec les workflows existants, mais juge que cela fonctionne plutôt bien dans ce cas
Un ingénieur de Supabase indique qu’il a été amusant de développer cet outil avec l’équipe d’Electric
Indication d’utiliser postgres.new sur ordinateur portable ou de bureau