- Doğrudan tarayıcıda çalışan, yapay zeka destekli bir Postgres sandbox'ı
- Anında sınırsız sayıda Postgres veritabanı oluşturulabiliyor (yakında S3'e de dağıtılabilecek)
- Her veritabanı bir büyük dil modeli (LLM) ile eşleştirilerek çeşitli ilgi çekici kullanım senaryoları sunuyor:
- CSV dosyalarını sürükleyip bırakarak tablo oluşturma
- Rapor oluşturma ve dışa aktarma
- Grafik oluşturma
- Veritabanı diyagramları hazırlama
- Tüm işlemler tarayıcı içinde yerel olarak gerçekleştiriliyor
Kullanım demosu
- CSV dosyalarını hızlıca sorgulamak ve görselleştirmek istediğinizde
- ChatGPT kullanarak SQL yazıp bunu gerçek bir veritabanında çalıştırmak istediğinizde
- Yeni bir proje planlayıp veritabanı tasarımını yapay zekaya bırakmak istediğinizde
Nasıl çalışıyor
- Tüm sorgular tarayıcı içinde çalıştırılıyor
- Bu, Postgres'in tarayıcıda doğrudan çalışabilen WASM sürümü olan PGlite sayesinde mümkün oluyor
Geliştirme motivasyonu
- Yapay zeka destekli geliştirme: Postgres ile yapay zeka arasındaki etkileşim yeniden düşünüldü
- Postgres sandbox'ı: Tarayıcıda hızlı ve tek seferlik çalıştırma
- Uygun maliyetli veritabanları: Düşük maliyetle çok sayıda veritabanı sunma potansiyeli
Özellikler ve çalışma şekli
Yapay zeka asistanı
- PGlite ile GPT-4o eşleştirilerek veritabanı üzerinde tam yetki veriliyor.
- Yapay zeka birden fazla işi art arda gerçekleştirebildiği için daha insansı bir his veriyor.
CSV içe aktarma ve dışa aktarma
- CSV dosyalarını sürükleyip bırakarak otomatik olarak tablo oluşturma.
- Yapay zeka, veri türlerini belirlemek için CSV başlıklarını ve örnek satırları analiz ediyor.
- SQL hatası oluşursa yapay zeka bunu kendi kendine düzeltmeyi deniyor.
Grafikler
- Mesaja "chart" kelimesini eklerseniz yapay zeka uygun sorguyu çalıştırıp grafik oluşturuyor.
- Grafikler Chart.js kullanılarak render ediliyor.
ER diyagramları ve migration'lar
- Yapay zeka, gerçek veritabanında ER diyagramları oluşturmak için
CREATEveALTERifadeleri üretiyor. - PGlite tablolarını JavaScript'e yüklemek için tarayıcı uyumlu bir postgres-meta sürümü kullanılıyor ve şema görselleştirme aracıyla render ediliyor.
Anlamsal arama ve RAG
pgvectoreklentisi kullanılarak tarayıcı içinde vektör arama destekleniyor.- Transformers.js kullanılarak metin embedding'leri oluşturuluyor, PGlite'a kaydediliyor ve sorgulanıyor.
Dağıtım
- PGlite veritabanlarını S3'e dağıtarak düşük maliyetle çeşitli kullanım senaryolarını destekleme planı var.
PGlite'a derinlemesine bakış
PGlite nedir?
- PGlite, Postgres'in WASM derlemesidir; tarayıcı, Node.js ve Bun üzerinde çalışabilir.
- Unit test, yerel geliştirme ve uzaktan geliştirme için idealdir.
Veri kalıcılığı
- Node'da yerel dosya sistemi, tarayıcıda ise IndexedDB ve OPFS desteklenir.
Eklenti desteği
pgvectorvelivegibi kullanışlı eklentileri destekler.
Teknik genel bakış
- Postgres'in tek kullanıcılı modu temel alınarak WASM üzerinde çalışabilir hale getirildi.
- Çeşitli Postgres özellikleri WASM'e uyacak şekilde uyarlandı.
Yakında geliyor
- Veritabanlarını S3'e dağıtıp internet üzerinden erişilebilir hale getirme planı var.
- Daha fazla dosya biçimi desteği, veritabanı paylaşımı ve veritabanı dışa aktarma özellikleri eklenecek.
Açık kaynak
- Tüm çalışmalar açık kaynak olarak sunuluyor:
- PGlite (Apache 2.0)
- pg-gateway (MIT)
- postgres-new (Apache 2.0)
- transformers.js
GN⁺ özeti
- postgres.new, tarayıcıda çalışan bir Postgres sandbox'ı olarak yapay zeka desteğiyle veritabanı işlerini kolaylaştırabiliyor.
- PGlite sayesinde hızlı ve düşük maliyetli veritabanı oluşturma mümkün olurken, çeşitli yapay zeka tabanlı özellikler de sunuluyor.
- Veri görselleştirme, ER diyagramı üretimi, anlamsal arama gibi özellikleriyle geliştiriciler için faydalı bir araç olabilir.
- Benzer işlevler sunan diğer projeler arasında Supabase ve ElectricSQL bulunuyor.
3 yorum
Supabase'miş.
PGLite - Tarayıcıda Postgres çalıştırma
Hacker News görüşleri
postgres.new ile 3 veritabanı oluşturma deneyimini paylaşıyor
Bunu yapay zekanın sınırlarını gösteren bir teknik demo olarak değerlendiriyor
"New database" düğmesine tıklandığında hiçbir şey olmuyor
Oldukça etkileyici
Yapay zeka özelliği olmadan da kullanılabilse iyi olurdu görüşü var
Bu aracın veritabanı tasarımında çok yardımcı olduğunu düşünüyor
Yapay zeka/LLM ile mevcut iş akışlarının birleştirilmesine kuşkuyla yaklaşıyordu, ancak bu örnekte bunu olumlu buluyor
Bir Supabase mühendisi olarak bu aracı Electric ekibiyle birlikte geliştirmenin eğlenceli olduğunu söylüyor
postgres.new'i laptop veya masaüstünde kullanmaları yönünde yönlendirme yapılıyor