news 2026/6/15 17:59:04

Java开发的AI应用框架简述——LangChain4j、Spring AI、Agent-Flex

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java开发的AI应用框架简述——LangChain4j、Spring AI、Agent-Flex

LangChain4j

LangChain4j官网
star很多,文档齐全,在AI服务中,提供了丰富的功能,示例代码丰富。

简介

是一个功能丰富、易于使用的Java AI开发框架,特别适合需要快速集成和使用大型语言模型的Java开发者。
项目特点

  1. 多语言模型支持:
    ○ 支持多种大语言模型(LLM),包括OpenAI、Anthropic、Cohere等。
    ○ 提供了统一的API接口,使得切换不同的语言模型变得简单。
  2. 丰富的功能:
    ○ LLM访问:轻松调用不同的语言模型进行文本生成、对话等任务。
    ○ Prompt定义:提供了灵活的Prompt定义方式,支持动态生成和模板化。
    ○ Function Calling:支持调用外部函数,将AI模型与其他服务集成。
    ○ 记忆(Memory):支持会话记忆,保持对话上下文的连贯性。
    ○ Embedding:提供了文本嵌入功能,支持向量化表示。
    ○ Vector Store:支持向量存储,便于相似性搜索和推荐系统。
  3. 简洁的API设计:
    ○ 通过简洁的API设计,使得开发者可以快速上手,减少学习成本。
    ○ 示例代码简单明了,易于理解和使用。
  4. 框架集成:
    ○ 可以与Spring Boot等主流Java框架无缝集成,方便在现有项目中引入AI功能。
    ○ 提供了Spring Boot Starter,使得配置和使用更加方便。
  5. 社区和支持:
    ○ 文档:提供了详细的文档和示例代码,帮助开发者快速上手。
    ○ 社区:有活跃的社区和论坛,开发者可以在这里交流经验和解决问题。
    ○ 贡献:欢迎开发者贡献代码和提出改进建议,共同推动项目的持续发展。
应用场景

● 聊天机器人:构建能够进行自然对话的聊天机器人。
● 文本生成:生成文章、摘要、报告等文本内容。
● 情感分析:分析文本的情感倾向,用于市场调研和用户反馈分析。
● 翻译:提供多语言翻译功能。
● 推荐系统:基于用户行为和偏好,提供个性化推荐。

对Chians的理解不同

官方文档中表示:Chains 的概念源自 Python 的 LangChain(在引入 LCEL 之前)。其理念是Chain为每种常见用例(如聊天机器人、RAG 等)都提供一个 Chains。Chains 结合了多个低级组件并协调它们之间的交互。Chains 的主要问题是,如果您需要自定义某些内容,它们会过于死板。LangChain4j 仅实现了两个 Chains(ConversationalChain和ConversationalRetrievalChain),我们目前不打算添加更多 Chains。
提出了另一种解决方案,称为 AI Services,专为 Java 量身定制。其理念是将与 LLM 和其他组件交互的复杂性隐藏在简单的 API 背后。
这种方法与 Spring Data JPA 或 Retrofit 非常相似:您声明性地定义具有所需 API 的接口,而 LangChain4j 提供实现此接口的对象(代理)。您可以将 AI Service 视为应用程序中服务层的一个组件。它提供AI服务。因此得名。
AI 服务处理最常见的操作:
● 格式化 LLM 的输入
● 解析 LLM 的输出
它们还支持更多高级功能:
● 聊天记忆
● 工具

AI 服务可用于构建有状态的聊天机器人,以促进来回交互,以及自动化隔离对 LLM 的每个调用的流程。
https://docs.langchain4j.dev/tutorials/ai-services#ai-services-1

springboot集成

Spring Boot应用程序
LangChain4j Spring Boot starter 大大简化了在 Spring Boot 应用程序中使用 AI 服务。
示例代码丰富。

Spring AI

Spring AI官网
Spring AI是2024年3月1日推出的,目前只有1.0.0版本。star4.9k,springboot版本要求3.2以上,jdk17及以上
版本更新不快,我6月份使用最新是0.8.1版本。

简介

《Spring AI》是Spring框架家族中的一个新成员,专门用于简化人工智能(AI)应用的开发。它借鉴了Spring框架的核心设计理念,提供了一个强大且灵活的平台,使得开发者可以更轻松地集成和使用各种AI服务和模型。以下是关于《Spring AI》的详细介绍,包括其特点、功能、应用场景和使用方法。

关键特点
  1. 强大的生态系统:
    ○ Spring 生态:《Spring AI》继承了Spring框架的强大生态系统,可以与Spring Boot、Spring Data、Spring Security等其他Spring项目无缝集成。
    ○ 丰富的扩展:提供了大量的扩展和模块,支持多种AI服务和模型。
  2. 低门槛:
    ○ 简单的API:提供了简洁易用的API,使得开发者可以快速上手,减少学习成本。
    ○ 开箱即用:通过Spring Boot Starter,可以快速集成到现有的Spring项目中。
  3. 多语言模型支持:
    ○ 多种模型:支持多种大型语言模型(LLM),包括OpenAI的GPT系列、Anthropic的Claude、阿里云的Qwen等。
    ○ 统一接口:提供了统一的API接口,使得切换不同的语言模型变得简单。
  4. 丰富的功能:
    ○ LLM访问:轻松调用不同的语言模型进行文本生成、对话等任务。
    ○ Prompt定义:提供了灵活的Prompt定义方式,支持动态生成和模板化。
    ○ Function Calling:支持调用外部函数,将AI模型与其他服务集成。
    ○ 记忆(Memory):支持会话记忆,保持对话上下文的连贯性。
    ○ Embedding:提供了文本嵌入功能,支持向量化表示。
    ○ Vector Store:支持向量存储,便于相似性搜索和推荐系统。
  5. 反应式编程支持:
    ○ 反应式编程:支持反应式编程模型,可以构建高并发、低延迟的应用。
    ○ 非阻塞 I/O:使用非阻塞 I/O 操作,提高应用的响应能力和吞吐量。
  6. 安全性:
    ○ Spring Security:可以与Spring Security集成,提供强大的安全保护机制。
    ○ API密钥管理:支持API密钥的安全管理和使用。
