pgai

在 PostgreSQL 里直接跑 AI,省掉向量数据库和复杂管道

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 搜索知识 🍴 复刻 318 🐛 待处理 44 👀 关注 39 ⚠️ 作者已归档(停止维护)
GitHub ↗
GitHub 星标 ★ 5794
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,基于 PostgreSQL 的 AI 工具套件,可自行部署,完全免费。

项目预览

pgai 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类搜索知识
开发团队timescale
定价模式🏷️完全免费
价格说明开源项目,基于 PostgreSQL 的 AI 工具套件,可自行部署,完全免费。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议PostgreSQL
主要语言PLpgSQL
技术栈/模型ai,llm,postgresql,rag
GitHub 星标★ 5794
上线时间2024-05-16 00:00:00
代码更新2026-05-27
仓库体积38.9 MB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数8

项目介绍

pgai 是一套专为 PostgreSQL 设计的 AI 工具集,旨在简化 RAG(检索增强生成)、语义搜索及其他 AI 应用的开发流程。它通过 SQL 函数和扩展,将向量搜索、嵌入生成、LLM 调用等能力直接集成到数据库中,解决了传统 AI 应用中数据管道复杂、多系统协同困难的问题。用户无需搭建独立的向量数据库或编写繁琐的集成代码,即可在 PostgreSQL 内完成从数据存储、向量化到检索、生成的全链路操作。其核心能力包括:支持多种主流嵌入模型和 LLM 的调用、高效的向量索引与相似度搜索、以及与 PostgreSQL 生态的无缝融合,让开发者能利用熟悉的 SQL 语言快速构建智能应用。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 5794

技术标签

使用教程

难度:进阶 约 20 分钟 部署方式:库/依赖 7 步

环境要求

  • 一个可用的 PostgreSQL 数据库(支持 Timescale Cloud、Amazon RDS、Supabase 等)
  • 一个 OpenAI API Key(快速上手示例使用 OpenAI 生成嵌入,也支持多种模型提供商)
  • 已安装 Python 与 pip
  • 若数据库不在 Timescale Cloud 上,需要运行 pgai vectorizer worker

安装与启动步骤

  1. 1安装 pgai 包

    在 Python 环境中安装 pgai 主包,这是使用 pgai 全部能力的前提。建议先创建并激活虚拟环境。

    pip install pgai
  2. 2安装数据库组件

    pgai 需要在数据库中安装若干目录表与函数,pgai.install 会把它们装到 ai schema 下。把 DB_URL 换成你的真实数据库连接串。

    python -c "import pgai; pgai.install('postgres://postgres:password@localhost:5432/postgres')"
  3. 3安装 worker 依赖

    如果数据库不在 Timescale Cloud 上,还需要运行 vectorizer worker,需额外安装它的依赖。

    pip install "pgai[vectorizer-worker]"
  4. 4安装语义目录依赖

    仅当你使用 Semantic Catalog(自然语言转 SQL)功能时才需要执行这一步。不使用可跳过。

    pip install "pgai[semantic-catalog]"
  5. 5配置 .env 文件

    在运行示例的同一个目录下创建 .env,填入 OpenAI 密钥和数据库地址,切勿把该文件提交到公开仓库。

    OPENAI_API_KEY=<your-openai-api-key>
    DB_URL=<your-database-url>
  6. 6创建向量化器

    先在数据库里建 wiki 表,再调用 ai.create_vectorizer 声明式定义嵌入管道;它会自动为已有数据生成嵌入,并在数据变化时保持同步。

    CREATE TABLE IF NOT EXISTS wiki (
        id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
        url TEXT NOT NULL,
        title TEXT NOT NULL,
        text TEXT NOT NULL
    );
    SELECT ai.create_vectorizer(
         'wiki'::regclass,
         loading => ai.loading_column(column_name=>'text'),
         destination => ai.destination_table(target_table=>'wiki_embedding_storage'),
         embedding => ai.embedding_openai(model=>'text-embedding-ada-002', dimensions=>'1536')
        )
  7. 7运行快速上手示例

    下载官方 quickstart 的 main.py 与依赖清单,建虚拟环境装依赖后运行;也可以在代码里以 Worker(DB_URL, once=True) 手动跑一次 worker。

    curl -O https://raw.githubusercontent.com/timescale/pgai/main/examples/quickstart/main.py
    curl -O https://raw.githubusercontent.com/timescale/pgai/main/examples/quickstart/requirements.txt
    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    python main.py

关键配置

