postgres.new:在浏览器中构建与AI协作的开源Postgres沙盒

新加坡内哥谈技术 2024-09-09 13:31:01 阅读 75

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

介绍一个名为postgres.new (https://postgres.new/)的浏览器内Postgres沙盒,它配备了AI助手。通过postgres.new,用户可以即时启动无限数量的Postgres数据库,这些数据库直接在浏览器中运行(未来还可以部署到S3)。每个数据库都与一个大型语言模型(LLM)配对,这为一些有趣的使用场景打开了大门:

拖放CSV导入(动态生成表格)生成并导出报告生成图表构建数据库图表

这一切都完全在本地浏览器中进行,类似于将Postgres和ChatGPT结合成一个界面。

几个有趣的用例:

用户拥有一个CSV文件,想要快速查询并可视化。虽然可以将其加载到Excel中,但如果用户熟悉SQL,更希望像查询数据库一样对其进行查询。用户向ChatGPT请求帮助编写SQL,但理想情况下希望在实际数据库中运行以确认其正确性。毕竟,LLM并不总是完美的。用户正在构建下一个副项目,是时候规划数据库了。虽然这已经做了1000次,但用户希望可以“描述”想要的内容,并让AI完成ER图和SQL迁移的工作。

工作原理

在postgres.new中的所有查询都直接在浏览器中运行,没有远程Postgres容器或WebSocket代理。这成为可能的关键在于PGlite,这是一个可以直接在浏览器中运行的Postgres的WASM版本。ElectricSQL的团队几个月前发布了PGlite,通过将真实的Postgres源代码编译为Web Assembly实现了这一点。

动机

Steve提到,他们在开发postgres.new时的几个目标:

AI驱动开发:他们希望重新想象Postgres与AI的交互。这为犯错误提供了很大的宽容度,因为AI有时会出错(开发者也是如此)。Postgres沙盒:PGlite在浏览器中运行,感觉快速且一次性。用户可以启动“无数的小象”来进行数据分析,使用的是我们日常开发中熟悉的Postgres界面。极低成本的数据库:团队一直在寻找为开发者提供更多更便宜数据库的方法。虽然PGlite仍处于初期阶段,但他们看到了它在启动数百万个廉价数据库(可以存储和读取自S3)方面的潜力。这涵盖了Supabase社区中看到的各种用例。

功能及其工作原理

那么,用户在postgres.new中究竟可以做些什么?这些功能是如何实现的?

AI助手:团队将PGlite与一个大型语言模型(当前为GPT-4o)配对,并赋予它对数据库的完全自主权,没有任何权限限制或用户确认。这一点非常重要,它为其他AI + Postgres工具所面临的难题打开了新大门。CSV导入和导出:用户可以直接将CSV文件拖放到聊天中,立即收到一个新表,其中的数据会自动导入。语言模型会扫描CSV的标题和一些示例行,以决定每列使用的数据类型。图表:图表在聊天中是一级功能。只需在消息中添加“图表”(或类似字词),AI就会使用SQL执行相应的查询,并生成代表数据的图表。ER图和迁移:通常在编写任何SQL之前会创建ER图。毕竟,当用户真正关心的是捕捉应用的数据和关系需求时,为什么要陷入SQL语法的困境?但是有了AI,这个工作流程发生了一些变化。语言模型可以在几秒钟内生成高质量的CREATE和ALTER语句。语义搜索和RAG:ElectricSQL团队一直在努力支持PGlite中的真实Postgres扩展(编译为WASM)。其中一个优先级较高的扩展是pgvector,它支持在浏览器中进行矢量搜索。

部署

Steve提到,团队预计将在本周末之前实现只读部署。这一点非常重要,因为在S3中托管一个PGLite数据库的成本非常低。

PGlite深度解析

Steve解释,PGlite是由ElectricSQL开发的,没有它,以上一切都不可能实现。PGlite是一个Postgres的WASM构建,打包成TypeScript/JavaScript客户端库。

即将推出

Steve表示,他们喜欢早期发布和频繁发布,因此还有许多功能在开发中,包括:

部署数据库:他们正在添加将数据库部署到S3的功能,并可从互联网上的任何地方访问它(初期为只读)。支持更多文件类型:他们计划添加对Word文档、图像(通过图像嵌入)等的支持。数据库共享:类似于CodeSandbox,用户很快将能够通过唯一URL与他人共享数据库。PGlite OPFS支持:数据库目前存储在IndexedDB中,团队将把这一存储移动到OPFS,以便直接在主机文件系统上存储文件。数据库导出:用户很快将能够运行pg_dump并将其恢复到任何Postgres数据库。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。