15 पॉइंट द्वारा GN⁺ 2024-08-14 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • AI सपोर्ट के साथ ब्राउज़र में सीधे चलने वाला Postgres sandbox
  • अनलिमिटेड Postgres databases तुरंत बनाए जा सकते हैं (जल्द ही S3 पर भी deploy करना संभव होगा)
  • हर database को एक large language model (LLM) के साथ pair किया जाता है, जिससे कई दिलचस्प use cases मिलते हैं:
    • CSV फ़ाइल को drag-and-drop करके table बनाना
    • रिपोर्ट बनाना और export करना
    • charts बनाना
    • database diagrams तैयार करना
  • सारा काम ब्राउज़र के अंदर लोकली किया जाता है

उपयोग डेमो

  • जब आप CSV फ़ाइलों को जल्दी query और visualize करना चाहते हों
  • जब आप ChatGPT से SQL लिखवाकर उसे असली database पर चलाकर देखना चाहते हों
  • जब आप कोई नया project plan कर रहे हों और database design AI को सौंपना चाहते हों

यह कैसे काम करता है

  • सभी queries ब्राउज़र के अंदर चलती हैं
  • यह PGlite की वजह से संभव है। यह Postgres का WASM version है, जो सीधे ब्राउज़र में चल सकता है

बनाने की प्रेरणा

  1. AI-आधारित development: Postgres और AI के interaction को फिर से सोचा गया
  2. Postgres sandboxing: ब्राउज़र में तेज़ और one-off execution संभव
  3. कम-लागत databases: बहुत कम लागत पर बड़ी संख्या में databases उपलब्ध कराने की संभावना

फीचर्स और उनका काम करने का तरीका

AI assistant

  • PGlite और GPT-4o को pair करके AI को database पर पूरा अधिकार दिया जाता है।
  • AI कई tasks को लगातार कर सकता है, जिससे अनुभव अधिक मानवीय लगता है।

CSV import और export

  • CSV फ़ाइल को drag-and-drop करते ही अपने-आप table बन जाती है।
  • AI CSV के headers और sample rows का विश्लेषण करके data types तय करता है।
  • SQL error आने पर AI खुद उसे ठीक करने की कोशिश करता है।

Charts

  • message में "chart" शब्द जोड़ने पर AI उपयुक्त query चलाकर chart बना देता है।
  • Chart.js का उपयोग करके charts render किए जाते हैं।

ER diagrams और migrations

  • AI CREATE और ALTER statements बनाकर असली database से ER diagram तैयार करता है।
  • postgres-meta के browser-compatible version का उपयोग करके PGlite tables को JavaScript में load किया जाता है और schema visualization tool से render किया जाता है।

Semantic search और RAG

  • pgvector extension का उपयोग करके ब्राउज़र के अंदर vector search को सपोर्ट किया जाता है।
  • Transformers.js का उपयोग करके text embeddings बनाई जाती हैं और उन्हें PGlite में store व query किया जाता है।

Deployment

  • PGlite databases को S3 पर deploy करके कम लागत में कई तरह के use cases को सपोर्ट करने की योजना है।

PGlite की गहराई से समझ

PGlite क्या है?

  • PGlite, Postgres का WASM build है, जो ब्राउज़र, Node.js और Bun में चल सकता है।
  • यह unit testing, local development और remote development के लिए आदर्श है।

Data persistence

  • Node में native file system और ब्राउज़र में IndexedDB तथा OPFS का support मिलता है।

Extension support

  • pgvector और live जैसे उपयोगी extensions का support है।

Technical overview

  • यह Postgres के single-user mode पर आधारित है, जिससे इसे WASM में चलाना संभव होता है।
  • Postgres की विभिन्न सुविधाओं को WASM के अनुरूप संशोधित किया गया है।

जल्द आ रहा है

  • databases को S3 पर deploy करके इंटरनेट से accessible बनाया जाएगा।
  • और अधिक file formats का support, database sharing, और database export फीचर्स जोड़े जाएंगे।

