Supabase 详解 Postgres Language Server 的 Parser 实现
Supabase 更新了 Postgres Language Server 的 Parser 进展,选择基于 libpg_query 而非自研解析器来解析 SQL。团队通过 scan API 完成 tokenization,并借助 libpg_query 导出的 protobuf 定义处理 AST 节点,以应对 Postgres 复杂且不断演进的语法。
Supabase 更新了 Postgres Language Server 的 Parser 进展,选择基于 libpg_query 而非自研解析器来解析 SQL。团队通过 scan API 完成 tokenization,并借助 libpg_query 导出的 protobuf 定义处理 AST 节点,以应对 Postgres 复杂且不断演进的语法。
Intel Labs 与 Hugging Face 推出 SetFitABSA,一个用于少样本训练领域特定方面级情感分析(ABSA)模型的框架,已集成进 SetFit 库。
Supabase 11 月更新为 Pro 计划所有项目开放断点续传,单文件上传上限提升至 50GB。CLI 新增 `supabase login` 浏览器登录,Edge Functions 连接 Postgres 默认启用 SSL,Pro 项目可配置限时会话与非活跃超时。Shotgun 借助 Supabase 将数据库基础设施成本降低 83%。
Hugging Face Transformers 现已支持在 AMD Instinct GPU 上无需修改代码即可运行全部模型和任务,并原生集成 Flash Attention v2、Paged Attention、DeepSpeed、GPTQ 等加速工具。
Neon 推出与 PolyScale 的新集成,可全球分发并缓存数据,让读取查询在任何地区都保持低延迟,且无需跨区域复制。该集成面向 Serverless Postgres,目前已在 Neon 上线。
Supabase CLI 从 1.114.0 起支持自动登录,输入 supabase login 后会自动打开浏览器完成认证,无需再手动生成并粘贴 token。
这份指南教你用 AWS Lambda、CDK(TypeScript)和 Neon 搭建一个 Serverless API,实现单个 HTTP 端点从 Neon 数据库返回商品列表的 REST API,完整代码可在 GitHub 获取。
Neon 发布教程,介绍如何用 Neon、Kubernetes 和 Argo CD 搭建预览环境。开发者通常在本地环境编码后把代码推送到 GitHub 等平台,该方案将这一流程延伸到预览环境部署。
Neon 在 All Things Open 2023 上被反复问到“什么是 Serverless”,于是撰文解释这一概念。文章从 2014 年发布的 AWS Lambda 谈起,说明 Serverless 并非没有服务器,而是由云厂商按需分配和计费。
Supabase 发布教程,演示用 supabase-py 在 Flask 应用中接入 GitHub OAuth2.0 登录。教程基于 Flask 2.3.3,通过自定义 FlaskSessionStorage 存储 JWT,并将 flow_type 设为 pkce 以在服务端处理 OAuth 流程,最后创建 /signin/github 与 /callback 两个路由完成登录。
Supabase 发布 React Native 身份验证入门指南,覆盖 Sign in with Apple、Google One Tap sign-in 以及短信和 WhatsApp 登录等原生移动端机制。
Neon 工程师 George 基于开发 Neon serverless driver 的经验,介绍了如何让原本依赖 Node.js 的 NPM 包在 Vercel Edge Functions 等非 Node 环境中运行。许多 NPM 库默认假设运行在 Node.js 中,在其他环境会直接报错。
Supabase 发布 @supabase/ssr,用 cookie 存储用户会话,并更新 create-next-app 模板以兼容 Next.js 14。pgvector 在成本与查询吞吐上优于 Pinecone 且不牺牲准确率,同时 Supabase CLI 新增 Storage bucket 管理命令。
Hugging Face 为 Enterprise Hub 推出 Storage Regions,组织可自选模型与数据集的存储区域,目前支持 US 和 EU,Asia-Pacific 即将上线。非默认区域的仓库会直接显示 Region 标签,便于成员查看存放位置。官方称欧洲用户将仓库放在 EU 区域,上传和下载速度约比存放在 US 快 4-5 倍,并可用于满足 GDPR 合规要求。
Resend 与 React Email 宣布兼容 Next.js 14,可结合其稳定的 Server Actions 和 App Router 发送邮件。
Supabase 宣布已全面兼容 Next.js 14,覆盖 App Router 的 Client Components、Server Components。
Hugging Face 发布教程,介绍如何基于自家 GitHub 公开仓库代码微调代码模型,做出名为 HugCoder 的个人 Copilot。数据采集上,作者用 Python 多进程并行克隆仓库并过滤非代码文件,最终数据集取 transformers、diffusers、peft 等 star 数最高的 10 个 Hugging Face 公开仓库。
推荐理由:想用自家代码库训代码补全模型的,这篇给了从抓取、QLoRA 微调到本地 MLC 部署的完整流程和成本数字。
Hugging Face 发布教程,介绍如何用 Text Embeddings Inference(TEI)把开源 Embedding 模型部署到 Inference Endpoints,并支持大规模批量请求。
Hugging Face 发布 @gradio/lite,一个基于 Pyodide 的 JavaScript 库,让 Gradio 应用直接在浏览器中运行,无需服务端基础设施。
推荐理由:Gradio 应用可以完全跑在浏览器里,不用再为演示页养一台服务器,代价是首次加载要等 5-15 秒。
Resend 发布 OpenAPI 规范,完整描述其 API 的端点、参数与响应格式,可从 GitHub 仓库下载。该规范可直接导入 Postman 使用,也能配合 Insomnia、RapidAPI 等客户端,并支持生成 mock server、客户端 SDK 和自动化测试。
Retool 借助 GPT-4,为企业提供了一种快速、安全构建 AI 驱动应用的方式。
Supabase 用 dbpedia 数据集(100 万条 OpenAI 1536 维 embedding)对比 pgvector 与 Pinecone,在约 480 美元/月的同等预算下,pgvector 的 HNSW 索引比 Pinecone s1 方案多处理 1185% 的每秒查询数,且每月便宜 70 美元。
推荐理由:Supabase 用同一数据集和预算对比 pgvector 与 Pinecone,做向量检索选型或想省下托管费的可以看这份实测数字。
用 Expo、WatermelonDB 和 Supabase 可以搭建离线优先的 React Native 应用:WatermelonDB 基于 SQLite 做本地数据存储,通过 Supabase RPC 调用 Postgres 的 push/pull 两个函数完成同步,并用 Supabase Realtime 触发其他设备同步。
Postgres 16 的 psql 客户端新增连接字符串选项 ?sslrootcert=system,可简化与 Neon 数据库建立安全交互会话的流程。该选项让 psql 16 即使面对仍运行旧版本的 Neon 数据库也能使用,从而降低中间人(MITM)攻击风险。
Hugging Face 上已有超过 13 万个支持 ONNX 的模型可借助 ONNX Runtime 加速,ONNX Runtime 共支持 90 多个 Hugging Face 模型架构,涵盖 BERT、GPT2、T5、Whisper 等 11 个最热门架构。以 whisper-tiny 为例,用 ONNX Runtime 加速后单次推理平均延迟相比 PyTorch 最高提升 74.30%。
一份示例仓库展示了如何用 Astro 构建站点、部署到 Vercel,并结合 Vercel Edge Functions 与 Neon 实现自建分析。作者用同样方案运行自己的站点 paulie.dev,并说明如何用这些数据搭建仪表盘可视化。
Supabase 分享了一种 Postgres 动态表分区方法,用于解决单表存储 5 亿条聊天消息后查询变慢的问题,可在不阻塞查询、不宕机的前提下创建分区并迁移存量数据。文章以模拟聊天应用为例,演示了从建表、生成数据到动态分区的完整流程,并指出大表会导致 SELECT、INSERT 变慢,以及 vacuum 难以完成、数据相关性下降等问题。
Hugging Face 发布教程,演示非工程师如何零代码训练并部署 LLaMA 2 聊天机器人。流程分三步:在 Spaces 创建 AutoTrain Space,用 AutoTrain 对 Meta 的 Llama 2 7b 基础模型做指令微调(示例用 Alpaca 数据集,A10G Large 即可),再用 ChatUI 部署成可分享的聊天应用。
Resend 推出 Java SDK,版本 2.0.0,开发者可通过 Gradle 或 Maven 引入 com.resend:resend-java:2.0.0,在 JVM 上用 Java 发送邮件、创建域名和管理 API key。官方表示未来将支持 Kotlin 等 JVM 语言,并推出支持 Mono 和 Flux 的响应式版本。
Hugging Face 为 PRO 订阅用户推出 Inference for PROs,提供 Llama 3 Instruct 8B/70B、Mixtral 8x7B Instruct。
推荐理由:Hugging Face PRO 新增一批托管模型 API 与更高限流,想省掉自建推理的可以先拿它做原型。
Neon 博客解析了 pgvector 中向量搜索与 HNSW 索引的工作原理。向量嵌入封装文本语义,让 AI 模型判断文本间的语义相似度,而向量搜索负责从数据库中提取最相似的文本。文章围绕 HNSW 索引如何加速这一检索过程展开说明。
Neon 推出适用于 Vercel Edge Functions 的无服务器驱动,并演示了如何配合 Next.js 和免费的 Neon 无服务器 Postgres 数据库使用。作者创建了一个名为 Ping Thing 的演示项目来展示具体用法。
Neon 现已支持 Postgres 16,该版本带来多项性能与开发者体验改进,其中最受期待的是对 SQL/JSON 语法的扩展支持。
Hugging Face 梳理了在生产环境部署 LLM 的三类优化手段:8-bit 和 4-bit 低精度推理、Flash Attention 以及 Alibi、Rotary embeddings、MQA、GQA 等架构改进。
Neon 发布指南,介绍如何用其只读副本扩展 Prisma 应用。只读副本是主数据库的只读同步副本,可把读流量从主库卸载下来。指南涵盖只读副本的原理、在 Neon 中的工作方式,以及如何借此扩展 Prisma 应用。
Hugging Face 发布 Würstchen,一种文本条件扩散模型,其文本条件部分在高度压缩的潜空间中工作,实现 42x 空间压缩,推理比 Stable Diffusion XL 更快且显存占用更低。
推荐理由:Würstchen 以 42x 空间压缩把文生图推理显存和训练成本压到 SDXL 之下,显存吃紧的可以换它跑 1024 到 1536 分辨率。
Supabase 宣布新建数据库将默认搭载 pgvector v0.5.0,该版本新增 HNSW 索引,可用 CREATE INDEX ... USING hnsw (embedding vector_ip_ops) 在向量列上创建。
推荐理由:新库默认带 pgvector v0.5.0 的 HNSW 索引,做语义搜索的可以按文中参数重建索引换性能。
Resend 将全部 API Reference 文档集成进应用,用户在 Domains、Emails、API keys 等页面可直接查看相关方法,无需另开标签页。此次更新还修复了 SMTP 附件发送,以及 API 的主题、邮箱地址类型、冒号邮箱地址、base64 附件、中文字符、ASCII 邮箱地址校验和 tags 校验等问题。
Neon 发布教程,演示如何用 OpenAI 的 embedding、Postgres 扩展 pg_embedding 和 Neon 搭建语义搜索。此前其 AI 应用可提交创业点子并匹配 YCombinator 已投公司,在 Hacker News 和 Twitter 上获得 5,000+ 访问和 2,500+ 提交。
在 JavaScript 中解析 Postgres 的 JSON 数据时,大整数会因 JS 的 Number 精度限制而被静默截断,导致取到错误数值。Postgres 自 9.2 起提供原生 JSON 类型,但跨语言传输时需注意精度问题。