- 博客(263)
- 资源 (2)
- 收藏
- 关注

原创 第四章.干货干货!!!Langchain4j开发智能体-搭建本地RAG知识库
本篇文章介绍了RAG的优势和必要性,通过搭建PGVector本地向量数据库,使用Langchain4j创建RAG知识库的全过程。如果文章对你有帮助请一定三连哦,你的鼓励是我最大的动力!!!
2025-04-02 09:34:23
1027

原创 第三章.干货干货!!!Langchain4j开发智能体-让智能体拥有记忆的功能
什么是记忆功能?默认情况下当我们向大模型每次发起的提问都是新的,大模型无法把我们的每次对话形成记忆,也无法根据对话上下文给出人性化的答案。比如:我的第一次提问是“懂王有哪些特点”,然后大模型会给出我懂王的特点结果列表,当我再次提问“这些特点中哪个最惹人争议”的时候,它就不知道我在说什么了,因为大模型已经失去了上一次的提问记忆。所以让智能体(如AI助手、机器人、虚拟角色等)拥有记忆功能不仅能提升交互体验,还能增强其功能性、适应性和长期价值。
2025-04-02 09:33:53
763
1

原创 第二章.干货干货!!!Langchain4j开发智能体-FunctionCalling的使用
本篇文章是接《第一章.干货干货!!!Langchain4j对接AI大模型-开发自己的智能体》,上篇文章介绍了 Langchain4j 和其重要性,然后通过Java程序集成Langchain4j实现大模型对接,分别对接了千问模型以及Ollama本地模型。本篇文章我们来使用Langchain4j 的高级功能 FunctionCalling。Function Calling(函数调用)是大语言模型(LLM)的关键能力,允许AI识别用户请求中的任务,并自动匹配、调用开发者预定义的函数工具(如查询天气、计算数据)。
2025-03-28 15:59:06
791

原创 第一章.干货干货!!!Langchain4j对接AI大模型-开发自己的智能体
在人工智能技术迅猛发展的今天,大型语言模型(LLM)已成为推动技术创新的核心引擎。从ChatGPT到Gemini,从Claude到文心一言,这些强大的AI模型正在重塑我们与计算机交互的方式,也为开发者提供了前所未有的机遇。然而,如何将这些前沿技术真正落地到实际应用中,构建出真正智能、实用的AI代理(Agent),仍是许多开发者面临的挑战。Java作为企业级应用开发的主流语言,在全球拥有庞大的开发者生态和丰富的应用场景。
2025-03-28 15:58:21
1370

原创 SpringAI+Ollama+DeepSeek本地大模型调用
大型语言模型(LLM)在自然语言处理领域取得了突破性进展,但其庞大的计算资源需求和高昂的调用成本,使得许多开发者望而却步。如何高效、便捷地调用大模型,并将其应用于实际场景,成为了亟待解决的问题。本文将介绍一种创新的解决方案:SpringAI + Ollama + DeepSeek,通过将三者结合,实现本地化部署和调用大模型,为开发者提供更灵活、更经济的LLM应用开发体验。SpringAI 作为Java生态中强大的AI框架,为开发者提供了便捷的API和丰富的工具集,简化了AI模型的集成和应用开发流程。
2025-03-10 09:52:43
1374

原创 LLaMA-Factory训练DeepSeek大模型+本地部署
前面我们介绍了基于硅基流动训练私有大模型《10分钟教你微调自己的私有大模型》,该平台有三个不好的点就是可选的模型有限,训练时间需要排队等待耗时长,另外还要 给钱。今天我们换一个平台,使用:魔搭平台 + llamaFactory训练私有模型。平台会赠送服务器时长这样我们就可以不用花钱就可以训练自己的大模型了(学习使用)
2025-03-10 09:50:57
1779

原创 10分钟教你微调自己的私有大模型
模型微调是一种在已有预训练模型的基础上,通过使用特定任务的数据集进行进一步训练的技术。这种方法允许模型在保持其在大规模数据集上学到的通用知识的同时,适应特定任务的细微差别。提高性能:微调可以显著提高模型在特定任务上的性能。减少训练时间:相比于从头开始训练模型,微调通常需要较少的训练时间和计算资源。适应特定领域:微调可以帮助模型更好地适应特定领域的数据和任务。使用硅基流动进行模型微调确实是比较方便的,但是也有几点不足之处,一是要给钱,二是耗时长,三是可选的模型比较少。
2025-02-27 18:58:12
1733
2