应用场景

● 聊天机器人:构建能够进行自然对话的聊天机器人。
● 文本生成:生成文章、摘要、报告等文本内容。
● 情感分析:分析文本的情感倾向,用于市场调研和用户反馈分析。
● 翻译:提供多语言翻译功能。
● 推荐系统:基于用户行为和偏好,提供个性化推荐。
● 图像识别:支持图像识别和处理,适用于视觉相关的AI应用。

Agent-Flex

Agent-Flex官网
最近刚刚出炉的一个Java开发的AI应用框架,目前star不多才200+,可以看后续发展

简介

Agents-Flex 是一个 Java 开发的 AI 应用开发框架,是为了简化 AI 应用开发而生。 其灵感来源 LangChain、 LlamaIndex 以及作者作为一线 AI 应用开发工程师的最佳实践,提供了跨 AI 服务商的、可移植的、可编排、不限 Java 开发框架的 API 支持。
Agents-Flex 适用于聊天、图像生成、Embedding 模型、Function Calling 以及 RAG 应用、智能体编排等场景,支持同步以及流式(Stream)的 API 选择。

Agents-Flex 和其他框架对比

1、更具有普适性
相比 Spring-AI、LangChain4j 而言,Agents-Flex 更具有普适性。

  1. Spring-AI 要求的 JDK 版本必须是 JDK 17+,而 Agents-Flex 只需要 JDK 8+。
  2. Spring-AI 要求必须在 Spring 框架下使用,而 Agents-Flex 支持与任何的 JAVA 框架搭配使用,并提供了 spring-boot-starter 的支持。
  3. Spring-AI、LangChain4j 普遍不支持国内的大模型、Embedding 模型以及向量数据库,而 Agents-Flex 对国产服务支持友好。
    2、更简易的 API 设计
    使用 Agents-Flex 两行代码即可实现聊天功能
    2、更强大的智能体编排
    一个强大的 AI 应用,往往是需要灵活的编排能力来完成的, 相比 Agents-Flex 而言,Spring-AI、LangChain4j几乎没有编排的能力。
    Chain(执行链) 编排
    在 Agents-Flex 中,内置了 3 种不同的 Agents 执行链,他们分别是:
    ● SequentialChain:顺序执行链
    ● ParallelChain:并发(并行)执行链
    ● LoopChain:循环执行连
    而以上 3 种执行链中,每个又可以作为其他执行链的子链进行执行,从而形成强大而复杂的 Agents 执行链条。
核心模块

LLMs大语言模型
Memory记忆
Embedding嵌入
Store存储
Document文档
Agent智能体
Chain执行链

结论

Java端的AI能力主要是在2024年出现的,出现的过程中吸收了之前大量AI相关开源框架的设计经验与考虑了它们应用上的弊端。
能力方面基本满足,但迭代更新频率不快。虽然文档丰富,但使用的人相对于python这几个流行框架来说还是太少。
后续会重点关注上面三个框架发展,从目前来看LangChain4j的能力方面更强,文档更丰富、使用人群更多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 14:30:18

基于 ANFIS 的非线性回归(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

作者头像 李华
网站建设 2026/5/22 11:07:27

FastAPI 路径操作依赖项

FastAPI 路径操作依赖项 引言 FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,由 Python 3.6+ 支持并基于标准 Python 类型提示。依赖项是 FastAPI 中一个强大的特性,它允许我们在请求处理期间执行各种操作,例如身份验证、数据验证、权限检查等。本文将深入…

作者头像 李华
网站建设 2026/6/15 15:47:20

亲测好用10个AI论文工具,专科生轻松搞定论文写作!

亲测好用10个AI论文工具,专科生轻松搞定论文写作! AI 工具助力论文写作,专科生也能轻松应对 在如今的学术环境中,AI 工具正逐渐成为学生和研究者不可或缺的助手。尤其是在论文写作过程中,AI 不仅能够帮助提高效率&…

作者头像 李华
网站建设 2026/6/15 14:34:34

如何使用奥比中光的Viewer查看录像.bag视频呢?

问题描述:如何使用奥比中光的Viewer查看录像.bag视频呢?问题解答:你这个现象 100% 正常,而且你并没有做错任何一步 👍 只是理解上差了一点点,我给你把这一步彻底纠正。一、你刚才做的这件事,本质…

作者头像 李华
网站建设 2026/6/14 1:18:34

渗透测试有前途!网络安全学习路线揭秘,小白也能逆袭

技术门槛高?竞争激烈?真实情况是,这个行业求贤若渴。“我零基础能学网络安全吗?”“学了渗透测试真的能找到工作吗?”很多初学者满怀兴趣地打开第一本安全教材,却被密密麻麻的概念和代码吓退。在技术论坛上…

作者头像 李华
网站建设 2026/6/15 13:56:43

python_flask汽车销售推荐交流系统小程序_61iro583

目录系统概述核心功能技术实现应用价值项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理系统概述 Python Flask汽车销售推荐交流系统小程序是一款基于Flask框架开发的轻量级Web应用,旨在为用户提供汽车销售信息推荐和在线交流平台。系统…

作者头像 李华