postgresml

GitHub
6.7k 362 中等 1 次阅读 4天前MIT语言模型数据工具Agent图像开发框架
AI 解读 由 AI 自动生成,仅供参考

PostgresML 是一款强大的 PostgreSQL 扩展,旨在让开发者直接在数据库内运行机器学习和人工智能应用。它巧妙地将数据存储与模型推理合二为一,利用 GPU 加速计算,彻底改变了传统 AI 开发中需要频繁在数据库与外部模型服务之间搬运数据的低效模式。

过去,构建 ML/AI 系统往往面临数据量大、动态性强导致的传输瓶颈和延迟问题。PostgresML 通过将模型“移动”到数据所在的地方,不仅大幅提升了处理效率(推理速度比传统 HTTP 服务快 8-40 倍),还显著增强了数据隐私与安全性。它原生支持来自 Hugging Face 的大语言模型,内置完整的 RAG(检索增强生成)流水线,涵盖文本分块、嵌入、排序及转换等功能,同时集成 pgvector 实现高效的向量相似度搜索。

这款工具特别适合后端工程师、数据科学家以及希望简化 AI 架构的开发团队。无论是需要快速原型验证的研究人员,还是追求高并发、低延迟生产环境的工程师,都能通过熟悉的 SQL 接口轻松调用先进的 AI 能力,无需学习复杂的新技术栈或维护额外的基础设施。借助 PostgresML,你可以用更少的代码和更简单的架构,构建出高性能、可扩展的智能应用。

使用场景

某电商公司的数据团队需要每天对百万级用户评论进行情感分析和关键词提取,以实时监控产品口碑。

没有 postgresml 时

  • 数据搬运耗时:必须将海量评论数据从 PostgreSQL 导出到独立的 Python 推理服务,网络传输和序列化导致显著延迟。
  • 架构复杂难维:需要额外维护一套包含 GPU 服务器、模型加载服务和消息队列的独立基础设施,运维成本高昂。
  • 实时性差:由于批处理和数据同步的开销,情感分析结果往往滞后数小时,无法支持实时的运营决策。
  • 隐私风险高:敏感的用户评论数据在数据库与外部模型服务之间频繁传输,增加了数据泄露的潜在风险。

使用 postgresml 后

  • 库内即时计算:直接在 SQL 语句中调用 GPU 加速的 LLM 模型,数据无需出库即可完成百万条记录的推理,效率提升数十倍。
  • 架构极简统一:仅需在现有 PostgreSQL 中安装扩展即可复用原有算力资源,彻底移除了独立的模型服务层和复杂的数据管道。
  • 毫秒级实时反馈:用户提交评论后可立即触发数据库内的自动分析流程,运营大屏能秒级更新情感趋势。
  • 数据不出库更安全:模型与数据在同一环境中运行,消除了网络传输环节,天然满足严格的数据隐私合规要求。

postgresml 通过将 GPU 算力无缝融入数据库内核,让开发者能用简单的 SQL 语句构建高性能、低延迟的 AI 应用,彻底终结了数据与模型分离的架构痛点。

运行环境要求

操作系统
  • Linux
GPU
  • 可选但推荐用于加速
  • 支持 NVIDIA GPU(利用 CUDA),具体型号和显存大小取决于所选模型(未明确指定最低要求)
内存

未说明(取决于数据量和模型大小)

依赖
notes该工具主要作为 PostgreSQL 的扩展运行。官方推荐的快速启动方式是使用提供的 Docker 镜像(ghcr.io/postgresml/postgresml),该镜像已预装所有必要依赖。支持在数据库内直接运行 Hugging Face 模型进行推理和训练。虽然支持 GPU 加速,但未强制要求,无 GPU 时可使用 CPU 运行。自托管需开放端口 5432 (数据库) 和 8000 (API)。
python未说明(通过 Docker 镜像或 PostgreSQL 扩展使用,客户端库如 Korvus 支持 Python)
PostgreSQL
pgml (Postgres 扩展)
pgvector
Docker (自托管推荐方式)
postgresml hero image

快速开始

Logo

PostgreSQL + GPU,用于机器学习和人工智能应用。

| 文档 | 博客 | Discord |


为什么要在 PostgreSQL 中进行机器学习和人工智能?

机器学习与人工智能系统的数据规模通常比模型本身更大、更动态。将模型迁移到数据库中,而不是不断将数据传输到模型中,这种方式更加高效、易于管理且可靠。

架构

Logo
PostgresML 是一个功能强大的 PostgreSQL 扩展,可将数据存储与机器学习推理无缝结合在您的数据库中。通过集成这些功能,PostgresML 消除了对独立系统和数据传输的需求,使您能够直接在数据所在的位置执行机器学习操作。

功能概览

  • 数据库内机器学习/人工智能:直接在 PostgreSQL 中运行机器学习和人工智能任务
  • GPU 加速:利用 GPU 提供的算力,实现更快的计算和模型推理
  • 大型语言模型:集成并使用来自 Hugging Face 的最先进语言模型
  • RAG 流程:内置函数用于文本分块、嵌入、排序和转换
  • 向量搜索:通过 pgvector 集成实现高效的相似性搜索
  • 多样化的机器学习算法:提供 47 种以上的分类和回归算法
  • 高性能:相比基于 HTTP 的模型服务,推理速度提升 8 至 40 倍
  • 可扩展性:支持每秒数百万笔事务,并可水平扩展
  • 自然语言处理任务:具备广泛的自然语言处理能力
  • 安全性:通过将模型与数据保存在一起,增强数据隐私
  • 无缝集成:可与现有的 PostgreSQL 工具和客户端库协同工作

开始使用

