自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

背着梦的幸存者

最喜欢解决一个难题时豁然开朗的感觉

  • 博客(191)
  • 资源 (1)
  • 收藏
  • 关注

原创 Spring AI Alibaba 自学习AI智能体实战:让AI越用越懂你

想象一下,你新认识了一位朋友,刚开始交流时可能有些生疏。他喜欢详细的解释而不是简短回答他对技术概念需要生活化的比喻他偏好包含具体示例的说明于是你调整了沟通方式,你们的交流变得越来越顺畅——这就是自学习AI的核心思想!🧠记忆机制= 记住朋友偏好的大脑💬反馈收集= 朋友说"能不能说简单点"🔄学习优化= 你调整后续的说话方式🎯个性化服务= 越来越投缘的聊天体验通过这个极简自学习AI,你实现了:✅即时学习- 一次教导,终身受益✅个性化服务- 每个用户获得定制化体验✅零配置扩展。

2025-11-13 21:23:41 1054

原创 Spring AI Alibaba 静态RAG实战:让AI成为你的专属知识管家

本文介绍了如何利用Spring AI Alibaba实现静态RAG(检索增强生成)技术,让AI成为专属知识管家。文章通过生动的比喻解释了静态RAG的工作原理:将文档库作为知识源,AI模型作为"博学的助理",确保回答严格基于提供的资料,避免AI幻觉问题。实现方案包括自动扫描文档目录、读取指定内容和基于文档的智能问答功能。文章还详细说明了环境准备步骤,包括JDK 17+、Spring Boot 3.x和阿里云百炼API Key的获取方法,并提供了项目初始化、依赖配置和文档读取器的代码实现。

2025-11-11 22:06:47 932

原创 Spring AI Alibaba 提示词入门:从零开始掌握AI对话技巧

本文介绍了Spring AI Alibaba中提示词的核心用法,帮助开发者快速掌握与AI对话的技巧。文章从提示词的概念和重要性讲起,指出清晰的提问能获得更精准的回答。接着详细说明了环境准备步骤,包括获取阿里云API Key和创建Spring Boot项目。重点讲解了三种提示词用法:基础对话、角色设定和结构化提示,每种方式都配有Java代码示例和测试方法。通过本文,读者可以学会如何有效构建提示词,优化AI回答质量,适用于各类AI应用开发场景。

2025-11-09 23:03:43 1123

原创 Spring AI Alibaba语音合成实战:从零开始实现文本转语音功能

本文介绍了使用Spring AI Alibaba框架实现文本转语音(TTS)功能的完整流程。主要内容包括: 环境准备:JDK 17+、Spring Boot 3.x+环境配置及阿里云百炼API Key获取 项目创建:通过Spring Initializr创建项目并添加Spring AI Alibaba依赖 参数配置:在yml文件中设置API Key和默认语音合成模型 接口实现:创建AudioModelController,利用SpeechSynthesisModel实现语音合成功能 该方案仅需几行代码即可将

2025-11-06 22:57:30 977

原创 Spring AI Alibaba文生图实战:从零开始编写AI图片生成Demo

本文介绍如何使用Spring AI Alibaba框架实现文生图功能,通过Spring Boot快速集成阿里云百炼大模型服务。内容包括环境准备(JDK 17+、Spring Boot 3.x)、获取API Key、创建项目、配置pom.xml依赖和application.yml参数。教程提供基础代码实现ImageController,只需几行代码即可让AI根据文字描述生成图片,适合初学开发者快速上手AI图片生成开发。

2025-11-05 22:14:20 1163 4

原创 Spring AI 极简入门:15分钟集成AI到SpringBoot应用

本文介绍了如何快速在Spring应用中集成AI能力。通过Spring AI Alibaba框架,开发者只需15分钟即可实现AI功能调用。文章详细讲解了从环境准备到API密钥获取的步骤,并提供了创建Spring Boot项目、添加依赖、配置API密钥的完整流程。关键代码示例展示了如何通过ChatClient构建AI对话接口,实现与智能助手的交互。整个过程简单明了,适合零基础开发者快速上手,为Spring应用添加AI功能提供了一条高效路径。

2025-11-02 23:31:55 1354 2

原创 零基础教程:手把手教你在本地部署DeepSeek-R1大模型

