news 2026/6/9 23:48:51

AI测试、大模型测试(七)Java主流大模型框架技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI测试、大模型测试(七)Java主流大模型框架技术

目录

一、大模型按「应用领域」分类

二、 主流框架技术特点

2.1 Spring AI框架

1、 pom依赖

2、 Spring AI特点

3、Spring AI 例子,Spring AI集成OpenAI并实现对话功能

2.2 LangChain4j框架

1、 LangChain4j简介

2、 LangChain4j使用

3、调用示例


一、大模型按「应用领域」分类

大模型按「应用领域」分类,可分为: 自然语言处理大模型、计算机视觉大模型和多模态大模型。

1.自然语言处理大模型自然语言处理大模型专注于处理和理解自然语言文本,涵盖文本分类、情感分析、机器翻译、问答系统等领域。常见的模型包括BERT、GPT系列、RoBERTa和ALBERT等。

2.计算机视觉大模型计算机视觉大模型专注于图像、视频等视觉数据的处理和分析,涵盖图像识别、目标检测、图像分割和图像生成等任务。此类模型通常采用卷积神经网络及其变种,或基于Transformer架构提取图像特征。

3.多模态大模型多模态大模型能够同时处理文本、图像、音频等多种类型的数据,实现跨模态的信息表示、理解与交互。此类模型在智能交互领域展现出了较强的适应性。

二、 主流框架技术特点

Java生态系统提供了多种开发框架选择, 主流框架技术:

- Spring AI:Spring生态集成,功能全面

- LangChain4j:灵感来自Python LangChain,链式调用

- Agents-Flex:国产框架,注重灵活性和性能

- Haystack:面向生产环境的搜索增强生成

**技术选型考量因素**

- 项目规模:大型项目适合Spring AI,轻量级场景考虑Agents-Flex

- 团队熟悉度:熟悉Spring生态的团队可优先选择Spring AI

- 性能要求:高并发场景需要评估框架的性能表现

- 功能需求:复杂代理场景可能需要更专业的框架支持

注: Midjourney和Stable Diffusion是专门用于从文本生成图像的模型,而ChatGPT擅长处理文本交互

2.1 Spring AI框架

1、 pom依赖

<!-- Spring AI -->

<dependency>

<groupId>org.springframework.ai</groupId>

<artifactId>spring-ai-openai-spring-boot-starter</artifactId>

<version>${spring-ai.version}</version>

</dependency>

2、 Spring AI特点

  • Spring AI支持处理语言、图像和音频等多种输入与输出格式。此外,Spring AI还提供对Embedding的支持,以实现更高级的用例,如多模态交互和跨领域应用。
  • Spring AI使用结构化输出转换器将字符串转换为JSON、XML或Java类等数据类型(大模型的输出是简单的字符串。即使请求以JSON格式返回,实际返回的也是字符串形式的JSON,而非真正的JSON数据结构)
  • Spring AI提供多种方法将用户数据和API集成到AI模型中,使其能够基于最新信息或外部系统数据进行响应。
  • 检索增强生成(Retrieval Augmented Generation,RAG)结合了检索与生成的优势,借助外部数据源弥补大模型自身知识的局限,提高生成内容的准确性和相关性,减少大模型的“幻觉”​。

3、Spring AI 例子,Spring AI集成OpenAI并实现对话功能

注:Chat-Gpt是由OpenAI开发的基于GPT-3.5架构的大型语言模型。OpenAI是一个非营利性人工智能研究实验室

注:Spring AI 也可以集成deepseek实现对话功能。

DeepSeek: 适用于需要高精度和领域专业知识的场景,例如医疗病历分析、金融风险评估等等(在特定领域应用中用户体验较好,结果可靠;但在通用对话中可能不如ChatGPT流畅)

ChatGPT: 适用于广泛的对话和生成任务,例如客服自动化、教育辅助、内容创作、编程帮助等

注:在实现基于Spring Boot框架的对话功能时,集成GPT(Generative Pre-trained Transformer)模型,特别是OpenAI的GPT-3或GPT-4,可以提供强大的自然语言处理能力。

注:要在Spring Boot应用中集成DeepSeek或其他类似模型,步骤类似。

步骤一,使用Spring Initializr创建项目+添加Spring Web依赖和OpenAI依赖

步骤二,配置API key,application.properties中配置OpenAI的API地址和密钥

注: API key可以保存在文件中,有时也支持保存在大模型平台上

步骤三,创建Controller并利用ChatClient通过链式调用实现对话功能

步骤四,访问/hwc/chat路径时,ChatClient响应请求并将应答结果返回至客户端

2.2 LangChain4j框架

1、 LangChain4j简介

LangChain4j 是LangChain 的 Java 实现,一款基于Java的轻量级框架, 专为构建基于大语言模型(LLM)的应用程序而设计。它是 LangChain 框架在 Java 社区的移植版本,旨在提供类似于 Python 中 LangChain 的功能和灵活性。LangChain 本身是用 Python 编写的,但它可以通过各种方式与 Java 应用程序集成;