原创 DeepSeek实现FunctionCalling调用API查询天气
Function Calling(函数调用)是大型语言模型(如 OpenAI 的 GPT 系列)提供的一种能力,允许模型在生成文本的过程中调用外部函数或工具,以完成更复杂的任务。通过 Function Calling,模型可以将自然语言请求转换为结构化的函数调用,从而与外部系统、API 或工具进行交互。想象你有一个智能助手(比如 GPT),它可以回答你的问题,但它本身无法直接执行某些操作,比如查询天气、发送邮件或查询数据库。
2025-02-27 18:57:23
1322
1

原创 Cherry搭载满血的DeepSeek+本地知识库
CherryStudio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的全能 AI 助手平台。CherryStudio的高度自定义的设计、强大的扩展能力和友好的用户体验,使其成为专业用户和 AI 爱好者的理想选择。无论是零基础用户还是开发者,都能在 CherryStudio 中找到适合自己的AI功能,提升工作效率和创造力。
2025-02-25 18:10:12
590

原创 DeepSeek+Coze发布大模型到Wechat公众号
本篇文章特别有意思,我将利用Coze平台,基于本地知识库快速搭建一个基于DeepSeek大模型的AI智能体,且把AI智能体发布到微信公众号上,打造一个款私人AI小助手。教程不难跟着我的步骤来你也可以成功。
2025-02-25 18:08:06
1114

原创 Dify+Ollama+DeepSeek部署本地大模型+知识库搭建
上一篇文章《Ollama+DeepSeek部署本地大模型》我们已经知道如何在本地搭建自己的大模型了,不过想要让大模型能够根据我们个人或者企业的数据情况做出精准的回答,我们还需要将自己的数据投喂给大模型才可以。本篇文章我们将会使用一个开源项目dify集成ollama+deepseek大模型,搭建自己本地知识库,让大模型能够回答出我们想要的结果。
2025-02-16 23:44:34
4140
2

原创 Ollama+WebUI+DeepSeek部署自己的本地大模型
使用AI几乎成为互联网工作者必备技能了,DeepSeek的出现把AI再次推向高潮,在本文中,我们将带领大家借助 Ollama、WebUI 和 deepseek 这三个工具,成功搭建属于自己的本地大模型环境。Ollama 作为一款轻量级的大模型运行工具,为模型在本地的运行提供了坚实的基础;WebUI 则为我们打造了直观便捷的用户交互界面,让操作更加简单易懂;而 deepseek 作为一款优秀的大模型,拥有强大的性能和出色的表现。通过将这三者结合起来,我们能够完成从模型部署到实现交互的完整流程。
2025-02-11 13:24:27
1402

原创 IDEA+DeepSeek让Java开发起飞
登录DeepSeek官网 : https://www.deepseek.com/ 进入API开放平台,第一次需要注册一个账号。接着我们获取DeepSeek的API对话接口地址,点击左边的:接口文档 进入,找到对话API,把下面的地址保存下来。重新进入IDEA - Setting - 搜索CodeGPT进行配置。进去之后需要创建一个API KEY,然后把APIkey记录保存下来。下面是 code completions 的配置,也就是代码提示。下面是Chat Completions 配置,也就是对话配置。
2025-02-07 09:23:51
993

原创 代码优化之道-如何让你的代码值2W块
就在今天前同事进入了一家新的企业,然后在微信上跟我吐槽说公司的代码写的太不优雅了,什么中文命名,铺天盖地的IF-ELSE,Service不写接口等…,然后就想要去优化并给他们的员工做做培训,但是不知如何下手。这个问题是普遍存在的,程序员的水平和代码风格各不一样,如果一开始负责人没有做好项目规范和代码审核,n年后代码就变成了屎山,然后又进行重构,增加了很多成本。
2024-12-11 11:06:25
901
4

原创 发现一个神器-MyBatis-Flex快来尝尝鲜
公司开发新项目啦,项目是基于SAAS模式的,经过小伙伴们热烈讨论我们采用了MyBatis-Flex作为持久层框架,它和MybatisPlus是属于同类型的框架但是各有千秋吧,相比而言MyBatis-Flex的功能全是免费的,MybatisPlus的很多功能是收费的,比如:数据脱敏,字段加密,多数据源支持等,整体性能是MybatisPlus的5到10倍。今天我们就来研究一下MyBatis-Flex这个框架,下面是一张两个框架的对比图功能或特点对 entity 的基本增删改查✅✅✅分页查询✅✅。
2024-12-10 10:33:37
1625

