LangChain4j

LangChain4j的目标就是简化将大语言模型集成到Java应用程序中的过程

主要功能

  • 与大语言模型和向量数据库的便捷交互
  • 专为Java打造
  • 智能代理,工具,检索增强生成

应用

客户支持聊天机器人,它可以:

  • 礼貌地回答客户问题
  • 处理 / 更改 / 取消订单

教育助手,它可以:

  • 教授各种学科
  • 解释不清楚的部分
  • 评估用户的理解 / 知识水平

你想要处理大量的非结构化数据(文件、网页等),并从中提取结构化信息。例如:

  • 从客户评价和支持聊天记录中提取有效评价
  • 从竞争对手的网站上提取有趣的信息
  • 从求职者的简历中提取有效信息

你想要生成信息,例如:

  • 为你的每个客户量身定制的电子邮件

为你的应用程序 / 网站生成内容:

  • 博客文章
  • 故事

你想要转换信息,例如:

  • 总结
  • 校对和改写
  • 翻译

**1.**创建 SpringBoot 项目

1.1****创建 Maven 项目

1.2****添加 SpringBoot 相关依赖

在pom.xml文件中添加下面依赖

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| XML <properties> <maven.compiler.source>18</maven.compiler.source> <maven.compiler.target>18</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring-boot.version>3.2.6</spring-boot.version> <knife4j.version>4.3.0</knife4j.version> <langchain4j.version>1.0.0-beta3</langchain4j.version> <mybatis-plus.version>3.5.11</mybatis-plus.version> </properties> <dependencies> <!-- web应用程序核心依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 编写和运行测试用例 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 前后端分离中的后端接口测试工具 --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> <version>{knife4j.version}\ \ \ \ \ \

  1. 主 langchain4j 模块,包含有用的工具,如文档加载器、聊天记忆实现,以及诸如人工智能服务等高层功能。
  1. 大量的 langchain4j-{集成} 模块,每个模块都将各种大语言模型提供商和嵌入存储集成到LangChain4j 中。你可以独立使用 langchain4j-{集成} 模块。如需更多功能,只需导入主 langchain4j依赖项即可。

2.2****添加 LangChain4j 依赖

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| XML <!-- 基于open-ai的langchain4j接口:ChatGPT、deepseek都是open-ai标准下的大模型 --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai</artifactId> <version>1.9.1</version> </dependency> |

2.3****创建测试用例

官方提供了测试代码,我们在项目中进行测试类LLMTest

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Java package com.itguigu.java.ai.LangChain4j; import dev.langchain4j.model.openai.OpenAiChatModel; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest public class LLMTest { @Test public void testGPTDemo(){ //官方提供 OpenAiChatModel model = OpenAiChatModel.builder() .baseUrl("http://langchain4j.dev/demo/openai/v1") .apiKey("demo") .modelName("gpt-4o-mini") .build(); //向模型提问 String chat = model.chat("你是谁?"); System.out .println(chat); } } |

**3.**使用 springBoot 整合

官方链接:https://docs.langchain4j.dev/tutorials/spring-boot-integration

3.1****替换依赖

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| XML <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId> <version>1.9.1-beta17</version> </dependency> |

3.2****配置模型参数

在application.properties文件中添加

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| YAML langchain4j.open-ai.chat-model.base-url=http://langchain4j.dev/demo/openai/v1 langchain4j.open-ai.chat-model.api-key=demo langchain4j.open-ai.chat-model.model-name=gpt-4o-mini *#*请求和响应的日志 langchain4j.open-ai.chat-model.log-requests=true langchain4j.open-ai.chat-model.log-responses=true *#*要想显示open-ai的请求和响应日志,需要将日志修改成debug级别 logging.level.root=debug |

3.3****创建测试用例

采取依赖注入的方式

|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| Java @Autowired private OpenAiChatModel model; @Test public void springBootTest(){ String chat = model.chat("你可以帮助我什么?"); System.out .println(chat); } |

相关推荐
二月夜7 小时前
剖析Java正则表达式回溯问题
java·正则表达式
xuhaoyu_cpp_java8 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
程序员二叉8 小时前
【Java】集合面试全套精讲|HashMap/ArrayList高频考点完整版
java·面试·哈希算法
cfm_29149 小时前
JVM GC垃圾回收初步了解
java·开发语言·jvm
心之伊始9 小时前
LangChain4j RAG 实战:Java 后端如何把本地文档接入 Embedding 检索链路
java·架构·源码分析·csdn
许彰午9 小时前
17_synchronized关键字深度解析
java·开发语言
Xzh042311 小时前
AI Agent 学习路线(Java 后端方向)
java·人工智能·学习
艾利克斯冰11 小时前
Java 设计模式-行为型模式(更新中)
java·开发语言·设计模式
倒霉蛋小马12 小时前
Java新特性:record关键字
java·开发语言
折哥的程序人生 · 物流技术专研12 小时前
《Java 100 天进阶之路》第95篇:消息队列基础(RocketMQ/Kafka)(2026版)
java·面试·kafka·rocketmq·java-rocketmq·求职招聘