当前位置: 首页 > news >正文

Star History 十月开源精选 |AI for Postgres

在 2023 年 Stack Overflow 开发者调查中,Postgres 顶替了 MySQL 被评为最受欢迎的数据库。一个重要因素应该是 Postgres 支持扩展:可扩展的架构+ Postgres 仍然由社区拥有,Postgres 生态近年来蓬勃发展。

扩展可以看作是内置功能,能给数据库增加额外功能。在本文中,我们分享五个可以给你 Postgres 带来 AI 功能的扩展。

pgvector

file

pgvector 是一个向量相似性搜索工具,专为 Postgres (支持 Postgres 11+) 设计,还可以用于存储嵌入向量。

它在 2021 年就开源了,不过热度在 2023 年开始增加。如果你想用向量数据库,那么其实 Postgres 就可以满足需求了,pgvector 支持:

  • 向量与你的其他数据一起存储
  • 支持精确和近似最近邻搜索
  • L2 距离、内积和余弦距离
  • 任何有 Postgres 客户端的语言

如果你用的就是 Postgres,可以直接安装 pgvector,如果你用的是 Postgres 服务或应用程序,其中有些已经内置了pgvector,例如 Aiven, Neon, Supabase, Postgres.app 等。

PostgresML

file

PostgresML 是个支持将机器学习 (Machine Learning) 模型集成到 Postgres 中的扩展,并在今年 5 月获得了 470 万美元的种子轮。它通过使用 SQL 查询来进行文本和数据的训练和推断,极大地降低了应用程序开发的复杂性。

file

如果贵司没有复杂的机器学习工作负载(毕竟不是所有人都是人工智能巨头),但还是想构建自己的机器学习模型,可以从新鲜数据中进行学习,这是一个很好的入门方式。

有意思的是,他们组织下还有另一个开源项目:PgCat,是个 PostgreSQL 连接池/代理,于 2022 年 2 月开源,或许 PgCat 不够性感,PostgresML 整体转向了 AI,向量数据库?

MADlib

file

Apache MADlib 是一个用于 SQL 的大数据机器学习工具。它的代码库最早在 2016 年左右发布到 GitHub,但最初的版本早在 2011 年就已经发布(直至今年还在迭代更新)。

file

SQL 在处理较大或非结构化数据集上无法很好推理、预测或因果分析的观念已经是过去式了。MADlib 是一个数据库内机器学习库,你可以在存储你数据的数据库 (Postgres) 中进行高级机器学习,包括各种数据分析任务,包括回归和分类。

冷知识:MADlib 的 MAD 代表 Magnetic (磁性), Agile (敏捷) 和 Deep (深度)。

file

接下来的几个项目还挺有趣的,不过要用的话自担风险😅

pg_embedding

file

pg_embedding 是 Neon 今年 7 月发布的一个产品,发布的时候称比 pgvector 快 20 倍。不过它使用了 HNSW 索引进行高维相似性搜索,比 pgvector 添加 HNSW 支持要早。

file

但是几个月后的九月份,他们就加了一条注释,表示不再维护 pg_embedding。看起来是真的没有「购买还是构建」的纠结:使用已有的是显而易见的选择。

file

pg_gpt

file

pg_gpt 是个实验性的 Postgres 扩展,它在 Postgres 内部使用 OpenAI 的 GPT API,你可以用自然语言向数据库提问。pg_gpt 背后的组织是 CloudQuery,主业是开源的 ELT 平台。
该插件通过传输部分数据库 schema(不包含数据)的部分发送到 OpenAI GPT API,因此不建议在生产数据库中使用,但如果比如公开的 schema,那可以试试这个工具。例如,如果想查找过去一个月在 Hacker News 上提到 Sam Altman 的热门提交,这是一种方法(当然也可以直接用 Search Hacker News 🤣)。

总结

今年我们见证了科技界拥抱人工智能,并在 AI 领域里找到自己的立足之地。幸好 Postgres 足够开放,支持扩展,我们有幸得以享用想这些扩展,可以为我们的 Postgres 添加 AI 功能,而无需迁移到新的数据库。


💡 更多资讯,请关注 Bytebase 公号:Bytebase

相关文章:

Star History 十月开源精选 |AI for Postgres

在 2023 年 Stack Overflow 开发者调查中,Postgres 顶替了 MySQL 被评为最受欢迎的数据库。一个重要因素应该是 Postgres 支持扩展:可扩展的架构 Postgres 仍然由社区拥有,Postgres 生态近年来蓬勃发展。 扩展可以看作是内置功能&#xff0c…...

网络运维与网络安全 学习笔记2023.11.23

网络运维与网络安全 学习笔记 第二十四天 今日目标 VRRP负载均衡、BFD原理与配置、BFD典型应用 DHCP工作原理、全局模式DHCP VRRP负载均衡 VRRP单组缺陷 每网段存在一个VRRP组,缺点如下: 主网关数据转发压力大 备份网关不转发任何数据 网络设备利用…...

