有了LangChain4j+Cursor ,Java 开发AI应用也就简单多了

之前开发了一个复杂的AI交互平台,涉及多个模块的集成与交互,包括自然语言处理、图像识别、语音合成等。 由于项目周期紧张,代码结构较为混乱,尤其是对大模型API的封装部分,缺乏统一的接口设计和模块化处理,导致后续维护和扩展困难。

例如,不同功能的API调用分散在各个模块中,缺乏统一的错误处理和日志记录机制,增加了调试和优化的复杂度。 此外,代码中还存在大量冗余和重复的逻辑,影响了系统的性能和可读性。

**但是:**LangChain官方自从发布了LangChain4j,AI 界的门槛儿算是被彻底踹飞了!为什么?因为这就意味着整天只会 CRUD 的 Javaer 们也能开发AI应用了,而且简单到让你怀疑人生

一、LangChain4j

它是Java版本的LangChain,随着大模型的不断发展,如何在程序中更好的利用大模型的能力来提高编程效率是一种趋势,LangChain是这么自己介绍自己的:

LangChain gives developers a framework to construct LLM‑powered apps
easily.

意思是:LangChain提供了一个开发框架,使得开发者可以很容易的用来构建具有LLM能力的应用程序。

LLM就是Large Language Model,也就是常说的大语言模型,简称大模型。

个人认为:大模型时代,如何将大模型能力和传统应用相结合,使得传统应用更加智能,是人工智能时代的趋势。以前一个应用要获得智能,需要企业自己投入资源训练模型,而现在只需要接入大模型即可,这种便利性将使得大模型会应用得更为广泛,而如何将大模型能力和Java编程语言相结合,这就是LangChain4j所做的。

注意,大模型的能力远远不止聊天的能力,而LangChain4j就在帮助我们更好的利用大模型的能力,从而帮我们打造出更加智能的应用。

二、初识LangChain4j

接下来,让我们与LangChain4j初识一下,新建一个Maven工程,然后添加以下依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.qjc</groupId>
    <artifactId>langchain4j-project-1</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <langchain4j.version>0.27.1</langchain4j.version>
    </properties>

    <dependencies>
    	<!--核心-->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j</artifactId>
            <version>${langchain4j.version}</version>
        </dependency>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai</artifactId>
            <version>${langchain4j.version}</version>
        </dependency>
		<!--日志-->
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>tinylog-impl</artifactId>
            <version>2.6.2</version>
        </dependency>
        <dependency>
            <groupId>org.tinylog</groupId>
            <artifactId>slf4j-tinylog</artifactId>
            <version>2.6.2</version>
        </dependency>
    </dependencies>

</project>

引入了langchain4j的核心依赖、langchain4j集成OpenAi各个模型的依赖、轻量级实现了slf4j接口的tinylog日志依赖。

接着,咱们和OpenAi的第一次对话:

package com.qjc.demo;

import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.openai.OpenAiChatModel;

public HelloAI {

    public static void main(String[] args) {

        ChatLanguageModel model = OpenAiChatModel.withApiKey("demo");

        String answer = model.generate("你好,你是谁?");

        System.out.println(answer);

    }
}


运行代码结果为:

你好,我是一个人工智能助手。我可以回答你的问题和提供帮助。有什么可以帮到你的吗?

这样,我们使用LangChain4j第一次成功的和OpenAi的GPT模型进行了对话。

更多的操作,小伙伴们可以查看官网】。

三、实战资讯App

经常看我文章的小伙伴,应该知道我最近在开发资讯App。

之所以做这个App,主要是想利用Cursor+LangChain4j来完成项目,

学习Cursor开发一个完整的demo级别项目,其次是市面上的关于大模型咨询的应用几乎没有,我又需要掌握大模型应用级别的各种信息。

大概的功能长这样的:

整体项目代码结构:

其中,app-admin是后台管理前端,app-info是后端,app-uni则是app。

目前整体进度算是一般吧,主要是年底也比较忙。

(数据来自于各种国内,国外的数据爬取。以及后台管理系统自己上传)

目前项目已经进入真实数据的调试阶段,整体工作分配上,80%的任务由Cursor自动完成,而我主要负责剩余的20%。 Cursor的高效处理能力极大地提升了开发效率,尤其是在数据清洗、格式转换和初步分析等重复性任务上表现出色。

我的工作则集中在关键决策、算法优化和结果验证等核心环节,确保最终输出的准确性和可靠性。

这种分工模式不仅节省了大量时间,还让我能够更专注于解决复杂问题,推动项目快速进展。

后续完成之后,会打包成为apk,分享给老铁小伙伴。

四、感悟

最近Cursor获得了上亿美元的融资,各大平台广告满天飞。

特别是B站、小红书、小绿书,各种博眼球的标题。

反正我是震惊不已。

确实,Cursor很大程度的提高了编码效率,让开发者更大程度的去关注产品和设计。

但是,远远达不到那种10分钟,20分钟完成一个项目的程度。

当然,可以完成一个脚本,一个小工具。

像我开发的这种前后端分离,带系统后台和前台的项目,在代码结构上就比较麻烦。

但是,我是坚信未来肯定可以巅峰一些业务不复杂的项目。

只要掌握和多实战Cursor,按照逻辑文档和需求文档,一点一点指导Cursor开发下去,也是可以完成复杂项目。

【后续分享,将在公众号里继续ing】

也提醒小伙伴们,不要相信什么0代码基础,10分钟,完成xxx项目。

### Cursor AI 在前端开发中的应用场景与功能 #### 应用场景 Cursor 是一款专为开发者打造的现代化代码编辑器,其内置的强大 AI 功能使其成为前端开发的理想工具。它能够显著提升前端工程师的工作效率,尤其是在处理复杂的 HTML、CSS 和 JavaScript 文件时[^1]。 - **快速原型设计** 开发者可以通过 Cursor 的智能提示功能迅速构建网页布局和交互效果。无论是创建响应式页面还是动态组件,Cursor 都能提供即时的帮助。 - **代码优化与重构** 对于现有的前端项目,Cursor 提供了高效的代码分析能力,可以帮助识别冗余代码并建议最佳实践来改进性能[^2]。 - **跨平台协作** 前端团队成员可以利用 Cursor 实现无缝协作,共享工作空间以及实时同步修改内容,从而减少沟通成本并提高生产力。 #### 主要功能描述 - **智能化代码补全** Cursor 支持上下文感知型代码补全技术,可以根据当前文件结构预测可能输入的内容,并自动生成相应的语法片段。 - **自动化测试生成** 它还具备根据现有逻辑来自动生成单元测试的能力,这对于确保前端模块的质量至关重要。 - **集成调试环境** 用户无需切换到其他应用程序即可完成断点设置、变量监控等一系列复杂操作,极大地简化了错误排查流程。 - **个性化定制选项** 类似于 Visual Studio Code (VS Code),Cursor 允许用户调整主题样式、快捷键绑定以及其他偏好设定以满足个人需求。 ```javascript // 示例:使用 Cursor 自动生成事件监听函数 document.getElementById('button').addEventListener('click', function() { alert('Button clicked!'); }); ``` 以上特性使得 Cursor 成为了许前端专业人士日常工作中不可或缺的一部分,在保持高水准的同时也促进了创新思维的发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据Ai指北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值