当前位置: 首页 > news >正文

零基础学AI大模型之SpringAI

大家好,我是工藤学编程 🦉一个正在努力学习的小博主,期待你的关注
实战代码系列最新文章😉C++实现图书管理系统(Qt C++ GUI界面版)
SpringBoot实战系列🐷【SpringBoot实战系列】SpringBoot3.X 整合 MinIO 存储原生方案
分库分表分库分表之实战-sharding-JDBC分库分表执行流程原理剖析
消息队列深入浅出 RabbitMQ-RabbitMQ消息确认机制(ACK)
AI大模型零基础学AI大模型之从0到1调用大模型API

前情摘要:
1、零基础学AI大模型之读懂AI大模型
2、零基础学AI大模型之从0到1调用大模型API


本文章目录

  • 零基础学AI大模型之SpringAI
    • 引言
    • 一、深度解析SpringAI
      • 1.1 什么是SpringAI?
      • 1.2 主流AI开发框架对比:为什么选SpringAI?
      • 1.3 SpringAI的四大核心特性
        • 1. 提供商无关:统一API兼容20+主流模型
        • 2. 胶水层能力:连接大模型与企业系统
        • 3. 工程化工具链:覆盖AI开发全流程
        • 4. Spring原生体验:降低Java开发者学习成本
      • 1.4 SpringAI的典型适用场景
    • 二、LLM多模态:从“单一交互”到“类人感知”
      • 2.1 什么是多模态?
      • 2.2 多模态 vs 单模态
      • 2.3 多模态的常见类型与应用场景
      • 2.4 SpringAI对多模态的支持
    • 三、SpringAI实战
      • 3.1 实战前提:环境准备
      • 3.2 第一步:项目创建与依赖配置
        • 3. 关键版本变化说明(避坑重点)
      • 3.3 第二步:配置文件(application.yml)
        • 配置参数解读:
      • 3.4 第三步:开发AI接口(Controller)
        • 1. 启动类(SpringAiDemoApplication.java)
        • 2. 控制器(AiController.java)
      • 3.5 第四步:测试接口与验证结果
        • 1. 启动项目
        • 2. 测试接口(两种方式)
        • 3. 预期返回结果
      • 3.6 深入理解:ChatModel接口源码
        • 核心方法用途:

零基础学AI大模型之SpringAI

引言

随着大语言模型(LLM)技术的爆发,AI应用从实验室走向企业生产环境已成为趋势。但对Java开发者而言,长期面临两大痛点:一是不同AI模型(如OpenAI、通义千问、Gemini)接口不统一,集成时需重复适配;二是企业级应用需兼顾模块化、可扩展性与现有Spring生态(Spring Boot、Spring Cloud)的兼容性,传统AI开发框架(如LangChain)难以满足。

SpringAI 的出现恰好填补了这一空白——作为Spring生态下的企业级AI应用开发框架,它将Spring的设计哲学延伸至AI领域,让Java工程师无需深入AI底层技术,即可快速集成大模型能力。同时,LLM的“多模态”技术正成为突破单模态局限的关键,而SpringAI也已原生支持多模态能力,为开发者提供从文本到图像、语音的全场景解决方案。

本文将从SpringAI的核心特性、与主流AI框架的对比、LLM多模态技术解析,到完整的SpringAI项目实战,带您全面掌握Java生态下的AI应用开发。

一、深度解析SpringAI

1.1 什么是SpringAI?

SpringAI是Spring官方推出的企业级AI应用开发框架,核心定位是“连接大模型与企业系统的桥梁”。它并非替代LLM,而是通过标准化接口、工程化工具链,解决AI模型与企业数据、现有API的连接难题,让Java开发者能以“Spring原生方式”开发AI应用。

其官方定义可概括为:

将Spring的可移植性、模块化、依赖注入等核心原则应用于AI领域,支持聊天、嵌入、向量存储、RAG等完整AI开发栈,兼容20+主流大模型,降低企业级AI应用的开发门槛。