原创 十六.SpringCloudAlibaba极简入门-整合Grpc代替OpenFeign
他来了他来了,停了快2个月了终于又开始更新文章啦,这次带来的绝对是干货!!!。由于公司项目进行重构的时候考虑到,OpenFeign做为服务通信组件在高并发情况下有一定的性能瓶颈,所以将其替换为更高性能的通信组件Grpc,Grpc也是业界比较流行的服务通信组件,底层采用HTTP/2进行网络通信性能上高于基于Http/1.1的OpenFeign。我将把Grpc的整合过程整理成文字分享给大家,喜欢请三连!!!,你的鼓励是我坚持下去的动力。
2024-11-18 00:25:57
1343
2

原创 五.海量数据实时分析-FlinkCDC+DorisConnector实现数据的全量增量同步
前面四篇文字都在学习Doris的理论知识,也是比较枯燥,当然Doris的理论知识还很多,我们后面慢慢学,本篇文章我们尝试使用SpringBoot来整合Doris完成基本的CRUD。由于 Doris 高度兼容 Mysql 协议,两者在 SQL 语法方面有着比较强的一致性,另外 Mysql 客户端也是 Doris 官方选择的客户端。因此,如需对 Mysql 进行数据分析,使用 Doris 的迁移成本较低。
2024-09-28 12:00:36
1352

原创 四.海量数据实时分析-Doris数据导入导出
Apache Doris 提供多种数据导入方案,可以针对不同的数据源进行选择不同的数据导入方式。数据源导入方式对象存储(s3),HDFS使用 Broker 导入数据本地文件MySQL LoadKafka订阅 Kafka 数据通过外部表同步数据通过 JDBC 导入使用 JDBC 同步数据导入 JSON 格式数据JSON 格式数据导入AutoMQ按导入方式划分通过 Broker 导入外部存储数据流式导入数据 (本地文件及内存数据)导入 Kafka 数据外部表通过 INSERT 方式导入数据S3 Load。
2024-09-08 17:51:24
1511

原创 三.海量数据实时分析-FlinkCDC实现Mysql数据同步到Doris
通过上面的 route 配置,会将 app_db.orders 表的结构和数据同步到 ods_db.ods_orders 中。这样,就可以将诸如 app_db.order01、app_db.order02、app_db.order03 的表汇总到 ods_db.ods_orders 中。参考:https://nightlies.apache.org/flink/flink-cdc-docs-release-3.0/zh/docs/get-started/quickstart/mysql-to-doris/
2024-09-07 08:25:54
2004
2

原创 二.海量数据实时分析-Doris数据表设计
Apache Doris 支持标准 SQL 语法,采用 MySQL 网络连接协议,高度兼容 MySQL 相关生态。因此,在数据类型支持方面,尽可能对齐 MySQL 相关数据类型。
2024-09-03 09:16:47
1111

原创 一.海量数据实时分析-Doris入门和安装
停了一个月又开始写文章啦,因为公司数据量达到了几十亿,老板需要做实时数据分析,报表看板。Apache Doris 由百度大数据部研发(之前叫百度 Palo,2018 年贡献到 Apache 社区后,更名为 Doris ),在百度内部,有超过 200 个产品线在使用,部署机器超过 1000 台,单一业务最大可达到上百 TB。Apache Doris 是一个现代化的 MPP(Massively Parallel Processing,即大规模并行处理)分析型数据库产品。
2024-09-01 21:31:51
2439

原创 十九.升职加薪系列-JVM优化-解决JVM性能瓶颈的JIT即时编译器
在很多年以前,做C或者C++的程序员经常说Java语言的运行速度不如C或C++,Java运行速度慢主要是因为它是解释执行的,而C或C++是编译执行的,解释执行需要通过JVM虚拟机将字节码实时翻译成机器码(边翻译边执行),才能运行在操作系统上,这个过程会比编译执行慢。但现在再说这个结论就不太对了,随着JIT即时编译技术的发展,性能差距正在逐步缩小,甚至在某些情况下,执行速度是优于C或C++的。
2024-07-11 08:49:07
599

原创 十八.升职加薪系列-JVM垃圾回收器-开天辟地的ZGC
随着Java的发展,JVM的GC垃圾回收器也在跟着升级,从早起的单线程垃圾回收器Serial,到多线程的垃圾回收器Parallel Scavenge,再到并发垃圾回收器CMS,G1等。它们在某些对延迟要求比较高的系统来说都有些力不从心,比如:12346,股票,基金等业务。JVM垃圾器的STW机制(Stop The World)让程序的性能始终没法达到最优。
2024-07-11 08:48:48
982