配置项必填说明示例
OPENAI_API_KEY是调用 OpenAI 生成向量嵌入的密钥,示例中使用该提供商sk-xxxxxxxxxxxxxxxxxxxxxxxx
DB_URL是PostgreSQL 数据库连接串,用于安装组件与读写数据postgres://postgres:password@localhost:5432/postgres

如何确认成功

运行 python main.py 后能在终端看到 "Search results"(含 url、title、chunk、distance 字段)以及 "RAG response" 输出,即表示部署与检索链路正常。

常见问题

Q:这个项目还在维护吗?

A:README 明确说明:自 2026 年 2 月起该项目不再维护或提供支持,新项目请评估后再选用。

Q:必须使用 Timescale Cloud 吗?

A:不必。pgai 可用于任何 PostgreSQL 数据库,包括 Timescale Cloud、Amazon RDS、Supabase 等;只是非 Timescale Cloud 需自行运行 vectorizer worker。

Q:只能使用 OpenAI 吗?

A:不是。快速上手示例用 OpenAI 做嵌入,但 pgai 支持多种嵌入模型提供商,可通过 embedding 参数切换。

Q:pgai.install 会把组件装到哪里?

A:会安装到数据库的 ai schema 中,包含 pgai 所需的目录表与函数。

Q:为什么向量化后还要跑 worker?

A:向量化器负责声明管道,worker 负责实际批处理生成并同步嵌入,非 Timescale Cloud 环境需要自行运行。

注意事项

  • 该项目自 2026 年 2 月起已停止维护,不建议用于长期生产项目。
  • OPENAI_API_KEY 与 DB_URL 属于敏感信息,不要写入代码或提交到版本库。
  • 向量化器类似“声明式索引”:你只需定义管道,嵌入的生成与同步由 pgai 负责。
  • 命令中出现的连接串、密钥、路径均为示例,请替换为你自己的真实值。

核心亮点

  • 原生集成 PostgreSQL,无需额外部署向量数据库,降低架构复杂度
  • 支持通过 SQL 直接调用主流嵌入和 LLM API,开发门槛低
  • 利用 PostgreSQL 成熟的事务、索引和权限机制,数据一致性有保障

不足之处

  • 依赖 PostgreSQL 扩展,对版本和部署环境有特定要求
  • 大规模向量检索性能可能不如专用向量数据库

适用场景

  • 在现有 PostgreSQL 应用上快速增加语义搜索功能
  • 构建企业内部知识库问答系统,实现 RAG 流程
  • 需要事务性保障的 AI 数据管道,如推荐系统实时特征存储

替代项目

pgvector、Milvus、Weaviate

上一篇:postgresml

下一篇:helix-db

同类项目推荐

lucid-memory 开源

本地秒级记忆,让 AI 更懂你,零成本零延迟

Memory for AI that works like yours—local, instant, persistent. 13x faster than Pin···

★ 162 2026-08-09
dstoolkit-mlops-base 开源

用 Azure 一键搭建模型上线流水线,省去手工部署烦恼

Support ML teams to accelerate their model deployment to production leveraging Azure

★ 91 2026-08-09
data-science-best-practices 开源

把数据科学项目从原型打磨成生产级系统

The goal of this repository is to enable data scientists and ML engineers to develop···

★ 98 2026-08-09
envd 开源

一条命令搞定可复现开发环境,人和 AI 都能用

️ Reproducible development environment for humans and agents

★ 2243 2026-08-09
postgresml 开源

在 PostgreSQL 里直接跑机器学习,用 SQL 搞定 AI 应用

Postgres with GPUs for ML/AI apps.

★ 6830 2026-08-09
project-maya 开源

本地跑 321B MoE 大模型,单卡到 16 卡,兼容 OpenAI 接口

Run GLM-5.3-Flash (321B), DeepSeek-V4.1-Flash (748B) and MiniMax-M3.1-Flash (428B) o···

★ 2747 2026-10-19
EverOS 开源

给每个 AI 代理装一个随身记忆库,跨应用不忘事

One portable memory layer for every AI agent: local-first, Markdown-native, user-own···

★ 13867 2026-08-09
ESEILANE 开源

为 AI 和 LLM 打造的高性能知识图谱引擎,让 GraphRAG 更快更聪明。

High-performance Knowledge Graph engine for AI, LLMs, and GraphRAG — built for the ···

★ 95 2026-08-09
helix-db 开源

用对象存储构建图+向量数据库,低成本搞定复杂关联与语义搜索

HelixDB is an OLTP graph database with native vector and full-text search built in R···

★ 6280 2026-08-09