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

不学 Python,Java 也能调大模型?15 分钟跑通第一个 AI 接口(Java 架构师的 AI 工程笔记 01)

文章目录Java 架构师的 AI 工程笔记一5 个概念 第一次跟 AI 对话理论篇一、Java 工程师为什么能搞 AI Agent二、开始写代码之前你得搞懂这 5 个概念2.1 Token——LLM 的计费单位2.2 Prompt——你给 LLM 的指令2.3 Temperature——控制输出的稳定性2.4 Context Window——对话的内存大小2.5 Function Calling——Agent 的核心引擎三、Spring AI 的分层架构四、幻觉——LLM 一本正经地胡说实战篇五、跑通第一个对话程序5.1 申请通义千问 API Key5.2 项目结构5.3 配置文件5.4 启动类5.5 第一个对话接口5.6 Temperature 对比实验六、与机票比价 Agent 的集成七、FAQ 与踩坑记录本章小结Java 架构师的 AI 工程笔记一5 个概念 第一次跟 AI 对话这是 Spring AI Alibaba 系列的第一篇。目标让你的 Spring Boot 项目在 15 分钟内接入大模型对话能力。理论篇一、Java 工程师为什么能搞 AI Agent带团队做 AI 转型时最先被问到的问题就是“AI 不都是 Python 的吗我们 Java 团队能搞得了”想明白一件事就不纠结了。AI Agent 的核心不是训练模型而是工程化——把大模型的能力串起来做成一个能干活的系统。这恰恰是 Java 工程师擅长的工具注册和调度 → 你写了多年的 Spring 依赖注入多步编排和状态管理 → 你熟悉的工作流引擎高可用、可观测、分布式 → Java 生态的强项企业级落地 → Spring Boot 就是事实标准所以问题不是Java 能不能搞 AI而是有没有好用的框架。Spring AI Alibaba 就是答案——Spring 团队和阿里一起做的API 风格跟 Spring 全家桶一脉相承。二、开始写代码之前你得搞懂这 5 个概念不需要懂 Transformer 和 Attention 机制。但下面 5 个概念直接影响你写代码时的每一个决策跳过任何一个后面都会踩坑。2.1 Token——LLM 的计费单位Token 不是字也不是词是模型处理文本的最小单位。中文大约 1 个字 ≈ 1-2 个 Token。我想查北京到上海的机票 → 大约 12-15 个 Token为什么要关心这个因为它影响三件事影响说明钱API 按 Token 数计费输入和输出分别算容量一次对话能装的信息有上限Context Window速度Token 越多响应越慢通义千问的价格参考2025模型输入每百万 Token输出每百万 Token上下文长度qwen-turbo¥2¥6128Kqwen-plus¥4¥12128Kqwen-max¥20¥6032K开发建议调试用 qwen-turbo便宜上线用 qwen-plus均衡核心场景用 qwen-max最强。2.2 Prompt——你给 LLM 的指令Prompt 是你发给大模型的文本。它不是简单的输入而是有结构的角色作用示例System设定 AI 的人格和规则“你是一个专业机票分析师只回答机票相关问题”User用户的实际问题“帮我查北京到上海明天的机票”Assistant模型之前的回答用于多轮对话“已为您查到以下航班…”System Prompt 是 Agent 的灵魂。后面你会发现很多时候调 System Prompt 比改代码有用 10 倍。2.3 Temperature——控制输出的稳定性Temperature 是一个 0 到 1 之间的参数决定了 LLM 回答的随机程度。用 Java 来类比temperature0 就像一个确定性的switch-case给同样的输入永远走同一个分支temperature1 更像Random.nextInt()每次执行结果都不一样。Temperature效果适用场景0每次回答几乎相同Agent 工具调用、数据分析0.3轻微变化Agent 推荐值0.7默认值有一定随机性普通对话1.0每次都不一样创意写作怎么选一个合理的值看你的业务对一致性的要求场景推荐值原因Function Calling / 工具调用0参数必须精确随机性会导致 JSON 格式错误或传错参数Agent 决策与推理0 - 0.3推理链路要稳定但允许微小灵活性客服 / FAQ 问答0.3 - 0.5回答要准确但措辞可以自然一点不要像机器人普通对话 / 聊天0.7平衡准确性和趣味性大多数模型的默认值营销文案 / 创意写作0.8 - 1.0需要发散思维每次生成不同的表达一个实用的定值策略先从 0.7默认值开始发现输出太飘就往下调太死板就往上调。线上环境建议把 temperature 写进配置文件而不是硬编码方便随时调整。⚠️重点Agent 中涉及工具调用、结构化输出的环节建议用较低的 temperature0-0.3。但 Agent 不只有工具调用——如果某个环节需要生成面向用户的自然语言回复比如总结、推荐理由适当提高到 0.5-0.7 反而更自然。关键是按环节分别设置而不是整个 Agent 一刀切。2.4 Context Window——对话的内存大小Context Window 是一次对话能容纳的总 Token 数。所有东西都要塞进去System Prompt、历史对话、当前问题、工具描述、模型回答。超出上限怎么办旧的对话会被截断模型会忘掉之前聊过的内容。这就是为什么后面要专门学 Memory 管理第 4 章。2.5 Function Calling——Agent 的核心引擎这是最重要的概念。没有 Function Calling就没有 Agent。传统 LLM 只能输出文本。Function Calling 让 LLM 能够调用函数——准确说是 LLM 告诉你它想调用什么函数、传什么参数真正的执行由你的代码完成。关键点LLM 不直接调用 API——它只输出 JSON 格式的调用意图你的代码负责执行——接收意图调真正的 API结果喂回给 LLM——LLM 拿到结果后组织成自然语言回复用 Java 类比LLM 就像一个智能路由器根据用户请求决定调用哪个 Service 方法但它自己不执行方法。你写的 Service 才是干活的。三、Spring AI 的分层架构Spring AI 的设计跟 Spring Data 一个思路——统一抽象多种实现![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url…%2Fdocs%2Fdiagrams%2F01-spring-ai-arch.pngpos_idimg-mcMan5b9-1773812809398面向ChatModel接口编程底层换成任何 LLM 都不需要改业务代码。跟你用 JPA 换数据库一个道理。而ChatClient是 ChatModel 上面的高层封装关系类似JdbcTemplate和DataSource。日常开发用 ChatClient 就够了链式调用、拦截器、流式输出都支持。Spring AI Alibaba 在这套抽象之上提供了通义千问的完整实现加上百炼平台集成、增强 RAG 等额外能力。四、幻觉——LLM 一本正经地胡说这个必须单独拿出来说因为它是 Agent 开发中最容易踩的坑。LLM 会非常自信地给出完全编造的答案用户: 国航 CA1234 航班什么时候起飞 LLM: 国航 CA1234 航班每天 08:30 从北京首都机场起飞 ← 完全编造的因为 LLM 本质是文本接龙——预测最可能的下一个 Token不是查事实。这也是 Agent 存在的核心原因之一Agent 通过 Function Calling 获取真实数据而不是让 LLM 瞎编。我们的机票比价 Agent 不会编造票价而是调用真实 API 查询。实战篇五、跑通第一个对话程序5.1 申请通义千问 API Key访问阿里云百炼平台注册并登录进入控制台在左侧菜单找到「API-KEY 管理」点击「创建 API Key」选择默认业务空间复制生成的 Keysk-xxxx 格式后面配置要用 新账号有免费额度够学完这个系列。5.2 项目结构整个系列用 Maven 父子工程管理每章一个子模块spring-ai-alibaba-course/ ├── pom.xml ← 父 POMBOM 版本管理 ├── quick-start/ ← 本章代码 │ ├── pom.xml │ └── src/main/java/com/ai/course/quickstart/ │ ├── QuickStartApplication.java │ └── controller/ │ └── ChatController.java ├── chat-client/ ← 第 2 章后续添加 ├── function-calling/ ← 第 3 章后续添加 └── ... ← 每章一个子模块父 POM 的核心配置完整代码见仓库propertiesjava.version21/java.versionspring-boot.version3.5.11/spring-boot.versionspring-ai-alibaba.version1.1.2.2/spring-ai-alibaba.version/propertiesdependencyManagementdependencies!-- Spring Boot BOM --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency!-- Spring AI Alibaba BOM --dependencygroupIdcom.alibaba.cloud.ai/groupIdartifactIdspring-ai-alibaba-bom/artifactIdversion${spring-ai-alibaba.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement为什么不用spring-boot-starter-parent做 parent因为它会锁死 parent 位置。通过 BOM 导入既统一了版本又保留了自定义父 POM 的自由度。子模块 POMquick-start/pom.xml——注意依赖不写版本号全部由父 POM 管理parentgroupIdcom.ai.course/groupIdartifactIdspring-ai-alibaba-course/artifactIdversion1.0.0/version/parentartifactIdquick-start/artifactIddependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.alibaba.cloud.ai/groupIdartifactIdspring-ai-alibaba-starter-dashscope/artifactId/dependency/dependencies5.3 配置文件# quick-start/src/main/resources/application.ymlspring:application:name:quick-startai:dashscope:api-key:${AI_DASHSCOPE_API_KEY}# 通过环境变量注入别硬编码chat:options:model:qwen-plustemperature:0.7server:port:8080⚠️安全提醒API Key 永远不要写在代码里。设置环境变量Linux/Macexport AI_DASHSCOPE_API_KEYsk-xxxxxWindowsset AI_DASHSCOPE_API_KEYsk-xxxxxIDEARun Configuration → Environment variables5.4 启动类packagecom.ai.course.quickstart;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplicationpublicclassQuickStartApplication{publicstaticvoidmain(String[]args){SpringApplication.run(QuickStartApplication.class,args);}}5.5 第一个对话接口Spring AI 推荐用ChatClient高层 API而不是底层的ChatModel。关系就像JdbcTemplate和DataSourcepackagecom.ai.course.quickstart.controller;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.web.bind.annotation.*;importreactor.core.publisher.Flux;RestControllerRequestMapping(/api/chat)publicclassChatController{// 用 ChatClient 而不是 ChatModel —— 链式 API 更简洁支持 Advisor 拦截privatefinalChatClientchatClient;publicChatController(ChatClient.BuilderchatClientBuilder){this.chatClientchatClientBuilder.defaultSystem(你是一个友好的AI助手。).build();}/** * 同步对话 * 试试GET /api/chat?message你好 */GetMappingpublicStringchat(RequestParam(valuemessage,defaultValue你好)Stringmessage){returnchatClient.prompt().user(message).call().content();}/** * 流式对话 —— 打字机效果 * 试试GET /api/chat/stream?message介绍一下春季热门航线 */GetMapping(value/stream,producestext/html;charsetUTF-8)publicFluxStringchatStream(RequestParam(valuemessage,defaultValue你好)Stringmessage){returnchatClient.prompt().user(message).stream().content();}}启动项目打开浏览器访问http://localhost:8080/api/chat?message你好你应该能看到通义千问的回复。流式接口/api/chat/stream会一个字一个字地吐出来体验明显好很多。LLM 生成完整回答可能要 5-10 秒流式让用户边生成边看到不用干等。5.6 Temperature 对比实验理论篇讲了 Temperature 影响输出稳定性现在亲眼看看。加一个实验接口packagecom.ai.course.quickstart.controller;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.ai.chat.prompt.ChatOptions;importorg.springframework.web.bind.annotation.*;importjava.util.*;importjava.util.concurrent.CompletableFuture;RestControllerRequestMapping(/api/experiment)publicclassExperimentController{privatestaticfinalLoggerlogLoggerFactory.getLogger(ExperimentController.class);privatefinalChatClientchatClient;publicExperimentController(ChatClient.Builderbuilder){// 通过 System Prompt 限制回答长度让对比更直观this.chatClientbuilder.defaultSystem(你是一个简洁的助手回答限制在20字以内。).build();}/** * Temperature 对比实验 * GET /api/experiment/temperature?message用一个词形容春天 * * 同一问题分别用 temperature 0 和 1.0 各调用 3 次 * temperature0 的回答几乎相同temperature1.0 每次都不一样 */GetMapping(/temperature)publicMapString,ListStringtemperatureExperiment(RequestParam(valuemessage,defaultValue用一个词形容春天)Stringmessage){double[]temperatures{0.0,1.0};introunds3;log.info(开始 Temperature 对比实验消息{},message);MapString,CompletableFutureListStringfuturesnewLinkedHashMap();for(doubletemp:temperatures){Stringkeytemperature_temp;futures.put(key,CompletableFuture.supplyAsync(()-{ListStringresponsesnewArrayList();for(inti0;irounds;i){log.info([{}] 第 {} 次调用开始...,key,i1);longstartSystem.currentTimeMillis();StringcontentchatClient.prompt().user(message).options(ChatOptions.builder().temperature(temp).build()).call().content();longcostSystem.currentTimeMillis()-start;log.info([{}] 第 {} 次调用完成耗时 {}ms回答{},key,i1,cost,content);responses.add(content);}returnresponses;}));}MapString,ListStringresultsnewLinkedHashMap();futures.forEach((key,future)-results.put(key,future.join()));log.info(Temperature 对比实验完成);returnresults;}}直接访问GET /api/experiment/temperature默认问题用一个词形容春天你会看到类似结果{temperature_0.0:[温暖,温暖,温暖],temperature_1.0:[生机,温柔,绚烂]}temperature0三次回答完全一样——输出稳定可预测temperature1.0每次回答都不同——充满随机性和创意这就是为什么 Agent 场景要用低 temperature——你需要 LLM 的输出稳定可预测。六、与机票比价 Agent 的集成本章搭建的 quick-start 是整个系列的起点。后面的章节会在这个基础上逐步加能力第 2 章用 ChatClient 的 Advisor 和 Prompt 模板让对话更可控第 3 章通过 Function Calling 接入机票查询工具从编造数据进化为查真实数据第 4 章加 Memory实现多轮对话“北京飞上海” → “明天的” → “最便宜的”当前模块的配置模型、温度和父 POM 的依赖管理会被所有后续模块复用。七、FAQ 与踩坑记录Q1启动报错No qualifying bean of type ChatModel最常见的原因是缺依赖或者环境变量没设确认 pom.xml 里有spring-ai-alibaba-starter-dashscope确认环境变量AI_DASHSCOPE_API_KEY已设置且值正确确认 application.yml 里用的是${AI_DASHSCOPE_API_KEY}而不是写死的 KeyQ2调用报401 Unauthorized或InvalidApiKeyKey 无效或过期。到百炼平台检查 Key 状态。新账号第一次使用需要先开通百炼服务并创建 API Key。另外看看环境变量里的 Key 有没有多余的空格或换行。Q3流式接口返回乱码三个排查方向GetMapping的produces必须是text/event-stream;charsetUTF-8如果有 Nginx 反代加proxy_buffering off;浏览器直接访问 SSE 显示可能不友好用curl或前端EventSource测Q4第一次调用特别慢10 秒以上正常。第一次请求涉及到底层 HTTP 连接建立、模型加载等。后续请求会快很多。如果持续很慢检查网络是否需要代理。本章小结理论篇实战篇Token 与计费环境搭建Prompt 三种角色同步对话Temperature 稳定性流式输出Context Window 容量Temperature 实验Function Calling 核心下一章ChatClient 的高级用法和 Prompt 工程。会用到 Advisor 拦截器、Prompt 模板、结构化输出——让 LLM 的返回直接变成 Java 对象。本文代码GitHub - quick-start 模块如果这篇文章对你有帮助欢迎点赞收藏。有问题欢迎评论区交流。

相关文章:

不学 Python,Java 也能调大模型?15 分钟跑通第一个 AI 接口(Java 架构师的 AI 工程笔记 01)

文章目录Java 架构师的 AI 工程笔记(一):5 个概念 第一次跟 AI 对话理论篇一、Java 工程师为什么能搞 AI Agent二、开始写代码之前,你得搞懂这 5 个概念2.1 Token——LLM 的计费单位2.2 Prompt——你给 LLM 的指令2.3 Temperatur…...

GEE案例分析:基于Dynamic World 数据的农用地识别活跃与休耕农田

🌾 用 GEE 和 Dynamic World 识别活跃与休耕农田 在全球粮食安全与土地利用变化研究中,农田的动态监测 一直是核心议题。传统方法依赖地面调查或单一时期遥感影像,难以捕捉农田的季节性轮作和长期撂荒。如今,借助 Google Earth Engine(GEE) 和高频土地覆盖产品 Dynamic…...

洛谷 B4497:[GESP202603 二级] 数数

【题目来源】 https://www.luogu.com.cn/problem/B4497 【题目描述】 对于正整数 n,如果 n 的所有数位中包含恰好 3 个 2,Alice 会认为这个正整数是美丽的。例如,正整数 24122 中包含 3 个 2,所以 24122 是美丽的;正整…...

大型城市二次供水设施远程智能管理系统

随着城市化进程的加快,二次供水设施作为城市供水“最后一公里”的关键环节,其智能化管理水平直接关系到居民的用水安全和生活质量。映翰通网络依托其IG900边缘计算网关,助力大型城市实现二次供水设施的远程智能管理,推动供水系统向…...

Java后端开发 笔试知识点复习(一)

某行某费 线上笔试一、选择题和简答题1. CompletableFuture是Java 8 引入的异步编程工具&#xff0c;用于异步任务的组合和链式调用。通过静态工厂方法可以创建CompletableFuture实例&#xff1a;CompletableFuture<String> future CompletableFuture.supplyAsync(() -…...

股票基金:欧洲各类指数都是什么意思 / 成分是什么

以下是欧洲主要指数的详细解释&#xff0c;包括市值的具体金额&#xff08;基于最新可用数据估算&#xff09;指数名称含义成分股及特点总市值&#xff08;估算&#xff09;英国富时100指数&#xff08;FTSE 100&#xff09;反映伦敦证券交易所市值最大的100家上市公司的整体表…...

Java程序设计(第3版)——配置环境变量之path

配置环境变量之path PATH的配置 以下载到C盘为例 首先点击“此电脑”&#xff08;如下所示&#xff09;&#xff1a; 此电脑 > 本地磁盘 (C:) > Program Files > Java > jdk1.8.0_131 > bin > 其次点击窗口栏右侧并复制以完成下一步配置环境的准备工作 然…...

股票基金:全球各类指数都是什么意思 / 成分是什么

A股指数指数名称含义成分股特点上证指数反映上海证券交易所上市股票价格的整体表现上海证券交易所全部A股和B股历史悠久&#xff0c;市场认可度高&#xff0c;是反映中国股市整体走势的重要指标深圳指数&#xff08;深证成指&#xff09;反映深圳证券交易所上市股票价格的整体表…...

什么是 MCP?Model Context Protocol 深度解析

什么是 MCP&#xff1f;Model Context Protocol 深度解析 一、MCP 是什么&#xff1f; MCP&#xff08;Model Context Protocol&#xff09;是 Anthropic 推出的标准化工具调用协议&#xff0c;为 AI 模型与外部工具之间的交互提供了统一的规范。简单来说&#xff0c;MCP 就像…...

07. Capture 中 Find 的高阶小应用_正则表达式 I OrCAD X Capture CIS 设计小诀窍第三季

大家好&#xff01;在进行原理图设计时&#xff0c;我们经常需要查找特定的网络信号——比如所有的TF Card数据线、所有的MCU控制信号&#xff0c;或者所有以“SW”开头的网络。如果只靠普通的字符串搜索&#xff0c;要么搜不全&#xff0c;要么把无关信号也搜出来&#xff0c;…...

浅聊Flink的广播模式

浅聊Flink的广播模式 前言 最近接触到一个新颖的中间件 Flink,为什么接触到这个呢,是因为我们公司系统需要做一个告警模块,负责采集到的监控数据会直接往 kafka 里塞,然后告警这边需要从 kafka topic 里面实时读取到监控数据,并将读取到的监控数据做一些 聚合/转换/计算…...

HarmonyOS6 ArkTS 外描边(outline)使用文档

文章目录一、核心属性与接口1. 统一设置接口 outlineAPI 11API 182. 分设属性&#xff08;精细控制&#xff09;二、OutlineStyle 枚举&#xff08;三种线型&#xff09;三、使用方式方式1&#xff1a;独立属性分开设置方式2&#xff1a;统一 outline 对象配置方式3&#xff1a…...

在中国读者中,哪些科幻小说是畅销的?为什么它们畅销

如果只从小说内容本身出发&#xff0c;而不去谈产业、政策、影视改编和时代环境&#xff0c;那么一部科幻小说能不能畅销&#xff0c;核心往往不复杂。读者真正会为一本科幻小说买单&#xff0c;通常不是因为它属于“科幻”这个门类&#xff0c;而是因为它在阅读过程中提供了几…...

金仓数据库在MySQL迁移中的技术观察:高兼容性与平滑替代路径实践

金仓数据库在MySQL迁移中的技术观察&#xff1a;高兼容性与平滑替代路径实践 2023年底&#xff0c;MySQL 5.7正式停止官方维护支持——这一曾被广泛应用于中小企业核心系统的开源数据库&#xff0c;悄然进入生命周期尾声。对开发者而言&#xff0c;这不仅是版本迭代的常规提示…...

属电子信息类专业电子信息工程(Electronic Information Engineering,简称 EE)专业是什么?

属电子信息类专业电子信息工程&#xff08;Electronic Information Engineering&#xff0c;简称 EE&#xff09;专业是什么&#xff1f;电子信息工程&#xff08;Electronic Information Engineering&#xff0c;简称 EE&#xff09;简称电子信息&#xff0c;是现代科技领域的…...

金仓数据库在MySQL迁移中的实践复盘:一家三甲医院电子病历系统性能与成本优化实录

金仓数据库在MySQL迁移中的实践复盘&#xff1a;一家三甲医院电子病历系统性能与成本优化实录 2024年初&#xff0c;西安市第一医院信息科主任老张盯着监控大屏皱眉&#xff1a;“早高峰挂号排队超3分钟&#xff0c;电子病历调阅平均要4.7秒——这哪是‘智慧医院’&#xff0c…...

YOLO系列算法改进 | 主干改进篇 | 替换SHViT高效视觉变换器 | 助力模型极致轻量化,同时保持高精度性能! | CVPR 2024

0. 前言 本文介绍了SHViT高效视觉变换器,并将其集成到ultralytics最新发布的YOLO26目标检测算法中,替换原有Backbone网络。SHViT的创新在于从宏观和微观两个层面系统性消除计算冗余,通过大步长块化主干和单头部分通道注意力,以最少的内存访问成本实现超快视觉推理。将其作…...

StressTheGPU v1.44 丨便携显卡压力测试工具

StressTheGPU v1.44 便携版是轻量免安装的专业显卡压力测试工具&#xff0c;适配 Windows 全系列系统&#xff0c;凭借低 CPU 占用的优势&#xff0c;可在极端负载下精准评估显卡稳定性与性能&#xff0c;支持实时监控与基准测试&#xff0c;全面满足硬件验机、调试等核心需求。…...

基于DQ轴谐波提取器的PMSM永磁同步电机谐波抑制技术:五七次谐波的有效抑制与电流环解耦补偿应用

基于DQ轴谐波提取器的永磁同步电机谐波抑制 PMSM 1.通过谐波提取器&#xff0c;直接提取DQ轴的谐波分量进行抑制&#xff0c;对五七次谐波电流抑制效果效果很好。 2.为了放大效果&#xff0c;采用主动注入谐波电压的方法&#xff0c;增大了电机中的谐波分量。 3.调制算法采用SV…...

HoRain云--Dash 简介

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

Node.js - 04:MongoDB、会话控制

MongoDB1、简介MongoDB 是一个基于分布式文件存储的数据库&#xff0c;官方地址 https://www.mongodb.com/数据库&#xff08;DataBase&#xff09;是按照数据结构来组织、存储和管理数据的 应用程序数据库的主要作用就是 管理数据 &#xff0c;对数据进行 增&#xff08;c&…...

大模型工具使用

介绍模型下载API测试本地平台搭建对比表格详细说明TransformersFastChatOllamavLLM关键差异介绍大模型一些简单的使用 模型下载 模型快捷的下载 魔搭社区 Ollama【可以直接在Ollama软件中下载】 API测试 通过API测试的平台&#xff1a;硅基流动 本地平台搭建 对比表格 工…...

AI辅助开发:前端“加速器”还是后端“稳定器”?——基于项目类型与用户规模的实战指南

文章目录前言一、技术原理解析1. 核心差异维度对比2. AI 辅助开发的技术架构模型二、按 DAU 规模分层的实战策略与代码实证1. 低 DAU 项目&#xff08;<1万&#xff09;&#xff1a;MVP 验证期后端实战&#xff1a;从需求到接口的秒级响应前端实战&#xff1a;快速但粗糙的 …...

国内代理IP地域选择与降低延迟方法

在进行公开数据获取、广告效果监测或业务信息整合时&#xff0c;很多企业都会遇到一个现实问题&#xff1a;请求延迟偏高&#xff0c;影响整体效率。尤其是在使用国内代理IP时&#xff0c;地域选择往往被忽视&#xff0c;但实际上&#xff0c;它对延迟的影响非常直接。从网络传…...

计算机毕业设计之springboot学生会事务管理平台的设计与实现

疫情爆发以来&#xff0c;越来越多的用户借助于移动手机、电脑完成生活中的事务&#xff0c;许多的传统行业也更加重视与互联网的结合。本论文探讨利用不断发展和进步的网络技术&#xff0c;实现对个人信息修改、学生、任务分类、活动类型、任务安排、完成任务、 活动信息、加入…...

MATLAB混合预测模型:集成VMD分解与ISSA优化LSTM的动态预测分析及置信区间对比图应...

matlab代码混合预测模型&#xff0c;该模型主要包含了VMD分解&#xff0c;ISSA优化LSTM预测模型&#xff0c;可以出分解图、单模型预测图&#xff0c;混合预测对比图以及加入置信区间的对比图。 可以运用于负荷预测、风速预测、光伏预测以及环境预测等&#xff0c;直接替换数据…...

HoRain云--Dash 回调函数

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

HoRain云--Dash 核心组件

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

Web3未落地,Web4已破局:AI+区块链重构互联网下一代图景

引言当Web3还在为“去中心化落地”争论不休&#xff0c;当普通人仍对“数据主权”“价值互联网”感到遥远时&#xff0c;Web4已悄然掀开神秘面纱&#xff0c;以AI区块链的双核驱动&#xff0c;重构着互联网的未来形态。不同于Web3对“去中心化”的单一追求&#xff0c;Web4打破…...

轮毂电机外特性曲线模型与电机效率map图:基于二维查表法搭建的模型研究

轮毂电机外特性曲线模型、电机效率map图 包含轮毂电机模型&#xff08;采用二维查表法搭建&#xff09;、电机效率以及外特性图在电动车动力系统开发中&#xff0c;轮毂电机的特性建模就像给赛车手配导航仪——既要准又要快。今天咱们手把手搭个能实战的电机模型&#xff0c;重…...