使用 PostgresML 的唯一先决条件是安装了我们的开源 pgml 扩展的 PostgreSQL 数据库。

PostgresML 云服务

我们的无服务器云服务是入门最简单且推荐的方式。

注册免费的 PostgresML 账户。您将在几秒钟内获得一个免费数据库,同时享有 GPU 计算能力和最先进的语言模型。

自托管

如果您不想使用我们的云服务,也可以选择自托管。

docker run \
    -it \
    -v postgresml_data:/var/lib/postgresql \
    -p 5433:5432 \
    -p 8000:8000 \
    ghcr.io/postgresml/postgresml:2.10.0 \
    sudo -u postgresml psql -d postgresml

更多详细信息,请参阅我们的《Docker 快速入门》文档:[https://postgresml.org/docs/open-source/pgml/developers/quick-start-with-docker]。

生态系统

我们还开发了一系列专门用于与 PostgresML 配合使用的工具和库。请记住,PostgresML 是一个运行在 PostgreSQL 内部的扩展,因此您可以使用 psql 连接,并借助任何您喜爱的工具和客户端库(如 psycopg)来连接和执行查询。

PostgresML 特定的客户端库:

  • Korvus:Korvus 是一个 Python、JavaScript、Rust 和 C 语言的搜索 SDK,可在单个数据库查询中统一整个 RAG 流程。
  • postgresml-django:postgresml-django 是一个 Python 模块,用于将 PostgresML 与 Django ORM 集成。

推荐的 PostgreSQL 连接池:

  • pgcat:pgcat 是一个支持分片、负载均衡和故障转移的 PostgreSQL 连接池。

大型语言模型

PostgresML 将模型直接部署到您的数据上,从而消除了昂贵且耗时的数据传输需求。这种方法显著提升了 AI 驱动应用的性能、安全性和可扩展性。

通过在数据库内运行模型,PostgresML 实现了以下优势:

  • 降低延迟并提高查询性能
  • 增强数据隐私和安全性
  • 简化基础设施管理
  • 与现有数据库操作无缝集成

Hugging Face

PostgresML 支持 Hugging Face 模型中心上提供的多种最先进的深度学习架构。这种集成使您能够:

  • 访问数千个预训练模型
  • 使用前沿的自然语言处理、计算机视觉和其他 AI 模型
  • 轻松尝试不同的架构

OpenAI 及其他提供商

虽然云端的大型语言模型提供商能够提供强大的功能,但从数据库内部调用 API 可能会带来延迟、安全风险以及潜在的合规性问题。目前,PostgresML 尚不直接支持与 OpenAI 等远程 LLM 提供商的集成。

RAG

PostgresML 可以将您的 PostgreSQL 数据库转变为一个功能强大的向量数据库,适用于检索增强生成(RAG)应用。它利用 pgvector 实现高效的嵌入存储和检索。

我们的 RAG 实现基于四个关键的 SQL 函数:

  1. 分块:将文本拆分为易于管理的片段
  2. 嵌入:使用预训练模型生成文本的向量嵌入
  3. 排序:对嵌入进行相似性搜索
  4. 转换:应用语言模型进行文本生成或转换

有关如何使用 PostgresML 进行 RAG 的更多信息,请参阅我们的《统一 RAG》指南:[https://postgresml.org/docs/open-source/pgml/guides/unified-rag]。

分块

pgml.chunk 函数使用指定的分词器对文档进行分块。这通常在嵌入之前完成。

pgml.chunk(
    splitter TEXT,    -- 分词器名称
    text TEXT,        -- 要嵌入的文本
    kwargs JSON       -- 可选参数(见下文)
)

更多信息请参阅 pgml.chunk 文档

嵌入

pgml.embed 函数使用数据库内的模型从文本中生成嵌入向量。

pgml.embed(
    transformer TEXT,
    "text" TEXT,
    kwargs JSONB
)

更多信息请参阅 pgml.embed 文档

排序

pgml.rank 函数使用 交叉编码器 对句子对进行打分。

这通常用作搜索时的重新排序步骤。

pgml.rank(
    transformer TEXT,
    query TEXT,
    documents TEXT[],
    kwargs JSONB
)

文档即将发布。

转换

pgml.transform 函数可用于生成文本。

SELECT pgml.transform(
    task   => TEXT OR JSONB,     -- 流水线初始化参数
    inputs => TEXT[] OR BYTEA[], -- 推理输入
    args   => JSONB              -- (可选)流水线参数。
)

更多信息请参阅 pgml.transform 文档

有关文本生成的指南,请参阅我们的 文本生成指南

机器学习

部分亮点:

训练分类模型

训练

SELECT * FROM pgml.train(
    '手写数字图像分类器',
    algorithm => 'xgboost',
    'classification',
    'pgml.digits',
    'target'
);

推理

SELECT pgml.predict(
    '我的分类项目',
    ARRAY[0.1, 2.0, 5.0]
) AS prediction;

自然语言处理

pgml.transform 函数公开了多种可用的自然语言处理任务。

可用的任务包括:

版本历史

v2.8.12023/12/20
v2.5.32023/06/13
v2.10.02025/01/16
v2.9.32024/07/24
v2.9.22024/07/13
v2.9.12024/06/11
v2.8.22024/02/21
v2.7.132023/10/26
v2.7.122023/10/24
v2.7.102023/10/19
v2.7.92023/09/08
v2.7.82023/08/25
v2.7.72023/08/21
v2.7.62023/08/18
v2.7.52023/08/18
v2.7.42023/08/10
v2.7.32023/08/02
v2.7.12023/07/11
v2.7.02023/06/30
v2.6.02023/06/20

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

159.3k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|昨天
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|1周前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像