三分钟接入!SpringAI 玩转 Perplexity 聊天模型实战



大家好呀,我是爱折腾的31岁的大哥哥

上周末在家煮火锅的时候,我突然灵光一闪:既然前阵子我们已经玩过 SpringAI 接入 Ollama、Mistral、Groq、NVIDIA 的聊天模型,那这次不如来点不一样的------把 Perplexity AI 聊天模型接到 Spring 项目里!

结果一搞,还真发现里面有不少有意思的点:比如 自动配置超级丝滑 ,比如 函数调用支持 ,甚至连 多模态能力 都能玩。今天这篇文章,我就带大家一步步走一遍完整的流程,手把手把 Perplexity 聊天模型"请进"Spring Boot 项目里。

Perplexity AI

先聊聊主角 Perplexity AI

你可能听过它是一个"搜索+对话"的智能助手,和单纯聊天的模型不同,Perplexity 最大的特点是 结合实时搜索结果,回答问题时会带上参考资料链接,特别适合做"知识型对话"或"需要外部数据支持"的场景。

而且!它也开放了 API,可以像用 OpenAI、Anthropic 一样,在后台用 HTTP 调用它的聊天接口。

这就意味着:我们完全可以通过 SpringAI 来做一层封装,让业务开发更顺手。

前提条件

万事开头先准备。想要在 Spring Boot 项目里用 Perplexity 聊天模型,先得满足几个前提条件:

  1. 申请 API Key
  2. 去 Perplexity AI 官网申请一个开发者 Key,记得妥善保存。
  3. Spring Boot 项目
  4. 建议 Spring Boot 3.x(我用的是 3.3.x),因为 SpringAI 本身就是紧密跟随 Spring Boot 版本迭代的。
  5. JDK 版本
  6. 至少 Java 17 起步,否则很多依赖不兼容。

准备完这些,就能开始动手啦~

添加仓库和 BOM

既然是 SpringAI,自然少不了在 pom.xml 里加依赖。Spring 官方已经帮我们准备了 Spring AI BOM,只需要在父依赖里加一行,就能自动管理版本。

然后在依赖里引入 Perplexity Starter

这样就能自动装配了,不用手写 Bean,很省心。

自动配置

Spring Boot 的精髓就是"约定大于配置"。

有了 starter,Spring 会自动帮我们装配 PerplexityChatClient,只要配置好 application.yml 就能用。比如:

是不是很丝滑?

这里我特意选了 llama-3.1-sonar-small-128k-chat 作为模型,它是 Perplexity 提供的高效聊天模型之一。

聊天属性

SpringAI 给 Perplexity Starter 准备了很多配置属性,可以用来调节重试、连接、以及聊天本身的细节。

我把它们分成三类:重试属性、连接属性、配置属性,下面用表格给大家列出来。

1.、重试属性

2.、连接属性

3.、配置属性

这些参数的好处是:可以全局调,也可以在运行时动态覆盖。

运行时选项

假如你在全局配置里设了一个默认模型,但在业务逻辑里想临时换一个怎么办?

没问题,SpringAI 的 ChatClient 支持在运行时传入 ChatOptions:

这样就能一边保持默认配置,一边灵活切换。

函数调用

Perplexity 也支持函数调用(Function Calling),这个功能在做"智能助手"时特别有用,比如让模型帮我们自动调用天气接口。

SpringAI 封装得很优雅,只需要定义接口,然后标注 @Service 即可。例如:

然后在 ChatClient 调用时:

模型会智能决定是否调用 getWeather,最终返回带上下文的回答。是不是很炫酷?

多模态

Perplexity 的 API 也支持多模态输入,意思就是:不仅能处理文字,还能结合图片。

在 SpringAI 里也能这样写:

模型会返回对图片的理解。这对做图文问答、内容审核,甚至电商商品描述生成,都特别实用。

示例控制器

光写配置还不过瘾,我们来写个小 Demo Controller。

启动后访问:

http://localhost:8080/chat?question=讲个冷笑话

模型就会乖乖回你一段回答,丝滑无比。

支持的模型

最后来看看 Perplexity 官方支持的模型(部分常用的列一下):

选择哪个,要根据你的业务需求来定:

  • 如果要高并发、快速响应,可以选 small
  • 如果要高质量、支持复杂问答,就选 largehuge

总结

到这里,Perplexity 聊天模型就被我们完整接进 Spring Boot 里了 。

今天我们从 Perplexity AI 的特点 开始,一路聊到:

  • 前提条件准备
  • Maven 仓库和 BOM
  • 自动配置
  • 聊天属性(重试、连接、配置)
  • 运行时选项
  • 函数调用
  • 多模态
  • 示例控制器
  • 支持的模型

整个流程走下来,我最大的感受是:SpringAI 的封装真香

以前我们可能要自己拼 HTTP 请求、写一堆 DTO,现在只要加个 starter,几行配置,就能愉快地和模型聊天。

未来我打算做一个小项目,用 Perplexity + SpringAI 做一个 "智能调研助手" :输入一个话题,模型会帮你拉最新的资料,再总结成一篇 Markdown 报告。到时候再写文章和大家分享。

END

各位小伙伴,如果你也在研究 SpringAI,或者想要把 AI 模型用在自己的项目里,不妨先试试 Perplexity,说不定能让你眼前一亮 。

那么问题来了:

你觉得 Perplexity 更适合做 搜索增强助手 ,还是 通用聊天机器人呢?

评论区见~

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

相关推荐
用户214118326360217 分钟前
OpenSpec 实战:用规范驱动开发破解 AI 编程协作难题
后端
Olrookie1 小时前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi
LucianaiB1 小时前
招聘可以AI面试,那么我制作了一个AI面试教练不过分吧
后端
无奈何杨2 小时前
CoolGuard更新,ip2region升级、名单增加过期时间
后端
艾菜籽2 小时前
Spring MVC练习:留言板
java·spring·mvc
摇滚侠3 小时前
Spring Boot 3零基础教程,WEB 开发 自定义静态资源目录 笔记31
spring boot·笔记·后端·spring
Anthony_49263 小时前
逻辑清晰地梳理Golang Context
后端·go
Github项目推荐3 小时前
你的错误处理一团糟-是时候修复它了-🛠️
前端·后端
进击的圆儿3 小时前
高并发内存池项目开发记录01
后端
左灯右行的爱情3 小时前
4-Spring SPI机制解读
java·后端·spring