Spring ai alibaba graph

Spring AI Alibaba Graph 是一个面向 Java 开发者的工作流和多智能体框架,吸收了python 框架langchain(spring ai alibaba是在Spring ai框架做的扩展,Spring ai也是吸收了langchain设计 )、langGraph(srping ai alibaba graph是它的一个java版,官网有说明)。Spring AI Alibaba Graph专门用于构建由多个 AI 模型或步骤组成的复杂应用 。该框架基于 Spring Boot 生态深度集成,提供声明式 API 来编排工作流,让开发者能将 AI 应用的各个步骤抽象为节点(Node),并通过有向图(Graph)的形式连接这些节点 。

与传统单 Agent(一问一答式)方案相比,Spring AI Alibaba Graph 支持更复杂的多步骤任务流程,有助于解决单一大模型对复杂任务力不从心的问题。

现有的ai agent应用平台现状

现有的 ai agent 设计模式主要有以下几种:

在这里插入图片描述

现在有的ai agent低代码快速搭建平台 dify、n8n等,这些模式都是做了支持的,现在就连openai也在做(做模型的也在做ai应用相关的事了,模型发展已经到了摩尔放缓阶段了)。特别是claude的母公司‌Anthropic提出的mcp协议,给大模型可以调用工具的能力,扩展了模型的除思考以外能力,就像一个人有了一个好用的头脑再长出来可以行动的四肢。目前的ai落地应用,更多是改变了我们和软件的交互方式,以前我们可能手机上或者电脑上会装很多app应用,在我们需要的时候打开它,现在我们只需要跟一个中间人交流,他就像一个人一样理解我们的需求,然后中间人跟这些app做交互,把app的结果再翻译为我们可以直观理解的方式做呈现。mcp协议出来以后,很多服务厂商对这个协议进行了改造,紧跟ai趋势,一些国内外大的厂商甚至做了一些mcp market 托管平台,国外像smithery 国内的有阿里的百炼平台有一个专门的mcp模块,每个人都可以将自己的mcpserver托管到平台,让其它人使用。

Spring ai alibab agent现状

截止目前Spring ai alibaba 发布版本graph版本1.0.0.4实现的agent,一共实现了SEQUENTIAL、ROUTING、PARALLEL、LOOP

spring ai alibaba agent

基于1.0.0.4版本的graph版本,实现RecAgent的模式,LLMNode的节点,输入/输出state key 必须是“messages”,默认的状态策略是追加(给到模型时多轮对话),ToolNode不设置llmResponseKey默认的也是“messages”。

agent 实现详解

实现类的依赖关系:

在这里插入图片描述

ParallelGraphBuildingStrategy
  • BaseAgent是一个抽象类,它是agent的父类,用户可以继承它,实现自定义的agent,我们自己的agent都可以通过实现这个类去实现。主要的方法有构建可运行的graph图,agent启动方法,stream流失返回,asAsyncNodeAction这个方法提供一个将一个agent作为外层agent的一个节点接入的方式,是muti-agent模式实现主要方法,

  • FlowAgent也是一个抽象类,继承类BaseAgent,是muti-agent模式父类,他定义了不同模式的agent是如何构建graph的,定义了抽象方法。

    protected abstract StateGraph buildSpecificGraph(FlowGraphBuilder.FlowGraphConfig config)
           throws GraphStateException;
    
  • muti-agent,目前muti-agent支持的设计模式有Router、Paraller、Sequential、Loop。也就是上面对应的四个类。根据不同类型使用策略模式构建不同的graph,具体实现是由FlowGraphBuilder中方法buildGraph进行构建的。

multi-agent

这个模块还在开发,ParallerAgent 基于Recagent实现目前无法使用,后续等开发完发布稳定版本应该是可以用的,muti-agent需要,稳定发布后,看给出的demo如何使用,后续也会持续更细。

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