这波AI太原生了!SpringAI让PostgreSQL秒变智能数据库!

内容分享2小时前发布
0 0 0

大家好呀,我是小米,一个爱折腾也爱分享的大哥哥。

最近有个小伙伴跟我说:“小米,我现在的AI项目需要用到向量检索,但我的数据全在PostgreSQL里,难道我还得搭个外部Embedding服务吗?”

我笑了笑,抿了口咖啡,轻轻地说:“不一定哦~你听过 PostgresML 向量模型 吗?它能让你的数据库直接变成一个AI模型仓库!”

于是,我给他讲了一个故事——

关于SpringAI 与 PostgresML 的浪漫合作,一场数据库和AI的完美融合。

当数据库学会“思考”:什么是 PostgresML 向量模型?

在我们平常的开发世界里,PostgreSQL 只是个“老实人”:存数据、查数据、加个索引、跑点SQL。

可 PostgresML 却让它摇身一变——成为一个内嵌机器学习模型的数据库

你可以直接在PostgreSQL里执行机器学习操作,比如训练模型、生成Embedding向量、甚至推理!

SpringAI 则是这场魔法的“桥梁”,它让你像使用普通Spring Bean一样,轻松地调用AI模型。

而“PostgresML 向量模型”就是 SpringAI 提供的一种嵌入(Embedding)模型实现,它直接利用 PostgresML 的强大算力,将文本数据转换成向量并存储在数据库中。

这意味着——你不需要额外部署OpenAI、Ollama、或者HuggingFace服务,就能在Spring中调用AI向量功能!

一句话总结就是:

PostgresML 向量模型 = 数据库存储 + 向量生成 + AI原生化 + 零外部依赖

是不是很香?

添加存储库和 BOM:让SpringAI接入PostgresML

故事的第二幕,就是“相遇”。

为了让SpringAI与PostgresML成功牵手,我们需要引入依赖。在你的 pom.xml 中,添加以下配置:

BOM负责统一版本管理,Starter则让我们开箱即用,无需繁琐配置。

这也是Spring Boot的浪漫——少写代码,多点魔法

自动配置:让AI自己动起来

添加依赖后,Spring Boot 会根据 application.yml 自动配置好向量模型。示例配置如下:

Spring Boot 会自动帮我们生成一个 PostgresMlEmbeddingModel Bean。

只要应用启动成功,你的数据库就已经变身为一个能生成Embedding的AI模型仓库啦!

这时候,你几乎什么都不用干,SpringAI会自动帮你注入 EmbeddingModel 对象,你只需要调用 embed() 方法即可。

Embedding 属性:让配置更一目了然

有时候开发同事问我:“小米,这些属性都能配哪些值呀?”

我就喜欢这种问题!因为做笔记的我,早就帮你们整理好了:

这波AI太原生了!SpringAI让PostgreSQL秒变智能数据库!

看,这样一目了然。

SpringAI就是这么贴心,所有配置都可以通过YAML灵活调整。

运行时选项

有时候我们不想写死配置,比如想在运行时动态选择模型或修改参数。

这时我们可以使用 PostgresMlEmbeddingOptions。它允许在代码层面灵活设置每次Embedding任务的执行参数。比如:

这波AI太原生了!SpringAI让PostgreSQL秒变智能数据库!

然后调用:

这波AI太原生了!SpringAI让PostgreSQL秒变智能数据库!

这段代码的语气就像在跟AI说悄悄话:“嘿,用e5-base模型来理解这句话吧~”

SpringAI帮我们封装好了底层调用,开发者只需要关注逻辑,而不是通信细节。

这就是“Spring魔法”的魅力。

示例控制器:让向量生成像写REST接口一样简单

想让AI在线生成向量?简单!

我们写一个控制器,几行代码搞定:

运行后你就能直接POST文本数据:

这波AI太原生了!SpringAI让PostgreSQL秒变智能数据库!

返回结果大概是:

这串数字看似平平无奇,但它其实是AI对文本语义的“理解坐标”。

有了它,你就能做相似度搜索、语义检索、推荐系统等各种AI应用!

手动配置(高级玩法)

有时候我们希望完全掌控配置,比如需要动态切换数据库或自定义连接池。

这时可以手动注册 Bean:

这波AI太原生了!SpringAI让PostgreSQL秒变智能数据库!

注册完成后,你可以像普通Spring Bean一样注入使用。

这种方式适合对性能、安全性或动态配置要求较高的场景,比如多租户系统或私有化部署。

写在最后:AI与数据库的融合未来

以前我们总觉得:

AI是AI,数据库是数据库。一个做推理,一个存数据,泾渭分明。

但SpringAI和PostgresML告诉我们——

未来,AI不再是“外部服务”,而是数据系统的原生能力。我们不需要再去搭一个复杂的LLM推理服务;我们只需要在熟悉的Spring和PostgreSQL里,就能实现语义检索、智能推荐、甚至知识问答。

这不只是技术的整合,更是“思维模式的进化”。

总结一下今天的重点:

PostgresML 向量模型:让PostgreSQL直接支持Embedding生成。

添加存储库和BOM:轻松集成SpringAI。

自动配置:YAML配置后开箱即用。

Embedding属性表格:清晰明了。

PostgresMlEmbeddingOptions:灵活的运行时参数设置。

示例控制器:简单几行实现AI接口。

手动配置:进阶玩法,完全掌控。

END

所以,如果你也想让你的数据库“聪明”起来,不妨试试PostgresML和SpringAI吧~下一次,你的SQL也许就能和AI一起思考啦!

最后,小米有个小问题想问大家:

如果你能让数据库拥有一种“AI能力”,你希望它最先学会什么?

欢迎在评论区聊聊~

我是小米,一个喜欢分享技术的31岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!

© 版权声明

相关文章

暂无评论

none
暂无评论...