官网与源码地址:

  • 官方文档:https://spring.io/projects/spring-ai#learn
  • GitHub仓库:https://github.com/spring-projects/spring-ai

1.2 主流AI开发框架对比:为什么选SpringAI?

当前AI应用开发框架众多,不同框架侧重不同场景。对Java开发者或企业级项目而言,SpringAI的优势尤为明显:

框架/平台核心优势适用场景对Java友好度企业级支持
SpringAISpring生态无缝集成、标准化API、工程化工具链Java企业级AI应用、现有Spring项目升级★★★★★★★★★★
LangChain灵活的链(Chain)设计、丰富的工具集成多步骤AI任务(如问答+总结)★★★☆☆★★★☆☆
LangChain4j适配Java生态、轻量级简单Java AI应用★★★★☆★★★☆☆
Dify/Coze低代码平台、可视化配置非技术人员快速搭建AI应用★★☆☆☆★★★★☆
CrewAI多智能体协作、任务拆分复杂多角色AI任务(如团队协作)★★★☆☆★★★☆☆

核心差异:SpringAI并非“从零搭建AI能力”,而是聚焦“企业级集成”——它能直接复用Spring Boot的自动配置、Spring Cloud的分布式能力,让已有Spring项目(如电商后台、CRM系统)快速接入AI功能,无需重构技术栈。

1.3 SpringAI的四大核心特性

SpringAI的设计围绕“简化企业级AI开发”展开,核心特性可概括为四点:

1. 提供商无关:统一API兼容20+主流模型

SpringAI通过抽象接口屏蔽了不同AI提供商的差异,开发者只需一套代码,即可切换不同模型。目前已支持:

  • 国外模型:OpenAI(GPT-3.5/4)、Google Gemini、Anthropic Claude、Meta Llama 3
  • 国内模型:阿里云通义千问、百度文心一言、字节跳动火山大模型、华为盘古大模型
  • 场景化模型:图像生成(DALL·E、Stable Diffusion)、语音处理(Whisper)、向量生成(OpenAI Embeddings)

示例:切换“OpenAI”与“通义千问”时,仅需修改配置文件的model参数,无需改动业务代码。

2. 胶水层能力:连接大模型与企业系统

SpringAI承担“中间件”角色,解决大模型与企业数据、现有系统的连接问题:

  • 对接企业数据库:支持从MySQL、Elasticsearch等数据库中提取数据,结合RAG(检索增强生成)生成精准回答;
  • 集成企业API:可调用ERP、CRM等系统的API,让AI能获取实时业务数据(如“查询近30天的订单退款率并总结原因”);
  • 工具链扩展:支持集成第三方工具(如计算器、翻译API、邮件发送工具),拓展AI的能力边界。
3. 工程化工具链:覆盖AI开发全流程

SpringAI提供从“模型调用”到“应用落地”的全流程工具,避免开发者重复造轮子:

  • 模型调用层:封装模型请求/响应逻辑,支持同步调用、流式调用(如实时聊天);
  • 数据处理层:提供文本分割器(TextSplitter)、文档加载器(DocumentLoader),适配PDF、Word、Markdown等格式;
  • 向量存储层:统一向量数据库接口,支持Redis、Milvus、Pinecone等,为RAG提供底层支持;
  • RAG全流程:内置检索器(Retriever)、提示词模板(Prompt Template),可快速搭建文档问答系统。
4. Spring原生体验:降低Java开发者学习成本

对熟悉Spring的开发者而言,SpringAI几乎“零学习成本”:

  • 自动配置:引入Starter依赖后,框架自动配置ChatModelEmbeddingModel等Bean,无需手动初始化;
  • 依赖注入:可通过@Autowired直接注入AI模型实例,与Spring Bean的使用方式一致;
  • 分布式支持:无缝集成Spring Cloud,可实现AI服务的负载均衡、服务发现、熔断降级,满足高并发场景。

1.4 SpringAI的典型适用场景