红黑树(万字图文详解)

红黑树 1. 红黑树的概念2. 红黑树的性质3. 红黑树节点的定义4. 红黑树结构5. 红黑树的插入操作5.1 按照二叉搜索的树规则插入新节点5.2 检测新节点插入后,红黑树的性质是否造到破坏5.2.1 情况一: cur为红,p为红,g为黑,u存在且为红…...

Kotlin学习——kt入门合集博客 kt里的委派模式Delegation kt里的特性

Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…...

数据挖掘 朴素贝叶斯

直入正题,直接看代码: 这是一段判断是不是藏话的代码 import numpy as np# 数据采集(定义函数加载数据集) def load_dataset():sent_list [[my, name, is, Devin],[you, are, stupid],[my, boyfriend, is, SB],[you, looks, ver…...

UI自动化测试工具有哪些优势?

UI自动化测试工具通过提高测试效率、覆盖率,减少测试时间和成本,以及支持持续集成等方式,为软件开发团队提供了一系列重要的优势,有助于提升软件质量和开发效率。 自动化执行:UI自动化测试工具可以模拟用户与应用程序的…...

【论文阅读笔记】InstructDiffusion: A Generalist Modeling Interface for Vision Tasks

【论文阅读笔记】StyleAvatar3D: Leveraging Image-Text Diffusion Models for High-Fidelity 3D Avatar Generation 论文阅读笔记论文信息引言动机挑战 方法结果 关键发现相关工作1. 视觉语言基础模型2. 视觉通用模型 方法/模型视觉任务的统一说明训练数据构建网络结构 实验设…...

笔记62:注意力汇聚 --- Nadaraya_Watson 核回归

本地笔记地址:D:\work_file\(4)DeepLearning_Learning\03_个人笔记\3.循环神经网络\第10章:动手学深度学习~注意力机制 a a a a a a a a a a a a a a a a...

给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

