登录社区云,与社区用户共同成长
邀请您加入社区
Python:生态好、开发快、适合实验Java:性能好、企业级、适合生产没有绝对的答案,关键是根据项目需求和团队情况来选择。我现在主要用Java做AI应用,因为项目都是企业级的,而且团队对Java熟悉。但做模型实验的时候,还是会用Python和Jupyter Notebook。Python:生态好、开发快、适合实验Java:性能好、企业级、适合生产没有绝对的答案,关键是根据项目需求和团队情况来选择
本文分享了在昇腾平台微调Qwen2.5-VL多模态模型的实战经验。首先介绍了MindSpeedMM套件的优势,包括硬件优化、预置模型和完整文档。随后详细阐述了环境搭建的关键步骤,包括驱动安装、CANN配置和Python环境设置。重点讲解了权重转换、数据处理和微调参数配置等核心环节,特别强调了并行策略选择、显存优化技巧和训练监控方法。最后通过推理验证展示了微调效果,证明该方法能有效提升模型性能。文章
摘要:vLLM-Ascend是适配华为昇腾NPU的LLM推理框架插件,通过解耦硬件后端实现大模型高效部署。本文基于Qwen2.5-7B-Instruct实践,总结关键调优经验:1) 环境部署需注意权限管理和依赖版本;2) 版本冲突可通过禁用MoE模块解决;3) W8A8量化可显著降低显存占用;4) 性能优化需配置环境变量(如动态显存扩展)和TorchAir图编译;5) 并发参数需结合npu-smi
摘要:使用Stream API优雅处理AI返回数据 本文介绍了如何利用Java 8的Stream API高效处理AI应用返回的数据。相比传统for循环,Stream API提供了更简洁的代码实现批量API调用、数据过滤转换、JSON解析和结果聚合等常见场景。文章展示了Stream API在处理AI返回数据时的优势,包括并行处理提升性能、链式操作提高可读性,以及如何应对复杂数据结构和流式响应。通过示
Java近年引入Records、Sealed Classes等新特性,旨在简化开发并增强类型安全。Records极大减少了数据类的样板代码,自动生成构造器、getter、equals等方法,适用于DTO、配置类等场景,但受限于不可变性和不能继承。Sealed Classes通过限制继承范围,使编译器能识别所有可能的子类,结合Pattern Matching可避免遗漏处理分支的情况。这些特性确实提升
摘要:本文介绍了如何使用Spring-AI快速接入OpenAI API。首先创建Spring Boot项目并添加Spring-AI依赖,然后配置OpenAI API Key和环境变量。通过简单的Controller即可实现AI聊天功能,还展示了带上下文的聊天实现和流式输出优化。文章强调错误处理的必要性,提供了从基础到进阶的完整实现方案,帮助开发者5分钟内完成OpenAI集成。
Java性能优化经验总结 本文分享了Java开发中常见的性能优化问题和解决方案,主要包括: 内存泄漏:ThreadLocal未清理和监听器未取消注册导致的内存泄漏问题及解决方案 GC调优:分析Full GC频繁的原因,推荐使用G1GC和合理设置缓存策略 集合使用:对比ArrayList和LinkedList的性能差异,强调HashMap初始化大小和字符串拼接优化 数据库查询:解决N+1查询问题,推
Spring Boot 3.x升级要点总结 Spring Boot 3.x升级带来Java 17+支持、性能优化和新特性,但也面临显著改动: 主要变化: Java 17最低要求 javax包全面改为jakarta 新增GraalVM原生镜像支持 配置属性变更 升级挑战: 依赖兼容性问题(如Druid、MyBatis需升级) Swagger需替换为springdoc-openapi 测试框架默认使用
程序员鄙视链确实存在,但我觉得没必要。技术没有高低之分,只有适合不适合。解决问题:能用技术解决实际问题持续学习:保持学习,跟上技术发展深入理解:不仅要会用,还要理解原理业务结合:技术和业务结合,创造价值好了,今天就聊到这里。这只是我个人的看法,不一定对。如果你有不同的观点,欢迎在评论区讨论。最后说一句,技术只是工具,人才是根本。不管做什么技术,保持学习,保持谦逊,才是最重要的。程序员鄙视链确实存在
Java虚拟线程(Virtual Threads)是Java 19引入的轻量级并发解决方案,旨在解决传统线程池在高并发IO密集型场景下的性能瓶颈。虚拟线程由JVM管理,创建成本低,支持数百万并发,在阻塞操作时会自动让出平台线程资源。测试显示,相比200线程的传统线程池,虚拟线程在处理10000个IO任务时性能提升4-5倍。特别适合HTTP服务、数据库查询等场景,可通过Spring Boot 3.2