news 2026/7/18 10:29:54

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/7/14 13:16:41

OpenSCA-cli终极使用指南:从安装到实战

OpenSCA-cli终极使用指南&#xff1a;从安装到实战 【免费下载链接】OpenSCA-cli OpenSCA 是一款开源的软件成分分析工具&#xff0c;用于扫描项目的开源组件依赖、漏洞及许可证信息&#xff0c;为企业及个人用户提供低成本、高精度、稳定易用的开源软件供应链安全解决方案。 …

作者头像 李华
网站建设 2026/7/17 0:25:18

37、深入解析 Linux 系统安全防护策略

深入解析 Linux 系统安全防护策略 1. 引言 在当今数字化时代,Linux 系统凭借其开源、稳定、高效等特性,被广泛应用于各种领域。然而,随着网络攻击的日益猖獗,Linux 系统的安全问题变得尤为重要。本文将详细介绍 Linux 系统安全的多个方面,并提供相应的防护措施。 2. 基…

作者头像 李华
网站建设 2026/7/17 21:52:56

40、Linux 系统故障排除指南

Linux 系统故障排除指南 在 Linux 系统管理中,故障排除是一项至关重要的技能。当系统进程或应用程序停止运行,用户无法正常工作时,管理员必须尽快解决问题。本文将为你介绍 Linux 故障排除的基础知识、最佳实践方法以及可用的故障排除资源。 一、故障识别与定位 在进行故…

作者头像 李华
网站建设 2026/7/17 15:54:24

驻马店惊现!这家家电门店竟承诺全程包维修!

驻马店惊现&#xff01;这家家电门店竟承诺全程包维修&#xff01;在驻马店的家电市场中&#xff0c;消费者们常常为家电的购买和后续维修问题而烦恼。近期&#xff0c;驻马店一家家电门店却凭借全程包维修的承诺&#xff0c;迅速吸引了众多消费者的目光&#xff0c;它就是驻马…

作者头像 李华
网站建设 2026/7/18 9:43:22

HoRain云--MySQL日志管理:数据库运维的7大神器

&#x1f3ac; HoRain 云小助手&#xff1a;个人主页 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

作者头像 李华