想体验最新的大模型,但苦于没有API密钥?担心隐私泄露,不希望对话数据被上传到云端?想要无限次免费使用AI助手,不受使用次数限制?今天,我将教你通过两个简单的工具,在本地电脑上部署DeepSeek-R1大模型,彻底解决以上问题!通过本教程,你已经成功在本地部署了属于自己的AI助手!这不仅让你能够免费、私密地使用大模型,更为你打开了通向AI世界的大门。现在,你可以:✅ 无限次免费与AI对话✅ 在断网环境下正常使用✅ 完全保证对话隐私✅ 随时探索其他AI模型。

2025-11-02 20:45:19 979

原创 大数据量表结构修改

摘要:针对MySQL8大表字段修改导致长时间锁表问题,提出通过创建新表结构、分批迁移数据、切换表名的优化方案。该方案在测试环境(71万条/1.4G数据)下将原本半小时未完成的操作缩短至几分钟完成,但仅适用于测试环境或数据库停机维护场景,生产环境需采用更完善的归档方案。核心步骤包括:1)新建相同结构表并修改字段;2)按主键ID范围分批插入数据;3)原子性重命名表完成切换。(149字)

2025-07-17 00:29:58 430

原创 【maven依赖莫名其妙报错全局删 resolver-status.properties】

maven依赖莫名其妙报错全局删。

2025-05-14 20:08:37 244

原创 langgraph简单Demo4(checkpoint检查点)

在 langgraph 里,检查点(checkpoint)是一项重要的功能,它能够记录工作流在执行过程中的中间状态。当工作流因某些原因中断时,可以从检查点恢复继续执行,避免从头开始,提升效率。

2025-04-07 21:45:55 647

原创 AI Agent设计模式六:ReAct

概念 :思考-执行循环系统 react agent- ✅ 优点:提升任务完成度,适合复杂问题拆解- ❌ 缺点:执行延迟较高,资源消耗大

2025-04-05 16:25:16 493

原创 AI Agent设计模式五:Orchestrator

概念 :中央任务调度中枢- ✅ 优点:全局资源协调,确保任务执行顺序- ❌ 缺点:单点故障风险,可能成为性能瓶颈

2025-04-05 14:13:53 616

