三分钟接入!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岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号"软件求生",获取更多技术干货!

相关推荐
q***441510 分钟前
Spring Security 新版本配置
java·后端·spring
计算机毕设匠心工作室13 分钟前
【python大数据毕设实战】强迫症特征与影响因素数据分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学
后端·python·mysql
o***741719 分钟前
Springboot中SLF4J详解
java·spring boot·后端
雨中散步撒哈拉31 分钟前
18、做中学 | 初升高 | 考场一 | 面向过程-家庭收支记账软件
开发语言·后端·golang
韩立学长1 小时前
【开题答辩实录分享】以《智慧物业管理系统的设计与实现》为例进行答辩实录分享
java·后端·mysql
nvd111 小时前
一个简单的GitHub AI Agent 实现指南
人工智能·langchain
d***95622 小时前
springboot接入deepseek深度求索 java
java·spring boot·后端
iOS开发上架哦2 小时前
Swift中对象实例方法名混淆问题详细解决方法
后端
零日失眠者2 小时前
【文件管理系列】003:重复文件查找工具
后端·python
哈哈哈笑什么2 小时前
多级缓存框架(Redis + Caffeine)完整指南
redis·后端