Open source

  • सारा काम open source के रूप में उपलब्ध है:
    • PGlite (Apache 2.0)
    • pg-gateway (MIT)
    • postgres-new (Apache 2.0)
    • transformers.js

GN⁺ का सार

  • postgres.new ब्राउज़र में चलने वाला Postgres sandbox है, जो AI सपोर्ट के साथ database tasks को आसान बनाता है।
  • PGlite के जरिए तेज़ और कम-लागत database creation संभव है, साथ ही कई AI-आधारित फीचर्स मिलते हैं।
  • data visualization, ER diagrams, semantic search जैसी क्षमताओं के कारण यह developers के लिए उपयोगी tool बन सकता है।
  • इसी तरह की सुविधाएँ देने वाले अन्य projects में Supabase और ElectricSQL शामिल हैं।

3 टिप्पणियां

 
yangeok 2024-08-20

यह supabase था।

 
GN⁺ 2024-08-14
Hacker News राय
  • postgres.new का उपयोग करके 3 डेटाबेस बनाने का अनुभव साझा किया गया

    • ग्राहक ऑर्डर डेटाबेस, issue tracking system, और family relationship model सफलतापूर्वक बनाए गए
    • family relationship model में cousins और uncles सहित जटिल रिश्तों को भी अच्छी तरह संभाला गया
    • कुछ परस्पर संबंध (जैसे sibling relationships) छूट गए थे, लेकिन डेटा की समीक्षा का अनुरोध करने पर उन्हें ठीक कर दिया गया
    • इसे बहुत उपयोगी टूल माना गया
  • इसे AI की सीमाएँ दिखाने वाला एक तकनीकी डेमो माना गया

    • इसने invalid SQL बनाया, जिससे error हुआ
    • जनरेट किया गया SQL disconnected tables का सेट बनाता है
    • सभी code की समीक्षा करने की ज़रूरत का उल्लेख किया गया
    • नए systems को अक्सर abstract या smart elements की ज़रूरत होती है, लेकिन यह system केवल simple systems बनाता है
    • code सीधे लिखना ज़्यादा आसान है
    • संगठन के भीतर LLM merge requests पर रोक लगा दी गई, क्योंकि code optimized नहीं था और उसमें bugs बहुत थे
    • मौजूदा LLM design के साथ इसे पार करना मुश्किल है
  • "New database" बटन पर क्लिक करने पर कुछ भी नहीं होता

    • Github में लॉग इन नहीं किया था, लेकिन AI feature का उपयोग न करने का इरादा था
    • यह देखकर निराशा हुई कि chatGPT अनिवार्य है
    • local-first approach को AI तक सीमित करने पर असंतोष जताया गया
  • बहुत प्रभावशाली है

  • राय थी कि AI features के बिना भी इसका उपयोग किया जा सके तो अच्छा होगा

    • पूछा गया कि क्या WASM build, Postgres को embedded DB के रूप में इस्तेमाल करने की सुविधा देता है
  • इस टूल को database design में बहुत मददगार माना गया

    • पूछा गया कि क्या मौजूदा database schema को diagrams के रूप में बनाया जा सकता है
    • Supabase migration style या Flyway जैसे tools से विकसित schema को diagram के रूप में दिखाने की सुविधा enterprise environment में बहुत मददगार होगी
  • AI/LLM और मौजूदा workflow के संयोजन को लेकर संदेह था, लेकिन इस मामले में इसे ठीक माना गया

    • LLM, database में insert करने के लिए data generate करने में उपयोगी है
    • यह समझ में आता है कि इसे mobile पर क्यों इस्तेमाल नहीं किया जा सकता, लेकिन mobile users के लिए summary information देने का अनुरोध किया गया
  • Supabase engineer के रूप में बताया गया कि Electric team के साथ इस टूल को बनाना मज़ेदार था

    • तकनीकी बाधाओं को पार करने की प्रक्रिया रही
    • feedback को शामिल करते हुए इसे लगातार बेहतर बनाया जाएगा
  • laptop या desktop पर postgres.new का उपयोग करने की सलाह दी गई

    • कहा गया कि Webkit/Safari का उपयोग करने में कोई समस्या नहीं है