SpringAI的企业级特性使其在以下场景中尤为适用:

  • 智能客服系统:结合RAG检索企业知识库,自动回答用户关于产品功能、售后政策的问题,支持文本/语音多模态交互;
  • 文档问答系统:上传企业手册、技术文档(如API文档、运维手册),AI可精准定位相关内容并生成自然语言回答;
  • 代码生成助手:为Java开发者生成接口代码、单元测试、SQL语句,支持结合企业代码规范定制生成逻辑;
  • 内容总结与分析:自动总结会议纪要、客户反馈、订单数据,生成结构化报告(如“总结本周客户投诉的Top3问题”);
  • 知识库检索:构建企业私有知识库,支持按关键词、语义检索,解决“文档多找不到”的问题。

二、LLM多模态:从“单一交互”到“类人感知”

在了解SpringAI后,我们不得不提当前LLM的核心发展方向——多模态技术。它让AI从“只能处理文本”进化为“能看懂、听懂、生成多种信息”,更贴近人类的交互方式。

2.1 什么是多模态?

  • 通俗定义:多模态LLM是“全能信息处理器”,能同时处理文本、图像、语音、视频等多种类型的信息,就像人类用眼睛看图、用耳朵听声、用大脑理解语义,并整合这些信息进行交流。
  • 技术定义:多模态模型通过统一的神经网络架构(如Transformer),将不同模态的信息(文本的Token、图像的像素、语音的声波)转换为统一的向量表示,实现跨模态的理解与生成。

2.2 多模态 vs 单模态

早期AI模型多为“单模态”,即只能处理一种信息类型,而多模态则打破了这一局限:

维度单模态模型(如早期ChatGPT、识图软件)多模态模型(如GPT-4V、Gemini)
信息处理能力仅支持文本/图像/语音中的一种同时支持文本、图像、语音、视频
交互方式单一输入(如文本输入→文本输出)多输入多输出(如图文输入→文本/语音输出)
理解深度无法关联不同类型信息(如图文无关)能关联多模态信息(如图像内容+文本提问→精准回答)
应用场景局限(如纯文本聊天、纯图像识别)广泛(如图文内容生成、语音助手+图像分析)

示例对比
在这里插入图片描述

  • 单模态识图软件:只能识别“图片中有一只小狗”,但无法回答“这只小狗在做什么?用一句话描述并模拟叫声”;
  • 多模态模型:能识别“小狗在追飞盘”,生成文本描述,并模拟“汪汪汪”的叫声。

2.3 多模态的常见类型与应用场景

多模态的核心价值是“拓展AI的感知与表达能力”,常见模态及应用如下:

模态类型输入场景输出场景典型应用案例
文本模态用户提问、文档内容回答、总结、代码生成智能客服文本问答、文档总结
图像模态照片、截图、手绘草图图像描述、物体识别、图像生成图文结合的产品介绍、AI绘图
语音模态人类语音、环境音语音转文字、文字转语音、语音识别语音助手(如“小爱同学”)、会议录音转文字
视频模态短视频、监控录像视频内容分析、字幕生成视频摘要生成、监控异常行为检测

生活中的多模态实例
打开某购物APP的“AI导购”功能,你上传一张“黑色连帽卫衣”的照片(图像输入),说“帮我找类似款式,预算500以内”(语音输入),AI会返回符合条件的商品列表,并语音播报“为您推荐3款连帽卫衣,最低售价399元”(语音输出)——这就是多模态的典型交互。

2.4 SpringAI对多模态的支持

SpringAI已原生集成多模态能力,开发者可通过统一接口调用不同模态的模型,无需单独适配:

多模态模型类型核心能力支持的主流模型开发示例
聊天模型文本对话、文本生成OpenAI GPT-4、通义千问实现“讲个笑话”“总结订单数据”接口
嵌入模型文本/图像向量化(用于检索)OpenAI Embeddings、通义千问Embeddings将文档转换为向量,存储到Milvus
图像生成模型文本→图像、图像→图像编辑DALL·E 3、Stable Diffusion输入“生成一只在太空漂浮的猫”,返回图像URL
语音模型语音转文字(ASR)、文字转语音(TTS)OpenAI Whisper、阿里云语音服务上传录音文件,转换为文本并总结

