- 博客(1053)
- 资源 (3)
- 收藏
- 关注
原创 AI大模型综合(三)Langgraph4j工作原理,RAG概念
注: LangChain4j是LangChiain的java版本, LangChain的Lang取自Large Language Model,代表大语言模型, Chain是链式执行,即把语言模型应用中的各功能模块化,串联起来,形成一个完整的工作流。」在索引构建阶段,系统将企业或特定领域的非结构化私有知识(如文档、数据库记录)进行预处理,包括分块、向量化(使用嵌入模型转换为向量表示),并存储到向量数据库中,形成可快速检索的索引;其架构遵循有向无环图(DAG)结构,任务按单一方向流动,不形成循环。
2025-12-28 21:29:59
864
原创 AI大模型综合(一)多模态处理(视觉理解+图片理解)
但是从图片中识别表格并不是100%完全正确的,比如,识别下面的图片时,会发生非常隐蔽的错误,而且把这个错误人工找出来可能比全程人工的成本更大。比如,从图片中识别内容可能并不是100%完全正确的,比如,识别下面的图片时,会发生非常隐蔽的错误,而且。注:例如,使用 DashScope 的多模态模型(如 qwen-vl 或 qwen-vl-plus)题目: 比如,实现看图说话,即给一张图片,大模型可以「以文字描述」方式给出图片内容。比如,给一个图片,大模型输出图片的内容(用文字描述),即看图说话。
2025-12-26 19:49:11
650
原创 Java JDK版本及特性演变
Sealed Classes:提高类型安全性,JDK 17 中的密封类(Sealed Classes)是一个用于增强 Java 编程语言的新特性,它可以防止其他类或接口扩展或实现它们。字符串模板出现之前,字符串存在繁琐的拼接,例如: String result = "str1:"str1+",str2:"+str2+",str3:"+str3 +",str4:"+str4+",a:"+a+",b:"+b+",a+b:"+(a+b); 它替代了传统的if-else链或手动类型转换,减少了样板代码;
2025-12-25 18:03:24
74
原创 swagger演变历史及OpenAPI规范
它是一个集成Swagger UI和ReDoc的接口文档生成工具,在使用上与springfox-boot-starter类似,但提供了更为灵活、功能更加强大的工具。与前几个版本相比,Swagger 3.0更加强调对RESTful API的支持和规范化,提供了更丰富和灵活的定义方式,并且可以用于自动生成文档、客户端代码、服务器代码和测试工具等。Swagger2 和 Swagger3 使用的是完全不同的两套注解,所以原本使用 Swagger2 相关注解的代码页需要完全迁移,改为使用 Swagger3 的注解。
2025-12-25 12:31:31
661
原创 SpringBoot3整合knife4j(swagger3)
由于我不想降低springboot的版本, 故而选择修改配置文件。最终解决办法: 确定该问题是增加异常处理器类后,对全局的异常起作用了,如对swagger也起作用了。所以可以在application配置里增加springdoc的配置,防止全局异常处理器的响应定义覆盖所有接口。网上很多文章说使用下面的maven是有问题的。本人调试实际上遇到很多问题,一个问题解决又出了另一个问题。问题1: 启动springboot后访问doc.html页面报错“”现在将遇到的问题做记录。
2025-12-24 21:27:51
603
1
原创 AI大模型实用(十)Java快速实现智能体整理(使用LangChain4j-agentic + Tool)
比如,打磨轮数总共5轮。要求4:为了创作更高质量的故事,会对创作的故事进行多轮(如5轮)打磨,打磨过程中对故事质量进行评分。为完成要求3:为了实现故事保存,需要新建一个故事保存Agent。为了支持将故事保存到数据库或PDF文件中,需要新建一个Tool,并将故事保存Agent绑定到该Tool上;为完成要求1: 在用户输入自然语言后,需要进行预处理,比例解析出故事的主题、目标受众、风格、目标语言、是否需要保存故事信息;第一点: 故事不能无限创作下去,需要设置轮数上限,比如 创作5轮后Agent一定会退出创作;
2025-12-23 18:43:53
542
原创 AI大模型实用(九)Java快速实现智能体整理(使用LangChain4j-agentic + Tool)
Tool的function名称与parameter名称随意,只要符合Java或Kotlin规范即可,LangChain4J会自动把function与parameter的名称与类型取出来,在对LLM发送请求信息时一并送出。LangChain4j帮我们分析了LLM回传的Body,自动识别要调用的Tool,完成调用。@Tool里的文字是引导LLM能根据用户发来的上下文信息、以及Tool的文字标注,推论是否该调用Tool。根据我们的测试,这一段文字描述对Tool是否被成功调用,有决定性的关系。
2025-12-22 21:21:48
239
原创 AI大模型实用(八)Java快速实现智能体整理(使用LangChain4j-agentic来进行情感分析/分类)
自定义类@Data@Override" }";定义AiService/*** {{it}} 是一个占位符,通常用于提示模板(Prompt Templates)中,表示将动态内容插入到提示文本里。* 它允许开发者构建灵活的提示,其中 {{it}} 会被实际的输入变量(如用户消息)替换*/@AiService//@UserMessage("从{{text}}中提取关于某人的信息。如果不知道具体的出生月份和日期信息,可以默认日期1月1日,如果不知道年龄,年龄可以默认为不知道。
2025-12-21 11:53:04
843
原创 AI大模型实用(五)Java快速实现智能体整理(LangChain4j构建Java AI智能体)
Component@Autowired//通过@P注解为参数添加描述信息@Tool("新增用户服务")public void addUser(@P("用户名称") String name, @P("用户年龄") String age, @P("用户性别") String sex) {@Tool("根据用户名查询用户完整信息")public User findUser(@P("用户名称") String name) {@Async@Tool("异步查询")
2025-12-18 20:33:21
553
1
原创 AI大模型实用(四)Java快速实现智能体整理(LangChain4j实现智能小工具)
系统提示词是设置 AI 模型行为规则和角色定位的隐藏指令,用户通常不能直接看到。系统 Prompt 相当于给 AI 设定人格和能力边界,也就是告诉 AI “你是谁?对于每个找到的 AI 服务,它将使用应用程序上下文中的所有 LangChain4j 组件创建此接口的实现,并将其注册为一个 bean。2、最大限度的调用函数工具:@UserMessage 我们通过提示词,让大模型尽量考虑调用我们的需求。:可把它看作标准 Spring Boot的 @Service,但带有 AI 功能。定义:QaService。
2025-12-17 19:36:44
248
原创 AI大模型实用(三)Java快速实现智能体整理(Springboot+LangChain4j)
一个基于 Java 的库,旨在简化自然语言处理(NLP)和大型语言模型(LLM)的集成;提供了大量现成的组件(文档加载器、工具、链),用于构建AI应用,是目前Java生态中最接近Python LangChain成熟度的选择。
2025-12-16 22:34:43
1346
原创 AI大模型实用(二)Java快速实现智能体整理(JADE)
JADE是一个用于开发和部署基于Agent和多Agent系统的框架。由意大利电信实验室(TILAB)开发的基于Java的开源多智能体系统开发框架,旨在简化符合FIPA标准的分布式智能体应用构建。它使用Java语言编写,能够帮助开发者构建复杂的、分布式的、可伸缩的系统。JADE作为一个成熟的框架,提供了一系列的工具和API,使得开发者可以专注于业务逻辑的实现,而非底层通信和架构的细节。
2025-12-16 11:40:04
1023
原创 AI大模型实用(一)SpringAI接入deepseek示例
访问:运行结果:访问:@Autowired//ChatClient底层是使用ChatModel作为属性的,在初始化ChatClient的时候可以指定ChatModel@Autowiredthis.chatClient = chatClientBuilder.defaultSystem("你是一个AI智能应用").build();
2025-12-15 22:41:01
566
1
原创 SpringAI框架接入-jdk升级21后报错“run failed: Unsupported class file major version 65”
添加SpringAI依赖-- springAI提供的openapi调用多种大模型api-->
2025-12-15 22:09:25
274
原创 AI测试、大模型测试(九)spring集成大模型(AI4J)
使用AI4JAI4J本质上是对集成多种大语言模型的封装调用//函数调用// 获取对应大模型的聊天服务// 创建请求参数.functions("queryWeather") // 这里传入刚刚我们定义的函数名称即可.build();// 发送chat请求@Override/*** 函数调用: 调用第三方接口获取信息*/@FunctionCall(name = "queryWeather", description = "查询目标地点的天气预报")
2025-12-14 14:36:34
795
原创 AI测试、大模型测试(八)SpringAI核心技术
通过ChatModel,开发者可以轻松集成不同的大模型,并实现文本生成、问答、对话等功能。注: Elasticsearch 一个基于Lucene的分布式搜索引擎,Elasticsearch通常被归类为“支持向量搜索的搜索引擎”,而非专用向量数据库。通过多模态功能,开发者可以将不同类型的数据结合,生成更丰富的交互体验。大模型的通信,ChatClient还可以维护对话上下文、支持多轮对话、实现流式响应,以及执行错误重试。,专注于大规模相似性搜索,支持数十亿向量的高效检索,适用于图像识别、推荐系统等场景。
2025-12-12 19:07:12
957
原创 AI测试、大模型测试(七)Java主流大模型框架技术
LangChain4j 是LangChain 的 Java 实现,一款基于Java的轻量级框架, 专为构建基于大语言模型(LLM)的应用程序而设计。它是 LangChain 框架在 Java 社区的移植版本,旨在提供类似于 Python 中 LangChain 的功能和灵活性。LangChain 本身是用 Python 编写的,但它可以通过各种方式与 Java 应用程序集成;LangChain4j的核心组件包括语言模型(Language Model)、记忆(Memory)、工具(Tool)等。
2025-12-12 18:05:08
1001
原创 AI测试、大模型测试(六)AI agent简介与Prompt提示词
在接口测试层面,平台能够自动解析OpenAPI/Swagger等接口文档,智能识别端点、参数约束与数据依赖关系,并自动生成包括正向、异常、边界等多种情形的测试用例。在没有预设脚本的情况下,测试系统可模拟真实用户行为,在应用中自主导航、尝试不同操作路径、输入组合和界面交互,并实时记录执行轨迹与系统响应。互补共生的:大模型为Agent提供认知智能,而Agent通过扩展工具接口和记忆机制,解决了大模型的知识滞后、上下文限制及“幻觉”问题。工作方式:大模型需明确指令,AI Agent能自主拆解复杂目标并执行。
2025-12-12 12:07:55
1063
原创 AI测试、大模型测试(四)AI测试分类&AI测试岗位分工
说起AI测试可能过于模糊,下面来看看AI测试的分类。AI Agent是 “以大语言模型为大脑驱动的系统,具备自主理解、感知、规划、记忆和使用工具的能力,能够自动化执行完成复杂任务的系统。比如,AI生成测试用例、AI执行测试(接口测试、WEB测试、APP测试)、AI执行单元测试、AI执行安全测试、AI项目全流程管控等等。1.1 按测试类型分类: 分为功能测试、性能测试、安全测试、对抗测试、兼容性测试等等等类别。主要职责:数据质量测试、模型效果评估、模型专项测试等(注:比如在推荐/广告系统中测试)
2025-12-11 20:19:15
681
原创 AI测试、大模型测试(三)AI语音产品测试&AI测试边界
攻击测试是通过特定方法揭露软件系统漏洞的测试手段,其核心思路基于软件错误成因的系统性分析形成针对性策略,覆盖软件系统、AI模型、自动驾驶等领域,包括沙箱逃逸、提示注入、GNSS信号欺骗等攻击类型。美国佛罗里达州技术学院的学生通过一个学年的手工精确测试,已经确定了数十种攻击软件的办法,以达到发现软件中错误的目的。AI测试的重心往往不在于重复验证这些已知的、确定性的程序行为,而在于评估AI模型本身在处理不确定性任务上的表现(即模型效果质量)。特别是基于评估的测试,通常将模型视为一个整体的“黑箱”或“服务”。
2025-12-11 16:19:19
996
原创 AI测试、大模型测试(二)中文大模型测试那些事
:针对实际应用(如客服、教育)设计任务,例如代码调试、时效问答,以更直观反映模型实用性。部分模型在文科任务上表现优异,但在数学或逻辑推理上较弱,需平衡任务多样性。3、
2025-12-11 10:50:23
569
原创 AI测试、大模型测试(一)
比如,广告推荐类业务,会根据性别、职业、年龄、地域、时段等场景进行不同推荐。那么测试数据集中,需要性别、职业、年龄、地域、时段等场景对应比例的数据。大模型推理和训练对算力需求极高,测试需关注响应速度、资源占用(如GPU/CPU、内存)及可扩展性,确保高效稳定运行。SuperCLUE是中文通用大模型综合性评测基准,旨在评估中文通用大模型的综合效果、与国际模型的对比及人类基准差距。模型的“黑箱”特性使其决策过程难以解释,测试需评估其可解释性,并确保输出内容符合伦理标准,避免偏见和有害内容。
2025-12-10 18:05:30
812
原创 AI能画产品原型吗
以上种种问题下,可以转换成一个问题: 究竟哪些事情是只有人可以做,AI代替也做不了的?1、 业务产品的深度挖掘、业务洞察: 与业务方深入沟通,挖掘真实痛点,定义关键指标和产品价值主张。2.2 交给AI处理,几分钟生成可运行的前端代码(已经有了初步的布局,图表,甚至交互逻辑)注:某种意义上,可以把AI当成「大头兵」,人的作用就是指挥AI这个大头兵,提高工作效率。目前可以基本有一个共识: AI代替不了人,人可以借助AI加快工作效率。仍然以画原型图为例, 人和AI究竟应该如何分工,才能让人的效率达到最高。
2025-12-10 12:07:32
529
原创 少儿编程(二)少儿编程家长能不能自己教孩子?
让孩子学习编程,不是仅仅为了让孩子学习算法、代码语法,而更多的是在培养孩子丰富而科学的思维方式。但是孩子想要解决更复杂问题,仍然需要学习这些算法、代码语法,才可能利用编程思维方法解决“AI无法给出具体答案”的问题。当您和孩子卡壳时,可以让孩子直接向AI提问,获得提示,从而继续前进。5、家长需要保持耐心,多给予鼓励,关注孩子在解决问题过程中展现的创造力、耐心和逻辑思维能力的提升,而不仅仅是最终作品。4、算法:难点是常见算法(排序算法、二分查找、线性查找),如何让孩子以感兴趣、好玩、愿意听下去的方式讲出来。
2025-12-08 14:55:27
592
原创 少儿编程(一)少儿编程误区 + 目的 + 路线 + 网站资源
目前市面上的许多少儿编程课程都采用了Scratch或其二次开发的产品作为教学工具,这是因为Scratch不仅易于上手,而且能够有效地帮助孩子们建立起编程思维和解决问题的能力。比如, 孩子要创作编程作品:先设立目标----->明确主要问题---->把主要问题拆解成一个个小问题-----> 然后结合实际条件、能力,给出解决方案-----> 代码编写过程。10. 科技传播坊:科.cc (是的,就是中文的域名),李泽的自媒体,李泽是《动手玩转 scratch 2.0》一书的中文译者,发布了不少免费视频和直播视频。
2025-12-08 13:55:38
793
原创 高频面试八股文用法篇(二十七)HashSet工作原理,equals和==区别
1)前提条件:正确重写实现hashCode()和equals()在Java中,hashCode()和equals()方法是Object类的一部分。如果未重写时,默认使用Object类的方法(基于内存地址比较)。未重写 hashCode():则hashCode()基于对象的内存地址,导致重复元素被误判为非重复。未重写equals()方法是比较对象的内存地址。相等对象必须有相同的哈希码:即对于任何两个相等的对象(根据equals()方法),它们的hashCode()方法必须返回相同的整数值。。
2025-12-07 13:17:12
47
原创 【算法题4】找出字符串中的最长回文子串(Java版)
给定字符串s,找到s中最长的回文子串。比如s = "c",输出c比如s = "acc",输出cc比如,输出abba比如,输出abeba比如,输出abeba二、解题思路这是一道经典算法题目。思路1: 动态规划分析:对于一个子串而言,如果它是回文串,并且长度大于 2,那么将它首尾的两个字母去除之后,它仍然是个回文串。例如对于字符串 “ababa”,如果我们已经知道 “bab” 是回文串,那么 “ababa” 一定是回文串,这是因为它的首尾两个字母都是 “a”。
2025-12-02 18:37:14
348
原创 【算法题3】判断字符串是不是回文
通过对回文字串的考察,最直接的方法显然是将字符串逆转,存入另外一个字符串,然后比较原字符串和逆转后的字符串是否一样,一样就是回文,这个方法的时空复杂度都是 O(n)。"-1221" 返回false. 如果想返回true,需要特别处理。比如, 把 1221 转成字符串,使用上面的方法处理即可。把字符串转成字符数组,或使用charAt()方法。把字符串转成字符数组,或使用charAt()方法。"-1221-" 返回true.abba 返回true。abc 返回false。aba 返回true。
2025-12-02 15:18:12
1009
原创 【算法题2】二分查找及其N种变形(Java,递归+非递归实现)
关键代码:=target) {return mid;// 找到目标值,返回其索引else {//二分查找变性,查找最后一个值等于给定值的情况// 防止溢出=target) {return mid;// 找到目标值,返回其索引} else {// 在右半部分继续查找} else {// 在左半部分继续查找return -1;
2025-12-02 14:30:05
299
原创 【算法题1】找出所有满足条件的两数之和(java版)
1,1,5,2,3,3,4,5 target=6 返回 返回1和5,1和5,2和4 ,3和3 四组数据。* 1,1,5,2,3,4,5 target=6 返回 返回1和5,1和5,2和4 三组数据。题目:给定一个数组 nums 和一个目标值 target,找出和为 target 的两个数。* 1,1,5,5 target=6 返回1和5,1和5 两组数据。* 1,2,3,4,5 target=6 返回1和5,2和4两组数据。要求2: 为了满足时间空间复杂度,需要使用hashmap实现。
2025-12-02 12:57:47
173
原创 【编程题】【继承+多态】使用Java中的泛型求圆形的面积和周长
椭圆类新增一个构造函数,该函数只有一个形参,同时赋值给长轴半径,短轴半径, 表示长轴半径=短轴半径://间接新建圆形对象System.out.println("面积=" + iGetAreaPerimeterAble3.getArea());this(0, 0);
2025-12-01 14:57:09
30
原创 【编程题】【Java泛型】使用Java中的泛型求圆形的面积和周长
注意: 由于泛型直接使用类型<T>,那么实例化Circle类时可以传入任何类型,包括非数字类型/非数值类型。方法1: 写多个圆形类,半径分别支持int, float, double等数字类型/数值类型。如果强行传入非数字类型的半径值, 会直接出现编译错误。故而,该种方法更符合题意,即半径只能是数字类型/数值类型,否则无法求面积和周长。要求: 半径支持int, float, double等数字类型/数值类型。实例化Circle类时,只能传入数字类型/数值类型的半径值。缺点:很多重复的逻辑,不推荐使用(❌)
2025-11-28 14:11:49
42
原创 [编程题]static修饰符与final修饰符
比如,有10个圆形对象对应10种颜色,修改其中1个圆形对象的颜色,不影响其他9个圆形对象的颜色。比如,有10个圆形对象对应10种颜色,修改其中1个圆形对象的颜色,比如,有10个圆形对象对应10种颜色,修改其中1个圆形对象的颜色,要求3: 不同的圆形只能设置同一种颜色, 设置后颜色不能修改。思路1: 图形颜色可以设置为圆形的final修饰的。要求1:支持不同的圆形可以设置不同的颜色。图形颜色可以设置为圆形的final修饰的。故而,图形颜色可以设置为圆形的成员变量。故而,图形颜色可以设置为圆形的。
2025-11-22 11:10:46
30
原创 【AI】生成式人工智能(AIGC)是辅助还是取代程序员
对于计算机学生:AI生成式代码可以辅助计算机学生学习编码规范、业界最佳实践等,但学生同样需要掌握编码的语法规则,底层实现原理等等知识,否则学生可能不能很好理解AI生成的代码,甚至当生成代码有错误、安全风险时,学生将永远无法甄别。3、宣称"AI将取代程序员"的论调,可能在夸大AI的实际作用。以前程序员编写好代码后可能让同伴帮review代码的风险或错误,有了AIGC后变成:AI智能助手可能突然弹出一串错误修复建议,通过分析大量的代码数据,AI能够识别出常见的错误模式,并在开发者提交代码之前提供修复建议。
2025-11-21 21:28:24
159
1
原创 【高频】某核心接口的RT响应时间突然变得非常长,如何快速应急止损?
代码逻辑优化---》SQL优化---》调用第三方优化----》架构设计优化(如引入读写分离、分库分表、消息队列、CDN)------>配置优化(优化超时和重试,使用连接池,考虑降级和熔断策略)方法1: 通过完整调用链,找出接口慢的具体原因,以此排查应用代码内部逻辑、数据库查询、缓存访问、外部第三方接口原因、消息消费等部分。方法2: 分析应用日志、 数据库日志(有哪些慢SQL等)、网关日志等。方案1: 近期有关联上线,且有预案、流控开关、业务开关等。措施: 直接按预案执行、关闭流控开关、业务开关等。
2025-11-21 17:21:21
55
原创 【高频】一条sql执行过长的时间,你如何优化,从哪些方面?
2、SQL语句涉及字段已经有索引,那么检查SQL在索引字段上有无使用函数等,导致索引时效。比如 需要的数据量是否合理,需求实现本身是否合理,是否需要改成分多批次返回、加入缓存等等。4、分库分表:SQL语句执行一次查询的数据量级特别大时, 也可以考虑分库分表、分区进行优化;9、explain分析sql语句,查看执行计划,分析索引是否用上,分析扫描行数等等。是否能进行分表查询,单表查询之后的结果进行字段整合(去掉非必要级联多表查询);5、sql是否涉及多表的联表或者子查询,如果有,看是否能。
2025-11-21 16:28:33
39
SSM整合完整源码(IDEA版)
2025-01-26
SSM开发(四) spring+SpringMVC+mybatis整合(含完整运行demo源码)
2025-01-26
基于Vue的智能收藏夹及拦截页面请求
2023-08-09
基于chrome插件的智能收藏夹
2023-08-07
chrome插件实例开发
2023-08-04
Charles.zip
2018-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