LangChain4j的核心组件包括语言模型(Language Model)、记忆(Memory)、工具(Tool)等。其中,语言模型是核心,负责生成文本;记忆用于存储对话历史,以便模型能够进行上下文相关的回答;工具则可以扩展模型的能力,例如进行搜索、调用API等。

适用场景:

  • 聊天机器人:通过对话能力实现智能客服、虚拟助手等。
  • 问答系统:结合知识库,提供准确的问答服务。
  • 文本生成:生成文章、故事、代码等

2、 LangChain4j使用

第一步:

<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-core</artifactId> <version>最新版本号</version> </dependency> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai</artifactId> <version>最新版本号</version> </dependency>


第二步:通常需要在 application.properties 或 application.yml 文件中设置必要的配置,例如 API 密钥、模型选择

如果使用OpenAI的模型,需要在OpenAI官网注册账号并获取API Key

以OpenAI为例:langchain4j.openai.apiKey=你的OpenAI API Key

第三步:对话能力使用

@Service public class ChatService { private final ChatLanguageModel model; public ChatService() { model = new OpenAiChatModel(); } public String chat(String userMessage) { ConversationalRetrievalChain chain = ConversationalRetrievalChain.builder() .chatLanguageModel(model) .build(); return chain.execute(userMessage); } }
  • 设置角色参数:

你是一个{{role}},请用专业的角度回答:{{question}}

  • 设置会话记忆:
  • 自定义模型: 自定义模型允许开发者根据需求实现自己的语言模型,例如使用本地模型或自定义逻辑。

使用本地模型:例如使用本地的Transformer模型。

自定义逻辑:例如实现特定的文本生成逻辑。

  • 自定义工具允许开发者根据需求实现自己的工具,例如调用外部API或执行特定操作

调用外部API:例如调用天气API获取天气信息。

执行特定操作:例如调用系统命令执行操作。

  • 自定义链允许开发者根据需求实现自己的链,例如将多个任务串联起来。

串联多个任务:例如先进行文本生成,再进行情感分析。

实现复杂逻辑:例如根据条件选择不同的任务。

3、调用示例

https://cloud.tencent.com/developer/article/2512470

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

43、Linux系统故障排除与维护指南

Linux系统故障排除与维护指南 1. 文件系统挂载问题及解决 当文件包含无效条目时,文件系统将无法正确挂载。这种情况下,需要编辑 /etc/fstab 文件来修复错误。若根分区出现此问题,需手动挂载该分区,然后对文件进行修改。在启动过程中出现的任何错误消息都会记录在 /var…

作者头像 李华
网站建设 2026/6/9 23:33:38

“十五运”火炬手是机器人!它能自主奔跑背后的技术有多硬核?

万众瞩目的火炬传递现场&#xff0c;一位特殊的“运动员”稳步接过圣火&#xff0c;它不需要人类搀扶或遥控&#xff0c;便能自主识别路线、保持平衡、稳健奔跑——这并非科幻电影&#xff0c;而是全国第十五届运动会上的真实一幕。在2025年举办的第十五届全运会上&#xff0c;…

作者头像 李华
网站建设 2026/6/5 22:48:12

vscode中可以使用的免费的AI编程工具有哪些

VS Code 中有许多优秀的免费 AI 编程助手插件&#xff0c;以下是最受欢迎和实用的选择&#xff1a; &#x1f193; 完全免费&#xff08;无需付费&#xff09; 1. GitHub Copilot (有限免费) 免费条件&#xff1a;学生、教师、热门开源项目维护者个人免费&#xff1a;GitHub Co…

作者头像 李华
网站建设 2026/6/9 8:45:59

iOS 巨魔商店专属 VansonMod 神器!无需越狱改内存、管存档,越狱支持汇编 Patch,还能 Hex 编辑 + 进程管理,iOS14 + 适配~

&#x1f31f;简介 VansonMod 是一款专为 TrollStore&#xff08;巨魔商店&#xff09; 环境量身打造的全能型 Root 辅助工具。凭借创新的 外部运行机制&#xff0c;无需完整越狱即可实现游戏数值修改、应用存档管理等核心功能&#xff0c;更支持越狱环境下的汇编指令&#xff…

作者头像 李华
网站建设 2026/6/8 20:09:30

购物车小球动画:点击商品生成飞向购物车的小球动画

最近做了一个小需求&#xff0c;写购物车小球动画效果,给大家分享一下这个功能的源码&#xff0c;以便以后的使用。实现逻辑 每次点击时&#xff0c;拿到点击的位置作为小球的开始位置&#xff0c;再获取到购物车的结束位置。确定了两端位置之后&#xff0c;给小球设置css的pat…

作者头像 李华