【AI基础系列】 推理大模型接入与推理过程返回

对于一些支持推理模型的LLM(如DeepSeekR1 带有推理解析器的vLLM),除了LLM的直接返回结果,推理结果往往也是一个非常有用的返回信息,对于SpringAI,我们可以通过从返回的 Metadata 中获取推理结果。

使用推理的前提是模型必须支持推理,我们可以使用阿里的 qwen-plus-latest 或者智谱的 glm-4.5-flash;这两个都是支持推理过程的模型。

查看更多

分享到

【AI基础系列】 异步流式模型调用

前面介绍的教程中,更多的还是是同步调用,对于某些场景,同步调用可能无法满足,比如:

  • 模型返回结果是流式数据,比如:图片生成、语音合成、视频生成等等;
  • 模型返回结果是异步数据,比如:图片识别、语音识别、视频识别等等;
  • 模型返回结果是分批次数据,比如:图片识别、语音识别、视频识别等等;

此外,同步调用需要等待LLM处理完,将所有的结果一并返回;因此对用户的体验并不友好,需要一直空等;因此通过流式的逐步返回,无疑是一个非常好的选择;接下来我们看一下SpringAI如何实现LLM的流式访问

查看更多

分享到

【AI基础系列】 接入OpenAI接口风格的大模型

鉴于OpenAI在业内的地位,很多大模型的调用接口都是兼容OpenAI的,因此,在接入OpenAI的接口风格大模型时,若官方没有提供高可用的starter,那么直接使用OpenAI的starter就是一个非常好的选择了

接下来我们将演示一下,如何通过OpenAI的starter接入讯飞大模型

查看更多

分享到

【AI应用系列】 从0到1创建一个基于天气的旅游美食推荐智能体

本文将演示如何借助LangGraph4j + SpringAI来开发一个完整的智能体应用,实现用户传入地址、大模型通过Function Calling来获取地址天气,调用大模型的旅游项目推荐能力、美食推荐能力,给用返回一个旅游攻略

查看更多

分享到

【AI进阶系列】 使用LangGraph4J实现Agent路由选择

创建一个Langgraph4j示例工程 这一篇文章中,我们介绍了如何创建一个 LangGraph4j 的示例工程;

在上文中介绍到 LangGraph4j 时,就提到了它有一个重要的特性,就是可以定义循环图,使不同的组件(代理、工具或自定义逻辑)能够以有状态的方式进行交互

接下来我们来实际感受一下,上面这个重要的特性是如何表现的

查看更多

分享到

【AI进阶系列】 使用LangGraph4J实现多轮对话

之前介绍的多轮对话,上下文存储主要是SpringAI提供的能力支持;接下来我们看一下,在agent开发时推荐使用的框架LangGraphJ,如何实现多轮对话

查看更多

分享到

【AI基础系列】 创建一个Langgraph4j实例工程

沿用阿里的智能体定义,我们将基于SpringAI ChatClient开发的AI应用叫做单智能体应用;对于更复杂的应用场景,比如需要多个工具辅助工作,存在工作流切换的场景(举一个例子:输入一段评价,判断是好评还是差评,如果是好评,则自动回复多谢好评;如果是差评,则提取关键信息,将评价信息转发给人工客服,进行后续的售后维护等)称为多智能体应用

查看更多

分享到

【AI进阶系列】 使用Redis持久化对话历史

前面介绍了使用关系数据库来存储对话历史,接下来我们更进一步,通过扩展ChatMemoryRepository来实现基于Redis的持久化

查看更多

分享到

【AI进阶系列】 使用H2持久化对话历史

上面一篇文章介绍了 SpringAI官方提供的 jdbc start来实现持久化对话历史 使用MySql持久化对话历史,官方实现的几个数据库已经很有代表性了,接下来我们将看一下,如果沿用官方的思路,来为h2添加持久化对话历史功能。

查看更多

分享到

【AI进阶系列】 使用数据库持久化对话历史

本文作为SpringAI的进阶篇,将介绍一些在实际应用中,可能用到的小技巧。在基础篇的 04.聊天上下文
中,介绍并演示了基于 InMemoryChatMemoryRepository 来存储对话历史,从而实现多轮对话

在实际的业务场景中,用InMemoryChatMemoryRepository的场景可能还会更少一点,毕竟上下文放在内存中,不利于后续的审计以及应用重启之后数据就丢失了

那么如何将对话持久化存储呢?

本文将介绍基于数据库的持久方案,将从两个方面进行介绍

  1. 通过实例演示数据库的持久化使用方式
  2. 介绍一些关键的实现技术点

查看更多

分享到

【AI基础系列】 支持MCP Client的AI对话实现

前面介绍了通过SpringAI来实现MCP Server,接下来我们再看一下,通过SpringAI来实现一个支持上次实现的MCP ClientAI对话

查看更多

分享到

【AI基础系列】 多模态实现图片卡路里识别

现在大模型的快速发展,已经让其不仅只接受文本,也可以接受图像、音频、视频等多模态数据,SpringAI也提供了相应的模型接口,方便开发者进行多模态模型应用开发

如如 OpenAI 的GPT-4o、Google 的Vertex AI Gemini 1.5、Anthropic 的 Claude3,以及开源模型 Llama3.2、LLaVA 和 BakLLaVA,都能接受文本、图像、音频和视频等多种输入,并通过整合这些输入生成文本响应。

SpringAI提供了非常简单的多模态输入集成,接下来我们通过一个简单实例,来看一下在SpringAI中,如何接入多模态模型

查看更多

分享到