原创 十七.吊打面试官系列-JVM优化-阿里Arthas解决线上问题
在生产环境通常是不允许远程连接的,一是因为性能问题,二是因为安全性问题。而如果使用JVM监控命令的话又不是很直观,因为没有可视化界面,阿里巴巴开源了一款JVM开源神器Arthas可以帮我们方便快捷的帮助我们定位JVM的问题从而进行调优。
2024-06-19 09:10:25
1174
2

原创 十六.吊打面试官系列-JVM优化-JVM性能调优实战
在Java应用的开发和运维过程中,JVM的性能调优是一项至关重要的工作。随着业务的增长和复杂度的提升,线上问题排查、内存监控、参数优化以及压力测试成为每一位开发者和运维人员必须面对的挑战。本篇文章将带您走进JVM性能调优的世界,通过系统讲解线上问题的快速定位与解决、JVM内存的实时监控与分析、关键参数的精细调优策略以及如何进行有效的压力测试,让您掌握一套完整的JVM调优方法论。JVM调优一个很大的原则就是避免频繁的Full GC,导致Full GC的情况有下面这几种。
2024-06-19 09:10:07
1329

原创 十五.吊打面试官系列-JVM优化-JVM垃圾回收器详解
继上篇文章《JVM垃圾回算法详解》,我们本篇文章来讲解一下JVM垃圾回收器。垃圾标记算法是标记哪些对象是垃圾,垃圾回收算法是回收的理论算法,垃圾回收器才是真正回收垃圾的组件。不同的垃圾回收器使用了不同的垃圾回收算法。
2024-05-29 23:22:42
1444
2

原创 十四.吊打面试官系列-JVM优化-JVM垃圾回算法详解
说到JVM不可避免的会聊到垃圾回收器,(Garbage Collection,简称GC)。它负责跟踪哪些对象仍然在使用,哪些对象已经不再被引用,并释放那些不再被引用的对象所占用的内存空间。这一过程涉及到对象的标记、清除、压缩等多个阶段,每个阶段都有其特定的算法和策略。随着Java技术的不断发展,JVM的垃圾回收机制也在不断地优化和完善。
2024-05-29 23:22:07
998
1

原创 六.逼格拉满-Prometheus+Grafana微服务监控告警
微服务架构是一个分布式系统,由多个独立的服务组成,每个服务可能运行在不同的容器、虚拟机或物理机上,那么在生产环境中我们需要随时监控服务的状态,以应对各种突发情况,比如:内存爆满,CPU标高等等。Prometheus作为一种开源的监控和告警系统,天生就是为分布式系统设计的。它能够轻松地收集、存储和查询各个微服务的监控数据,为微服务架构提供全面的监控能力。Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区。
2024-05-23 17:11:59
4188
7

原创 十三.吊打面试官系列-JVM优化-深入JVM对象创建流程
在Java中,对象的内存分配主要由Java虚拟机(JVM)的堆内存管理器负责。当使用new关键字创建对象时,JVM会在堆内存中为对象分配内存。
2024-05-23 17:10:38
1122

原创 十二.吊打面试官系列-JVM优化-深入JVM内存模型
需要注意的是,虽然永久代已经被去掉,但方法区(Method Area)的概念仍然存在。,运行时数据区由: 方法区,虚拟机栈,本地方法栈,程序计数器,堆 五部分组成,其中堆和方法区是线程共享的,其他区域是线程隔离的,也就是线程私有,比如:程序计数器在每个线程执行的时候都有一个私有的程序计数器。操作数栈(用于计算的临时数据存储区):操作数栈(Operand Stack)也常称为操作栈,它是一个后入先出栈(LIFO),当一个方法刚刚开始执行时,其操作数栈是空的,随着方法执行和字节码指令的执行,会。
2024-05-15 16:43:52
746

原创 十一.吊打面试官系列-JVM优化-深入JVM类加载机制
从本篇文章开始我们来探讨JVM相关的知识,内容附带JVM的启动,JVM内存模型,JVM垃圾回收机制,JVM参数调优等,跟着文章一步一步走相信你对JVM会有一个不一样的认识,如果觉得文章对你有所帮助请给个好评吧。
2024-05-15 16:43:24
1340