7-5 矩阵运算 分数 20 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 给定一个nn的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。 输入格式: 输入第一行给出正整数n(…...

Go语言的学习笔记3——Go语言项目布局

Go 1.11 版本开始引入 go.mod 和 go.sum 以支持Go Module构建机制,而这种机制成为官方的依赖包管理方式。 现在Go可执行程序项目的典型布局如下所示: exe-layout ├── cmd/ │ ├── app1/ │ │ └── main.go │ └── app2/ │ └…...

70-76-堆、贪心算法

LeetCode 热题 100 文章目录 LeetCode 热题 100堆70. 中等-数组中的第K个最大元素71. 中等-前K个高频元素72. 困难-数据流中的中位数 贪心算法73. 简单-买卖股票的最佳时机74. 中等-跳跃游戏75. 中等-跳跃游戏II76. 中等-划分字母区间 本文存储我刷题的笔记。 堆 70. 中等-数组…...

Qt Network

Qt Network Qt Network为使用TCP/IP的应用程序编程提供了一组API。各种C++类处理诸如请求、cookies和通过HTTP发送数据之类的操作。 标题使用模块 使用Qt模块需要直接或通过其他依赖项链接到模块库。一些构建工具对此有专门的支持,包括CMake和qmake. 标题使用CMake构建 使…...

Win10电脑用U盘重装系统的步骤

在Win10电脑中,用户遇到了无法解决的系统问题,用户这时候就可以考虑重装Win10系统,这样即可轻松解决问题,从而满足自己的操作需求。接下来小编给大家详细介绍关于Win10电脑中用U盘重装系统的教程步骤。 准备工作 1. 一台正常联网可…...

安防视频监控/磁盘阵列/集中云存储平台EasyCVR设备录像保活不生效原因是什么?该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

【JDK21】详解虚拟线程

目录 1.概述 2.虚拟线程是为了解决哪些问题 2.1.线程切换的巨大代价 2.2.哪些情况会造成线程的切换 2.3.线程资源是有限的 3.虚拟线程 4.适用场景 1.概述 你发任你发,我用JAVA8?JDK21可能要对这句话say no了。 现在Oracle JDK是每4个版本&#x…...

UE5 - 虚幻引擎各模块流程图

来自虚幻官方的一些资料,分享一下; 一些模块的流程图,比如动画模块: 或角色相关流程: 由于图片比较大,上传到了网络,可自取: 链接:https://pan.baidu.com/s/1BQ2KiuP08c…...

vue3实现element table缓存滚动条

背景 对于后台管理系统,数据的展示形式大多都是通过表格,常常会出现的一种场景,从表格跳到二级页面,再返回上一页时,需要缓存当前的页码和滚动条的位置,以为使用keep-alive就能实现这两种诉求,…...

flutter布局详解及代码示例(下)

布局 基本布局 GridView(二维滚动列表):比ListView多了一个方向的数据填充。ListBody(滚动列表):相比ListView,没有回收复用,简单易用。Table(表格布局)&am…...

SQL Server:流程控制语言详解

文章目录 一、批处理、脚本和变量局部变量和全局变量1、局部变量2、全局变量 二、顺序、分支和循环结构语句1、程序注释语句2、BEGIN┅END语句块3、IF┅ELSE语句4、CASE语句5、WHILE语句6、BREAK和CONTINUE语句BREAK语句CONTINUE语句 三、程序返回、屏幕显示等语句1、RETURN语句…...

2、用命令行编译Qt程序生成可执行文件exe

一、创建源文件 1、新建一个文件夹&#xff0c;并创建一个txt文件 2、重命名为main.cpp 3、在main.cpp中添加如下代码 #include <QApplication> #include <QDialog> #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv); QDi…...

RyzenAdj终极指南:3分钟解锁AMD锐龙处理器隐藏性能

RyzenAdj终极指南&#xff1a;3分钟解锁AMD锐龙处理器隐藏性能 【免费下载链接】RyzenAdj Adjust power management settings for Ryzen APUs 项目地址: https://gitcode.com/gh_mirrors/ry/RyzenAdj 你是否感觉自己的AMD锐龙笔记本性能被限制住了&#xff1f;玩游戏时帧…...

Phi-3-vision-128k-instruct Ollama国内镜像源加速部署与多模型管理

Phi-3-vision-128k-instruct Ollama国内镜像源加速部署与多模型管理 1. 为什么需要国内镜像源 如果你在国内尝试使用Ollama拉取Phi-3-vision这样的大型模型&#xff0c;可能会遇到下载速度慢甚至失败的问题。这是因为默认的模型仓库位于海外服务器&#xff0c;网络连接不稳定…...

解放词库自由:跨平台词库迁移的全场景解决方案

解放词库自由&#xff1a;跨平台词库迁移的全场景解决方案 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 当你更换新手机时&#xff0c;是否曾为输入法里积累多年的…...

STM32定时器编码器模式:从ARR寄存器到精准测速的实战解析

1. STM32编码器模式基础认知 第一次接触STM32的编码器接口时&#xff0c;我完全被那些专业术语搞懵了。什么正交解码、自动重装值、计数方向&#xff0c;听起来就像天书。但当我真正用起来才发现&#xff0c;这玩意儿简直就是为电机测速量身定做的神器。 编码器模式本质上就是定…...

告别官方版SSE2坑!用linsys_pjsip 2.11.8在ARM32平台快速集成SIP与WebRTC AEC3

ARM32平台高效集成SIP与WebRTC AEC3&#xff1a;linsys_pjsip 2.11.8实战指南 在嵌入式音视频通信领域&#xff0c;ARM32架构设备因其低功耗和成本优势被广泛应用。但当你尝试在这些设备上部署PJSIP时&#xff0c;官方版本的SSE2指令集依赖就像一堵高墙&#xff0c;让许多开发者…...

智慧校园系统采购,如何平衡功能、价格与服务?

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

SaaS Boilerplate支付集成终极方案:Stripe订阅管理与计费系统完整指南

SaaS Boilerplate支付集成终极方案&#xff1a;Stripe订阅管理与计费系统完整指南 【免费下载链接】saas-boilerplate SaaS Boilerplate - Open Source and free SaaS stack that lets you build SaaS products faster in React, Django and AWS. Focus on essential business …...

作品被篡改署名?三步维权指南

您好&#xff0c;我理解您遇到了作品被他人擅自修改并署名为“悟空”的情况&#xff0c;这确实是一件令人非常气愤和不快的事情。首先&#xff0c;请务必保持冷静。愤怒是正常的&#xff0c;但清晰的行动才能更好地维护您的权益。针对这种情况&#xff0c;您可以按照以下步骤来…...

OpenClaw自动化测试:Qwen3-4B驱动接口回归验证

OpenClaw自动化测试&#xff1a;Qwen3-4B驱动接口回归验证 1. 为什么选择OpenClaw做自动化测试&#xff1f; 去年接手一个个人项目时&#xff0c;我遇到了一个典型问题&#xff1a;每次修改代码后&#xff0c;都要手动执行十几个接口测试用例。这种重复劳动不仅耗时&#xff…...

C++ lambda 捕获机制与作用域

C lambda 捕获机制与作用域探析 在C11引入的lambda表达式为开发者提供了更灵活的匿名函数实现方式&#xff0c;其核心特性之一是捕获机制&#xff0c;允许lambda访问外部作用域的变量。理解捕获规则与作用域的关系&#xff0c;不仅能避免常见错误&#xff0c;还能提升代码的简…...