原创 openai.BadRequestError: Error code: 400 - {‘error‘: {‘code‘: ‘invalid_parameter_error‘, ‘param‘: Non

openai.BadRequestError: Error code: 400 - {'error': {'code': 'invalid_parameter_error', 'param': None, 'message': '<400> InternalError.Algo.InvalidParameter: The tool call is not supported.', 'type': 'invalid_request_error'}, 'id': 'chatcmpl-fd1b6d5d-fff7-

2025-04-05 13:15:17 2784

原创 AI Agent设计模式四:Evaluator

概念 :质量验证与反馈机制- ✅ 优点:自动化质量检查,实现持续优化闭环- ❌ 缺点:评估准确性依赖模型能力

2025-04-05 12:49:50 409

原创 AI Agent设计模式三:Routing

概念 :动态路径选择器- ✅ 优点:灵活处理不同类型输入- ❌ 缺点:路由逻辑复杂度高

2025-04-05 00:53:12 663

原创 AI Agent设计模式二:Parallelization

概念 :并行任务执行引擎- ✅ 优点:提升吞吐量,充分利用多核资源- ❌ 缺点:复杂度高,存在竞态条件风险

2025-04-04 23:20:33 447

原创 AI Agent设计模式一:Chain

概念 :线性任务流设计- ✅ 优点:逻辑清晰易调试,适合线性处理流程- ❌ 缺点:缺乏动态分支能力

2025-04-04 21:54:16 408

原创 TypedDict和dataclass的优缺点对比

【代码】TypedDict和dataclass的优缺点对比。

2025-04-04 18:46:57 532

原创 python-dotenv的概念、使用示例、高级功能、最佳实践、常见问题

我将以开发者的视角为您详细介绍。

2025-04-04 16:40:50 632

原创 venv 和 conda 哪个更适合管理python虚拟环境

在 Python 开发中,管理虚拟环境是避免依赖冲突和提高项目可复现性的关键。(第三方工具)各有优劣,选择取决于你的具体需求。若涉及科学计算,直接使用。(Python 内置)和。如果你刚开始学习,建议从。),可自动解决依赖冲突。

2025-03-24 22:06:23 1530

原创 langgraph简单Demo3(画一个简单的图)

其中START和 END是系统节点,agent和tool是我们的自定义节点。在原response的基础上又拼接了“执行工具”,所以response最终结果为:执行工具手工输入你是谁啊!还有一个点需要说明一下:最终返回值是 AgentState 类型字典中 所有累积的键值对。代码先走到agent节点,agent节点重新定义了response的值。再看到这个结果图,就知道response为什么是这样了吧。response:手工输入你是谁啊!input:你是谁啊!input:你是谁啊!介绍下结果为什么是这样?

2025-03-24 21:56:57 736

原创 langgraph简单Demo2(使用langserve实现外部调用)

这个示例是研究如何使用langserve实现外部调用。接入阿里云百炼。

2025-03-19 21:47:51 692 2

原创 langgraph简单Demo1(调用大模型实现简单聊天)

所以在这里分享一下我自己写的langgraph的demo。发现网络上没有什么langgraph的示例供人学习。在实践中学习才能进步更快。

2025-03-19 00:05:03 456

原创 【LangChain接入阿里云百炼deepseek】

大模型爆火,现在很多教程在教怎么使用大模型来训练Agent智能体,但是大部分教程都是使用的OpenAI。最近阿里云推出DeepSeek-R1满血版,新用户可享100万免费Token额度。今天就教大家怎么在测试模型的时候使用阿里云提供的免费模型。

2025-03-12 22:45:55 1251 1

转载 Error: error:0308010C:digital envelope routines::unsupported 解决方案

出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.版权声明:本文为CSDN博主「藏蓝色攻城狮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。然后,找到项目的package.json文件,把自己对应的命令,加上&&,写到启动项目的配置里面(构建写不写都可以),即可。唯一不足,是每次启动项目都要运行,所以,我们可以把它配置一下。

2024-01-08 17:06:02 1819

原创 项目切换多租户导致的数据库SQL执行异常

因为多租户是通过mybatis拦截器拦截SQL、解析SQL并且自动拼接租户ID。首先可以确认,这个SQL之前一直是可以正常运行的,只是这次上了多租户才被影响到;解析SQL时发现 # 解析失败;大致可以看出来,问题出现在。

2023-11-02 17:01:18 575

原创 ConcurrentHashMap的扩容机制

因为ConcrrentHashMap在jdk1.7和1.8中的实现机制不一样,所以要分开讲解;JDK1.7中使用segment分段锁实现,1.8中使用CAS+Synchronized实现了更细粒度的锁;

2023-09-21 17:01:34 946

原创 ArrayList和LinkedList的区别

ArrayList底层是一个数组,内容是规整的,可以指定数组容量。如果没有指定数组容量,默认容量是10插入新元素的时候会判断容量,若容量不足以插入新元素。就会进行扩容。扩容是通过新建一个新的更大的数组来完成的,将原数组中的值复制到新数组,再添加新值。扩容后原数组后续就会被垃圾回收掉。要设置一个合理的初始容量;1、如果设置容量太小,频繁扩容对资源消耗是很大的。2、如果设置容量过大,会浪费很多空间。ArrayList查询效率。

2023-09-12 13:56:39 694

原创 ==和equals的区别

如上,我们之所以平时觉得equals是代表值相等,就是String默默重写了equals方法,从而让我们产生了错觉。所以如果我们调用了Object中的equals方法进行比较,又没有进行重写,其实就相当于使用==进行比较。所以,如果我们自定义的对象要做比较,需要重写equals方法来定义比较规则,否则就是按照==进行比较。我们平时用到最多的应该就是String类的equals方法;下面的代码就是Object类的源码;引用类型比较的是堆内存中的对象地址。==其实是比较的栈中的值;基本数据类型比较的是数值。

2023-09-11 20:43:48 313

原创 SpringBoot自动装配原理

为什么要用Springboot?SpringBoot相比Spring有什么优点?说到这个问题,必然会牵扯到自动装配,无需手动添加很多配置,开箱即用。首先我们都知道,在spring中约定大于配置。所以我们首先要有一个约定,启动项目的时候去读取某个目录下的配置。那么所有需要自动装配的工具,都可以在这个约定的目录下设置自己的初始默认配置。项目启动时自动统一加载即可。当前SpringBoot官网最新版本是2.7.5,咱们这次就分析这个版本下的源码。

2022-11-20 22:35:05 2561

原创 MDC、ThreadLocal、InheritableThreadLocal的区别和联系

ThreadLocal使用来存储线程本地变量的。MDC的底层使用的就是ThreadLocal来存储的,只不过是做了一些安全校验,如MDC取值时ThreadLocalMap==null怎么办。InheritableThreadLocal支持子线程继承父线程中的thread-local值。留个问题哈:现在项目中很多使用多线程的地方都是使用的线程池,线程池中的线程并不具备父子关系,这样threadlocal怎么传递?

2022-11-10 18:07:27 1809 1

原创 Apifox能否替代Postman?

apifox初步使用,从postman转移到apifox,apifox优缺点简单总结。对apifox的一些吐槽。

2022-11-05 01:39:42 7153 5

原创 1024程序员节快乐

大家程序员节快乐!!!!!

2022-10-24 17:42:11 208

原创 Java使用Xpath实现爬虫功能

Java使用Xpath实现爬虫功能看到有人通过Xpath实现爬虫功能,就写了一个Java版本的。全网最简单易学的教程。网上的其他教程看着都是用 过时的方法实现的,我这是用的新方法,不会报错。

2022-06-09 20:00:26 1551

原创 Zookeeper简介(数据结构、节点、监听机制、权限控制、应用场景)

Zookeeper简介Zookeeper数据结构Zookeeper节点Zookeeper监听机制Zookeeper ACL权限控制Zookeeper应用场景统一命名服务数据发布、订阅功能统一集群管理负载均衡

2022-05-28 20:58:00 915

原创 Zookeeper集群(leader选举原理、数据同步流程)

Zookeeper集群集群角色集群架构Leader选举原理服务器启动时运行过程中数据同步流程消息广播崩溃恢复

2022-05-28 20:55:15 995

原创 CAP && BASE理论 && 几种一致性简单介绍

CAP && BASE理论CAP理论BASE理论几种一致性简单介绍强一致性弱一致性最终一致性顺序一致性

2022-05-28 04:28:38 199

原创 Java基础-动态代理

1、什么是代理生活中的代理1、房产中介,租户不能直接对接房主,要通过中介。中介就是代理,同时中介提供价格调整、房屋维修等增强功能。2、商家店铺,用户不能直接去厂家买东西,要通过商家。商家就是代理,同时商家提供商品价格调整、举办优惠活动等增强功能。由上面的例子可以看出,代理和目标都实现了同一种功能,只不过代理在原功能的基础上进行了功能增强。(中介和房主都提供房屋出租的功能,中介只不过是在原功能的基础上进行了价格调整、房屋装修等额外功能)2、代理的特点功能增强(在原功能的基础上封装其他功能)

2022-04-29 10:13:26 290

原创 Java基础-反射

反射就是把Java类中的各个成员映射成一个个的Java对象。即在运行状态中1、对于任意一个类,都能知道这个类的所有属性和方法。2、对于任意一个对象,都能调用它的任意一个属性和方法。这种动态获取信息以及动态调用对象方法的功能叫做Java的反射机制。1、对象创建过程为什么在介绍反射的时候需要先介绍对象创建过程?通过对象创建,引出Class对象通过javac命令把Java源代码编译成class文件。类加载器加载class文件到内存类元信息存放在方法区。(类元信息:类、方法等字节码信息)

2022-04-29 10:11:11 258

原创 算法基础入门 - 9、复杂排序算法-堆排序

堆排序什么是堆排序?1、先让整个数组都变成大(小)根堆结构2、把堆的最大值和堆末尾的值交换,减少堆的大小。再去调整堆。3、堆的大小减为0之后,排序完成。时间复杂度O(n*logn)堆排序的练习题:已知一个几乎有序的数组,请选择一个合适的排序算法针对这个数据进行排序。几乎有序:如果吧数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。首先是Java版本的解法:package com.leftGod;import java.util.Arrays;i

2022-04-04 23:03:52 1028 3

SSM+Maven+Oracle+Log4j+Idea

。在这里把自己整理的框架分享一下。SSM+Maven+Oracle+Log4j。只是写了一个简单的登陆界面。数据库是train,表是person。具体的可以下载项目看一下,就一个简单的示例框架。

2019-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除