原创 十.吊打面试官系列-Tomcat优化-通过压测Tomcat调优实战
上一篇文章我们讲解了一下Tomcat底层的结构和执行原理,我们需要重点去掌握的是Tomcat的高内聚低耦合的设计,以及责任链模式,以及Tomcat NIO编程模式,这些是Tomcat比较核心的点,本篇文章我们将对Tomcat的参数做一些了解,然后通过Jemeter压测来对Tomcat进行调优。
2024-05-10 15:55:28
1658

原创 九.吊打面试官系列-Tomcat优化-深入源码剖析Tomcat启动流程
Tomcat的启动流程入口是 Bootsrap#main方法,他会先执行 init 进行初始化类加载器和实例化Catalina对象。它通过自定义WebAppClassloader类加载器来实现不同APP应用的加载隔离,从而打破了传统JVM的双亲委派机制。
2024-05-10 15:54:35
1062

原创 八.吊打面试官系列-Tomcat优化-深入源码剖析Tomcat如何打破双亲委派
上篇文章《Tomcat优化-深入Tomcat底层原理》我们从宏观上分析了一下Tomcat的顶层架构以及核心组件的执行流程。本篇文章我们从源码角度来分析Tomcat的类加载机制,且看它是如何打破JVM的ClassLoader双亲委派的Tomcat 并没有完全打破 Java 的双亲委派模型,而是对其进行了扩展和补充,以适应 Web 应用程序的特殊需求。
2024-05-07 19:10:17
1039

原创 七.吊打面试官系列-Tomcat优化-深入Tomcat核心架构
作为一个名Java程序员,对于Tomcat肯定是很熟悉的,平时可能我们只是在Tomcat容器中部署项目,并不会去了解Tomcat底层架构,或者是对Tomcat做性能优化。然而在大型在高并发的项目中对Tomcat的优化确实必不可少的。接下来我讲带你一步一步去了解Tomcat的底层的奥秘,掌握Tomcat性能优化技能让面试官或者同事对你刮目相看。
2024-04-29 00:57:20
1433

原创 六.吊打面试官系列-数据库优化-深入Mysql日志机制
在Mysql中有三个非常重要的日志文件:Undolog ,Redolog,Binlog。Undolog是用作原子性保证的日志文件,MVCC多版本快照也是存储在Undolog日志文件中。Redolog是Mysql持久化日志文件,如果Mysql宕机数据丢失可以通过Redolog还原数据,Binlog也可以用作数据还原以及实现主从复制。本篇文章我们一起来研究一个下三种日志文件底层的执行原理以及相关参数配置。
2024-04-21 17:06:55
1277
1

原创 五.吊打面试官系列-数据库优化-Mysql底层执行原理
InnoDB存储引擎主要就是包含了一些buffer pool、redo log buffer等内存里的缓存数据,同时还包含了一些undo日志文件,redo日志文件等东西,同时mysql server自己还有binlog日志文件。在你执行更新的时候,每条SQL语句,都会对应修改buffer pool里的缓存数据、写undo日志、写redo log buffer几个步骤;但是当你提交事务的时候,一定会把redo log刷入磁盘,binlog刷入磁盘,完成redo log中的事务commit标记;
2024-04-16 19:56:14
242

原创 四.吊打面试官系列-数据库优化-Mysql锁和事务原理
本篇文章主要讲解两块内容:Mysql中的锁和ACID原理,这2个部分是面试的时候被问的蛮多的看完本篇文章之后相信你对Mysql事务会有更深层次的理解,如果文章对你有所帮助请记得好评事务: 指作为单个逻辑工作单元(Service方法)执行的一系列操作(数据库操作。),要么完全地执行,要么完全地不执行.事务可以看做是一组任务,通常对应了一个业务方法,这些任务要么全部成功,要么全部失败。在实际的业务开发中我们通常在Service层通过@Transcational注解来指定事务。
2024-04-16 19:52:12
1986
8

原创 三.吊打面试官系列-数据库优化-索引优化实战
mysql主要分为Server层和存储引擎层,Server层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog日志模块。
2024-04-16 19:51:28
315

原创 二.吊打面试官系列-数据库优化-Explain索引分析
通过explain命令我们可以知道以下信息:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。id列的编号是 select 的序列号,有几个 select 就有几个id,并且id的顺序是按 select 出现的顺序增长的。name列没有索引,那么在去重的时候会使用一个临时表来存储name列的值然后去重。这里我们需要一个常识,索引就是以空间换时间的打法,索引本身会占用磁盘空间,且索引会降低DML操作(增删改)的性能,当我们。
2024-04-16 19:49:51
276
client-adapter.es6x-1.1.5-jar-with-dependencies.jar
2022-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人