关键优势:SpringAI对多模态模型的封装与“文本模型”一致,开发者无需学习新的调用方式。例如,调用图像生成模型与调用聊天模型的代码结构相似,仅需注入对应的ImageModel实例即可。

三、SpringAI实战

理论之后,我们通过实战掌握SpringAI的核心开发流程。本次实战以“集成DeepSeek模型实现文本生成接口”为例,覆盖环境准备、项目搭建、代码开发全流程。

3.1 实战前提:环境准备

SpringAI对依赖版本有明确要求,需提前配置以下环境:

依赖工具最低版本要求推荐版本说明
JDK1721Spring Boot 3.x依赖JDK 17+,JDK 21性能更优
Spring Boot3.23.5.3需与SpringAI版本兼容(本文用3.5.3)
Maven3.93.9.6用于依赖管理,避免版本冲突
开发工具IDEA 2023.1+IDEA旗舰版2024支持Spring Boot自动配置提示

注意:避免使用低于上述版本的工具,否则可能出现依赖冲突(如Spring Boot 3.1与SpringAI 1.0.0不兼容)。

3.2 第一步:项目创建与依赖配置

SpringAI从M7版本开始调整了Starter命名规范和模块结构,旧教程的依赖已失效,需使用新版配置:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!-- 父依赖:Spring Boot 3.5.3 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.3</version><relativePath/></parent><groupId>net.xdclass</groupId><artifactId>spring-ai-demo</artifactId><version>0.0.1-SNAPSHOT</version><name>spring-ai-demo</name><description>SpringAI集成DeepSeek实战</description><properties><java.version>21</java.version><spring-ai.version>1.0.0</spring-ai.version>  <!-- SpringAI稳定版 --></properties><dependencies><!-- Spring Web:用于开发HTTP接口 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- SpringAI OpenAI兼容依赖(支持DeepSeek等兼容OpenAI协议的模型) --><!-- 旧版本(M7前):spring-ai-openai-spring-boot-starter --><!-- 新版本(M7后):命名规范调整为 spring-ai-starter-model-{模型名} --><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId></dependency><!-- 测试依赖(可选) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><!-- 依赖管理:统一SpringAI子模块版本 --><dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><!-- Spring Boot打包插件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><!-- 阿里云仓库:加速依赖下载(国内用户必备) --><repositories><repository><id>aliyun</id><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository><repository><id>aliyun-spring</id><name>阿里云Spring仓库</name><url>https://maven.aliyun.com/repository/spring</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository></repositories>
</plugins>
</pluginRepositories>
</project>
3. 关键版本变化说明(避坑重点)
  • Starter命名规范调整
    旧版本:spring-ai-{模型名}-spring-boot-starter(如spring-ai-openai-spring-boot-starter
    新版本:spring-ai-starter-model-{模型名}(如spring-ai-starter-model-openai
    原因:统一Starter命名,区分“模型 Starter”与“工具 Starter”(如向量存储 Starter)。

  • 模块架构拆分
    旧版本:核心功能集中在spring-ai-core
    新版本:拆分为3个专注模块,职责更清晰:

    • spring-ai-commons:基础组件(Document、TextSplitter);
    • spring-ai-model:AI模型抽象(ChatModel、ImageModel);
    • spring-ai-vector-store:向量数据库抽象(支持Redis、Milvus)。

3.3 第二步:配置文件(application.yml)

src/main/resources下创建application.yml,配置AI模型的API密钥、基础地址、模型参数:

spring:application:name: spring-ai-demo  # 项目名称ai:openai:  # 兼容OpenAI协议的模型(如DeepSeek、通义千问)api-key: your-api-key  # 替换为你的API密钥(从DeepSeek/OpenAI官网获取)base-url: https://api.deepseek.com  # DeepSeek的API基础地址(OpenAI为https://api.openai.com/v1)chat:options:model: deepseek-chat  # 模型名称(DeepSeek的对话模型)temperature: 0.8  # 输出随机性(0~1,0为确定性输出,1为最大随机性)max-tokens: 2048  # 最大输出 tokens(避免生成过长内容)
配置参数解读:
  • api-key:访问AI模型的密钥,需从对应平台获取(如DeepSeek官网:https://www.deepseek.com/),切勿硬编码到代码中,生产环境建议通过配置中心(如Nacos)管理。
  • base-url:模型的API网关地址,国内模型(如通义千问)需配置国内地址,避免网络延迟。
  • temperature:控制输出的“创意度”,例如:
    • 场景1:生成报告、代码(需精准)→ 设为0.2~0.4;
    • 场景2:生成故事、笑话(需创意)→ 设为0.6~0.9。
  • max-tokens:限制模型输出的最大长度,防止超出API额度或返回冗余内容。

3.4 第三步:开发AI接口(Controller)

创建AiController,通过@Autowired注入OpenAiChatModel,开发文本生成接口:

1. 启动类(SpringAiDemoApplication.java)
package net.xdclass;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringAiDemoApplication {public static void main(String[] args) {SpringApplication.run(SpringAiDemoApplication.class, args);}
}
2. 控制器(AiController.java)
package net.xdclass.controller;import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.util.Map;@RestController
@RequestMapping("/ai")  // 接口根路径
public class AiController {// 注入OpenAI兼容的聊天模型(SpringAI自动配置)@Autowiredprivate OpenAiChatModel chatModel;/*** 文本生成接口* @param message 用户输入的提示词(默认:你是谁)* @return 模型生成的结果*/@GetMapping("/generate")public Map<String, String> generateText(@RequestParam(value = "message", defaultValue = "你是谁") String message) {// 调用模型生成结果(底层调用ChatModel的call方法)String result = chatModel.call(message);// 返回JSON格式结果return Map.of("prompt", message, "generation", result);}
}

3.5 第四步:测试接口与验证结果

1. 启动项目

运行SpringAiDemoApplicationmain方法,控制台输出以下日志表示启动成功:
在这里插入图片描述

2. 测试接口(两种方式)

打开浏览器,输入地址:
http://localhost:8080/ai/generate?message=你是谁

3. 预期返回结果

在这里插入图片描述

3.6 深入理解:ChatModel接口源码

OpenAiChatModel实现了SpringAI的ChatModel接口,该接口是所有聊天模型的抽象入口。我们通过源码解读其核心能力:

/*** 聊天模型的顶层接口,定义了与AI模型交互的核心方法*/
public interface ChatModel extends Model<Prompt, ChatResponse>, StreamingChatModel {/*** 1. 单个文本消息调用(最常用)* @param message 用户输入的文本* @return 模型生成的文本*/default String call(String message) {// 封装用户消息为Prompt对象(包含角色:USER)Prompt prompt = new Prompt(new UserMessage(message));// 调用模型并获取结果Generation generation = this.call(prompt).getResult();// 返回结果文本(为空时返回空字符串)return generation != null ? generation.getOutput().getText() : "";}/*** 2. 多消息对话调用(支持上下文)* @param messages 消息列表(如:系统消息+用户消息+助手消息)* @return 模型生成的文本*/default String call(Message... messages) {Prompt prompt = new Prompt(Arrays.asList(messages));Generation generation = this.call(prompt).getResult();return generation != null ? generation.getOutput().getText() : "";}/*** 3. 基础调用方法(返回完整ChatResponse,包含元数据)* @param prompt 包含消息、提示词模板的对象* @return ChatResponse(包含生成结果、模型信息、token使用量)*/ChatResponse call(Prompt prompt);/*** 4. 流式调用(实时返回结果,适合聊天场景)* @param prompt 包含消息的Prompt对象* @return Flux<ChatResponse>(响应式流,逐段返回结果)*/default Flux<ChatResponse> stream(Prompt prompt) {throw new UnsupportedOperationException("streaming is not supported");}
}
核心方法用途:
  • call(String message):快速调用,适用于简单文本生成(如本次实战);
  • call(Message… messages):支持多轮对话,可传入SystemMessage(系统提示)、AssistantMessage(助手历史回复),实现上下文记忆(如“先介绍单例模式,再写懒汉式代码”);
  • stream(Prompt prompt):流式调用,逐段返回结果(如ChatGPT的实时打字效果),需结合Spring WebFlux使用。

觉得有用请点赞收藏!
如果有相关问题,欢迎评论区留言讨论~


文章转载自:

http://M61AZPsj.wqfrd.cn
http://pE7OYOF7.wqfrd.cn
http://3arTQsod.wqfrd.cn
http://ysCSsffr.wqfrd.cn
http://j7PFAVfd.wqfrd.cn
http://Ka9fVipW.wqfrd.cn
http://XfADZtD9.wqfrd.cn
http://SYScMV1a.wqfrd.cn
http://YNs9hDhe.wqfrd.cn
http://9ZC868Cq.wqfrd.cn
http://vkpWn4cV.wqfrd.cn
http://cCJRnTwE.wqfrd.cn
http://5wAZcVk0.wqfrd.cn
http://fWyxi0Pv.wqfrd.cn
http://w2ApZfPh.wqfrd.cn
http://BJtO1f86.wqfrd.cn
http://77saRXY4.wqfrd.cn
http://x0pIBnHo.wqfrd.cn
http://1hgQ7TDT.wqfrd.cn
http://fkvVHkVR.wqfrd.cn
http://KCyLhBfC.wqfrd.cn
http://Vffz8zZ8.wqfrd.cn
http://Km5Nc7Bt.wqfrd.cn
http://08TBxYWX.wqfrd.cn
http://OHHg76tz.wqfrd.cn
http://Y5TrT6BT.wqfrd.cn
http://JLKqzS4d.wqfrd.cn
http://ERlhozb6.wqfrd.cn
http://zNejZbhT.wqfrd.cn
http://hoJx73OP.wqfrd.cn
http://www.dtcms.com/a/381905.html

相关文章:

  • AI行业应用:金融、医疗、教育、制造业的落地案例
  • 一文详解 Python 密码哈希库 Passlib
  • 360浏览器录屏功能、360浏览器录屏使用、免费录屏工具、Windows内置工具、开发者效率工具
  • 老梁聊全栈系列:现代全栈的「角色边界」与「能力雷达图」
  • ES——(三)DSL高级查询
  • 深度神经网络1——梯度问题+标签数不够问题
  • 【Unity UGUI 自动布局组(12)】
  • RAG 从入门到放弃?丐版 demo 实战笔记(go+python)
  • goland 断点调试显示“变量不可用”
  • Qt/C++,windows多进程demo
  • 再谈golang的sql链接dsn
  • pre-commit run --all-files 报错:http.client.RemoteDisconnected
  • STM32N6AI资料汇总
  • 【MySQL】E-R图
  • QT元对象系统(未完)
  • Netty 针对 Java NIO Selector 优化:SelectedSelectionKeySet
  • 抑制信号突变(模拟量采集+斜坡函数)
  • C语言入门指南:字符函数和字符串函数
  • JVM从入门到实战:从字节码组成、类生命周期到双亲委派及打破双亲委派机制
  • SQL-用户管理与操作权限
  • Airtable与Python:轻量级ETL数据管道实战
  • JavaScript 对象:一份全面的回顾
  • 逐时nc数据批量处理为日平均
  • ffmpeg推流测试
  • SQL注入常见攻击点与防御详解
  • 后端(FastAPI)学习笔记(CLASS 3):Tortoise ORM
  • C++-STL
  • Java 大视界 -- Java 大数据在智能家居场景联动与用户行为模式挖掘中的应用
  • XCKU15P-2FFVA1760I AMD 赛灵思 Xilinx Kintex UltraScale+ FPGA
  • 图论基础知识