pgai

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

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

开源 free 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 5806
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类搜索知识
开发团队timescale
所属国家
官网地址
定价模式free
价格说明开源项目,基于 PostgreSQL 的 AI 工具套件,可自行部署,完全免费。
访问状态
是否开源是
开源协议PostgreSQL
主要语言PLpgSQL
技术栈/模型ai,llm,postgresql,rag
GitHub 星标★ 5806
30天Star增速
HF 下载量
上线时间2024-05-16 00:00:00
最近更新2026-09-18 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数7

使用教程

难度:进阶 约 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=
    DB_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

项目介绍

pgai 是基础设施领域的开源项目,由 timescale 开发,2024 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(5,806)位列前 8%,在基础设施分类的 1,132 个项目里位列前 12%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-18。基于 PostgreSQL 的 AI 工具套件,可自行部署,完全免费。

它主要面向的使用场景是:在现有PostgreSQL应用上快速增加语义搜索功能。同类可对比的替代方案包括 pgvector、Milvus、Weaviate。

上一篇:postgresml

下一篇:helix-db

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09