像 pgai 这样的扩展针对的是“AI 工程师”,这是一种新型的开发人员,与研究人员不同,他们关注的是实际应用 AI(模型、工具和 API)来构建软件。
这些工程师不想把自己最喜欢的工具留给其他专门用于人工智能的工具。用 Postgres 替换“工具”,你就会看到它的发展方向。
在“Azure AI 和 Pgvector 直接在 Postgres 上运行生成式 AI”中,我们目睹了确切的案例。Azure AI 扩展使数据库能够调用各种 Azure AI 服务,例如 Azure OpenAI。
简而言之,这意味着你可以使用 SQL 查询来生成文本嵌入,以调用两个 Azure OpenAI 服务,而无需单独的应用程序层。这一切都是为了通过将机器学习工作负载转移到数据库上来简化开发人员的生活。也就是说,您提供了在不离开数据库的情况下对实时数据运行 ML 模型的功能。
Timescale 的新 pgai 开源扩展正是这样做的。它使嵌入和生成模型更接近数据库,使 PostgreSQL 成为更好的 AI 应用程序数据库,满足 AI 工程师的需求,正如其官方公告中所述:
我们与一位 Timescale 客户进行了交谈,他的任务是在他们公司构建 RAG 应用程序。这位工程师拥有数十年的数据库和 C 语言经验,但他向我们抱怨说,在尝试学习 Python 以快速构建概念验证 (PoC) 来验证核心思想时,他一直在摸索。“我希望我能在SQL中做更多的事情”,这是我们从这位工程师和我们交谈过的许多其他工程师那里听到的一句常见的话,最终激发了pgai的想法。
愿望成真!
使用 pgai,您现在可以直接从 PostgreSQL 中的 SQL 查询中执行以下操作:
- 为数据创建嵌入。
- 从 OpenAI GPT4o 和 Llama 3 等模型中检索LLM聊天完成。
- 为 Ollama 等模型生成响应。
- 对数据进行推理,并促进对 PostgreSQL 中现有关系数据的分类、汇总和数据丰富等用例。
例如,执行聊天完成以将内容作为特定消息的文本返回:

返回的数据如下所示:

可以在扩展的 Github 存储库中找到许多入门示例,例如将 pgai 与 OpenAI 一起使用。
pgai 的初始版本支持创建 OpenAI 嵌入,并直接从您的 PostgreSQL 数据库从 GPT4o 等模型获取 OpenAI 聊天完成。计划是在未来增加对更多模型的支持,例如 Claude 和 Cohere。
在这一点上,我想记下还有另一个扩展,PostgresML,它具有非常相似的目的,如果不是相同的。正如我们在“PostgresML - 将您的 ML 工作负载带到数据库”中检查的那样,PostgresML 是 PostgreSQL 的机器学习扩展,使您能够使用 SQL 查询对文本和表格数据执行训练和推理。因此,请务必查看该文章,以确定两个扩展中的哪一个最适合您的目的。
然而,要点是,通过这样的扩展,您也可以将 PostgreSQL 用于 AI,而无需特意行事。人工智能工程师们欢欣鼓舞!
| 由Nikos Vaggalis撰写 |
| 2024年7月15日 |




