LangChain4j的目标就是简化将大语言模型集成到Java应用程序中的过程
主要功能
- 与大语言模型和向量数据库的便捷交互
- 专为Java打造
- 智能代理,工具,检索增强生成
应用
客户支持聊天机器人,它可以:
- 礼貌地回答客户问题
- 处理 / 更改 / 取消订单
教育助手,它可以:
- 教授各种学科
- 解释不清楚的部分
- 评估用户的理解 / 知识水平
你想要处理大量的非结构化数据(文件、网页等),并从中提取结构化信息。例如:
- 从客户评价和支持聊天记录中提取有效评价
- 从竞争对手的网站上提取有趣的信息
- 从求职者的简历中提取有效信息
你想要生成信息,例如:
- 为你的每个客户量身定制的电子邮件
为你的应用程序 / 网站生成内容:
- 博客文章
- 故事
你想要转换信息,例如:
- 总结
- 校对和改写
- 翻译
**1.**创建 SpringBoot 项目
1.1****创建 Maven 项目
1.2****添加 SpringBoot 相关依赖
在pom.xml文件中添加下面依赖
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 2.2****添加 LangChain4j 依赖 |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 2.3****创建测试用例 官方提供了测试代码,我们在项目中进行测试类LLMTest |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| **3.**使用 springBoot 整合 官方链接:https://docs.langchain4j.dev/tutorials/spring-boot-integration 3.1****替换依赖 |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 3.2****配置模型参数 在application.properties文件中添加 |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 3.3****创建测试用例 采取依赖注入的方式 |----------------------------------------------------------------------------------------------------------------------------------------------------------|
| 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}\ \ \ \
| XML <!-- 基于open-ai的langchain4j接口:ChatGPT、deepseek都是open-ai标准下的大模型 --> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai</artifactId> <version>1.9.1</version> </dependency> |

| 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); } } |
| XML <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai-spring-boot-starter</artifactId> <version>1.9.1-beta17</version> </dependency> |
| 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 |
| Java @Autowired private OpenAiChatModel model; @Test public void springBootTest(){ String chat = model.chat("你可以帮助我什么?"); System.out .println(chat); } |