跳到主内容 Loading...
AI 奇想空间 AI 奇想空间是一个汇聚人工智能工具、资源和教程的导航网站。
在这里,你可以发现最新的AI技术、工具和应用,学习如何使用各种 AI 平台和框架,获取丰富的 AI 资源。
欢迎广大 AI 爱好者加入我们的社区,开启你的AI之旅!
aimazing.site
关于 扫码加入交流群
© 2026 AI 奇想空间. All rights reserved.
[email protected] pgai - 开源项目详情
绘画类
A suite of tools to develop RAG, semantic search, and other AI applications more easily with PostgreSQL
pgai 让您能够直接在 PostgreSQL 中开发 RAG、语义搜索和其他 AI 应用程序
pgai 简化了使用 PostgreSQL 构建搜索 、检索增强生成 (RAG)和其他 AI 应用程序的过程。它补充了 PostgreSQL 中用于向量搜索的流行扩展,例如 pgvector 和 pgvectorscale,以进一步提升其功能。
概述
pgai 的目标是让开发人员更轻松地使用 AI。由于数据是大多数 AI 应用程序的基础,pgai 使您能够更轻松地在 AI 工作流中利用数据。具体来说,pgai 支持以下功能:
处理从您的数据生成的嵌入:
自动创建并同步数据的向量嵌入 (了解更多 )
使用向量和语义搜索查询您的数据 (了解更多 )
在单个 SQL 语句中实现检索增强生成 (了解更多 )
使用 pgvectorscale 对大量向量工作负载执行高性能、经济高效的近似最近邻搜索,该功能补充了 pgvector。
利用大语言模型进行数据处理任务:
从如 Claude Sonnet 3.5、OpenAI GPT4o、Cohere Command 和 Llama 3(通过 Ollama)的模型中获取大语言模型聊天完成 (了解更多 )
基于现有 PostgreSQL 关系数据进行分类、总结和数据丰富化 (查看示例 )。
了解更多关于 pgai 的信息: 想了解关于 pgai 扩展的更多信息以及我们构建它的原因,请阅读
。
免责声明:本站大资源来自网络收集整理,小部分资源来自原创,如有侵权等,请联系处理。
演示:pgai 向量化器
入门指南 为了快速入门,请尝试使用 pgai 向量化器进行自动数据嵌入:
通过创建 免费试用帐户 来尝试我们的云服务,并查看我们的 pgai 向量化器 文档 。
或者查看我们的 快速入门指南 ,在不到 10 分钟内使用自托管的 Postgres 实例快速启动并运行。
对于其他用例,请首先在 Timescale Cloud、预构建的 Docker 镜像或源码中安装 pgai 。然后,选择您的冒险方式:
使用 pgai 向量化器 自动化 AI 嵌入。
使用 pgai 集成来自供应商的 AI。一些例子包括:
Ollama - 为 Ollama 配置 pgai,然后使用模型进行嵌入、聊天完成和生成。
OpenAI - 为 OpenAI 配置 pgai,然后使用模型进行 tokenization、嵌入、聊天完成和审查。此页面还包含高级示例。
Anthropic - 为 Anthropic 配置 pgai,然后使用模型生成内容。
Cohere - 为 Cohere 配置 pgai,然后使用模型进行 tokenization、嵌入、聊天完成、分类和重排。
利用大语言模型进行数据处理任务,如分类、总结和数据丰富化 (查看 OpenAI 示例 )。
安装 运行带有 pgai 扩展的 PostgreSQL 最快的方法是:
使用预构建的 Docker 容器
使用 Timescale 云服务
从源代码安装 要在 PostgreSQL 服务器上从源码安装 pgai:
在系统全局安装所需的软件
这些扩展将在您 启用 pgai 扩展 时自动添加到您的 PostgreSQL 数据库中。
安装 pgai PostgreSQL 扩展:
我们使用 just 来运行项目命令。如果您没有 just,您可以用以下方法安装扩展:
projects/extension/build.py install
启用 pgai 扩展 。
在数据库中启用 pgai 扩展
使用如 psql v16 或 PopSQL 的 Postgres 客户端连接到您的数据库。
psql -d "postgres://<username>:<password>@<host>:<port>/<database-name>"
创建 pgai 扩展:
CREATE EXTENSION IF NOT EXISTS ai CASCADE;
CASCADE 将自动安装 pgvector 和 plpython3u 扩展。
使用 pgai 利用大语言模型进行数据处理任务:
您可以使用 pgai 集成以下供应商的 AI:
了解如何使用触发器和后台作业直接在数据库中审查 内容。
自动创建并同步数据的大语言模型嵌入 只需一行代码,您就可以定义一个为数据表创建嵌入的向量化器:
SELECT ai.create_vectorizer(
< table_name> ::regclass,
destination = > < embedding_table_name> ,
embedding = > ai.embedding_openai(< model_name> , < dimensions> ),
chunking = > ai.chunking_recursive_character_text_splitter(< column_name> )
);
使用向量和语义搜索查询你的数据 pgai 提供了一系列函数,让你可以通过 SQL 直接与大语言模型(LLM)进行交互,从而能够直接在数据库中进行语义搜索:
SELECT
chunk,
embedding <=> ai.openai_embed(< embedding_model> , 'some-query' ) as distance
FROM < embedding_table>
ORDER BY distance
LIMIT 5 ;
这是一个完全正常的 SQL 查询。你可以将它与 where 子句和其他 SQL 功能结合使用,以进一步优化你的搜索。pgai 真正解决了向量搜索中缺少 where 子句 的问题。
在单个 SQL 语句中实现检索增强生成(RAG) 类似于语义搜索 ,pgai 的 LLM 函数允许你直接在数据库中实现 RAG。例如:
创建一个 RAG 函数:
CREATE OR REPLACE FUNCTION generate_rag_response(query_text TEXT)
RETURNS TEXT AS $$
DECLARE
context_chunks TEXT;
response TEXT;
BEGIN
SELECT string_agg(title || ': ' || chunk, ' ' ) INTO context_chunks
FROM (
SELECT title, chunk
FROM blogs_embedding
ORDER BY embedding <=> ai.openai_embed('text-embedding-3-small' , query_text)
LIMIT 3
) AS relevant_posts;
SELECT ai.openai_chat_complete(
'gpt-4o-mini' ,
jsonb_build_array(
jsonb_build_object('role' , 'system' , 'content' , 'You are a helpful assistant. Use only the context provided to answer the question. Also mention the titles of the blog posts you use to answer the question.' ),
jsonb_build_object('role' , 'user' , 'content' , format('Context: %s\n\nUser Question: %s\n\nAssistant:' , context_chunks, query_text))
)
)- > 'choices' - > 0 - > 'message' - >> 'content' INTO response;
RETURN response;
END ;
$$ LANGUAGE plpgsql;
在 SQL 查询中执行你的函数:
SELECT generate_rag_response('Give me some startup advice' );
参与其中 pgai 仍处于早期阶段。现在正是帮助塑造这个项目方向的好时机;我们目前正在决定优先事项。查看我们正在考虑的功能列表 吧。欢迎发表评论、扩展列表或加入讨论论坛。
关于 Timescale Timescale Cloud 是一个高性能、开发者专注的云平台,提供用于最苛刻的 AI、时间序列、分析和事件工作负载的 PostgreSQL 服务。Timescale Cloud 非常适合生产应用,拥有高可用性、流式备份、逐步升级、角色与权限以及出色的安全性。
1/7