最新LangChain+GLM4开发AI应用程序系列(三):RAG检索增强生成篇 这篇文章首先介绍了在LangChain中使用RAG的重要组成部分,包括文档加载器、文本分割器、嵌入模型、向量数据库,然后通过一个示例演示了LLM如何通过RAG检索增强生成的方式,借助特定领域用户数据,更准确的回答用户的提问。
最新LangChain+GLM4开发AI应用程序系列(二):Agent智能体篇 这篇文章是LangChain开发系列第二篇,Agent智能体篇。首先介绍了Agent是什么,以及Agent的核心思想。如果说LLM是大脑,那么Agent就是给大脑装上了手脚眼睛后的智能体。Agent的核心思想是使用LLM作为推理引擎,来动态的确定要采取哪些操作,使用哪些工具以及按什么顺序执行。然后通过一个使用六个工具的Agent智能体实战案例,分析了Agent的实现原理。希望能给大家起到一定的参考作用,同时也欢迎共同探讨。
探索AI编程前沿:DeepSeek、CodeLlama、GLM与ChatGPT系列大模型Java编码能力测评 在Java编码能力方面,GPT-4-0613 > DeepSeek-Coder-33B-Instruct > GPT-3.5 > GLM-4 > CodeLlama-70B-Instruct。整体来看,GPT-4在六项测评中都表现得比较稳定,其它四个大模型都存在在某项测评中表现不太稳定的情况。在编码大模型的选型方面,如果追求性能,首选还是GPT-4,但是也比较贵。如果从安全性和性价比考虑的话,私有化部署开源编码大模型DeepSeek-Coder-33B-Instruct应该是一个不错的选择。
最新LangChain+GLM4开发AI应用程序系列(一):快速入门篇 本文是最新版LangChain使用智谱AI的GLM-4大模型开发AI应用程序系列的第一篇文章-快速入门篇。首先对LangChain做了介绍,LangChain是哈里森·蔡斯 (Harrison Chase) 于2022年10月创建的,对于AI应用程序开发来说,它的地位就相当于Java界的Spring。LangChain的整体架构分为六层,它的核心概念就是链,链接外部一切能链接的东西赋予LLM力量。然后从零基础开始介绍了LangChain环境的安装和配置,包括Conda、Jupyter Noteboo
好莱坞原则-让Java编程变得更简单 好莱坞原则是一种软件设计原则,其表述为“don’t call us, we’ll call you.”,中文的字面意思是,不要主动联系我们,我们会联系你。那么从技术层面上来说,它鼓励通过使高级模块依赖于抽象而不是具体实现来实现模块之间的松耦合。这样一来,可以更轻松地替换实现而不影响系统的其余部分。
UML类图的几种关系,你都会用吗? 在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。你都会用吗?
如何解决Java应用程序的Jar包冲突问题,看这一篇就够了 本文首先介绍了两类Jar包冲突问题:第一类是同一个Jar包出现了多个不一样版本,第二类是同一个类出现在多个不同的Jar包中。然后介绍了第一类Jar包冲突问题的原因是是因为Maven仲裁机制并不能只能的判断应用真正需要的Jar包版本,第二类Jar包冲突问题的原因是受到Jar包的类加载器的加载顺序和操作系统的文件加载顺序的影响。最后提出了问题排除和解决的方案,以及如何有效避免Jar包冲突问题的发生。
成功避开日志打印代码的这些坑,应用系统性能瞬间提升20% 对于info,debug,trace级别的代码,都可以使用占位符和logger.isInfoEnabled、logger.isDebugEnabled、logger.isTraceEnabled方法,降低在生产环境时,不必要的日志打印对系统性能的影响。通过这种方式的优化,这几个应用系统优化后的性能比优化前的性能平均提升20%以上。
Springboot集成Swagger实现接口文档自动生成 在实时接口文档的生成方案中,Swagger是最具影响力的一个。本文介绍了在Springboot项目中如何集成Swagger2和3,来实现接口文档的自动生成和更新的方法。
Springboot应用中如何对异常进行统一处理 在Spring Boot中,可以使用AOP、@RestControllerAdvice注解方式来对异常进行统一处理,以提高代码的可维护性和错误处理的一致性。其中AOP方式可以在服务层、controller层、其他任何层中捕获并处理异常,适用范围较广。@RestControllerAdvice注解方式则是针对controller层进行统一异常处理。我们可以根据具体场景来选择具体的方式实现对异常的统一处理。
在线上环境如何动态修改Log4j2的日志级别? 为了排查线上问题需要动态的调整日志级别,比如调低某些类的日志级别,打印更多的有用日志信息,方便问题的排查。对于Log4j2,动态调整日志级别有JMX和编程两种方式,推荐使用编程的方式,更灵活方便。