Java项目接入AI大模型的四种方式

B站视频链接:

https://www.bilibili.com/video/BV1U8vaBRELW/?spm_id_from=333.1387.collection.video_card.click\&vd_source=25b783f5f945c4507229e9dec657b5bb

准备工作

初始化

IDEA初始化Spring项目

Spring Boot 3.5.9

Spring Web

Lombok

运行测试

测试正常运行、打包运行

powershell 复制代码
java -jar ai-ai-demo-01-0.0.1-SNAPSHOT.jar

添加依赖

Hutool

https://hutool.cn/

Knife4j

https://doc.xiaominfo.com/

修改application.yml

yaml 复制代码
spring:
  application:
    name:
      ai-demo

server:
  port:
    8123

# springdoc-openapi项目配置
springdoc:
  swagger-ui:
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs
  group-configs:
    - group: 'default'
      paths-to-match: '/**'
      packages-to-scan: com.xiaominfo.knife4j.demo.web
# knife4j的增强配置,不需要增强可以不配
knife4j:
  enable: true
  setting:
    language: zh_cn

接入AI的四种方式

下面是四种 AI 大模型接入方式简要对比表

接入方式 优点 缺点 适用场景
SDK 接入 类型安全、开发体验好、性能佳 依赖版本、体积大、语言受限 深度集成、单一模型、性能敏感系统
HTTP 接入 语言无关、灵活、无额外依赖 错误处理与序列化复杂、样板代码多 快速验证、轻量集成、多语言环境
Spring AI 统一抽象、易切换模型、Spring 生态友好 抽象层增加、模型特性受限 Spring 应用、多模型支持、企业级 AI
LangChain / LangChain4j 工具链完整、支持 Agent / RAG / Workflow 学习成本高、抽象可能影响性能 复杂 AI 应用、智能体、RAG 系统

一句话选型建议:

  • 👉 追求性能与稳定:SDK
  • 👉 最快接入 / 原型验证:HTTP
  • 👉 Java / Spring 企业应用:Spring AI
  • 👉 复杂 AI 逻辑(Agent / RAG):LangChain / LangChain4j

SDK接入

https://help.aliyun.com/zh/model-studio/first-api-call-to-qwen?spm=a2c4g.11186623.help-menu-2400256.d_0_0_1.34375e66QWpSzI

HTTP接入

https://help.aliyun.com/zh/model-studio/qwen-api-reference?spm=a2c4g.11186623.help-menu-2400256.d_2_1_0.5e317486bqN62L

Spring AI接入

https://java2ai.com/

LangChain4j接入

https://docs.langchain4j.dev/get-started

相关推荐
忧郁的Mr.Li4 小时前
SpringBoot中实现多数据源配置
java·spring boot·后端
啊森要自信4 小时前
CANN ops-cv:AI 硬件端视觉算法推理训练的算子性能调优与实战应用详解
人工智能·算法·cann
要加油哦~4 小时前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
玄同7654 小时前
从 0 到 1:用 Python 开发 MCP 工具,让 AI 智能体拥有 “超能力”
开发语言·人工智能·python·agent·ai编程·mcp·trae
czy87874754 小时前
深入了解 C++ 中的 `std::bind` 函数
开发语言·c++
新缸中之脑4 小时前
用RedisVL构建长期记忆
人工智能
消失的旧时光-19434 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
yq1982043011564 小时前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class4 小时前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
J_Xiong01174 小时前
【Agents篇】07:Agent 的行动模块——工具使用与具身执行
人工智能·ai agent