一、简介
LangChain4j 的目标是简化将大语言模型(LLM - Large Language Model)集成到 Java 应用程序中的过程
官网:
二、主要功能
与大型语言模型和向量数据库的便捷交互
通过统一的应用程序编程接口(API),可以轻松访问所有主要的商业和开源大型语言模型以及向量数据
库,使你能够构建聊天机器人、智能助手等应用。
专为 Java 打造
借助Spring Boot 集成,能够将大模型集成到ava 应用程序中。大型语言模型与 Java 之间实现了双向集
成:你可以从 Java 中调用大型语言模型,同时也允许大型语言模型反过来调用你的 Java 代码
智能代理、工具、检索增强生成(RAG)
为常见的大语言模型操作提供了广泛的工具,涵盖从底层的提示词模板创建、聊天记忆管理和输出解
析,到智能代理和检索增强生成等高级模式。
三、接入大模型
参考文档:
说明:jdk版本不低于17,我使用的是17.0.2版本
1.新建SpringBoot项目
2.添加依赖
<!-- 基于open-ai的langchain4j接口:ChatGPT、deepseek都是open-ai标准下的大模型 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>1.0.0-beta3</version>
</dependency>
3.编写测试用例
@Test
void testLLM() {
OpenAiChatModel model = OpenAiChatModel.builder()
.baseUrl("http://langchain4j.dev/demo/openai/v1")
.apiKey("demo")
.modelName("gpt-4o-mini")
.build();
String answer = model.chat("你好");
System.out.println(answer);
}
四、SpringBoot整合
参考文档:
1.新建SpringBoot项目
2.添加依赖
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai-spring-boot-starter</artifactId>
<version>1.0.0-beta3</version>
</dependency>
3.编写测试用例
@Autowired
private OpenAiChatModel openAiChatModel;
@Test
void testOpenAiChatModel(){
String answer = openAiChatModel.chat("你是谁");
System.out.println(answer);
}
五、接入其他大模型
1、都有哪些大模型
大语言模型排行榜:
LangChain4j支持接入的大模型:
2.接入DeepSeek
1.获取开发参数
访问官网:
注册账号,获取base_url和api_key,充值
2.配置模型参数
DeepSeek API文档:
在 LangChain4j 中,DeepSeek 和 GPT 一样也使用了 OpenAI 的接口标准,因此也使用OpenAiChatModel进行接入
3.步骤
1.添加配置文件
langchain4j:
open-ai:
chat-model:
base-url: https://api.deepseek.com
api-key: sk-851e968414c947c6be86427b101xxxx
model-name: deepseek-chat
model-name: =deepseek-reasoner
2.编写测试用例
@Autowired
private OpenAiChatModel openAiChatModel;
@Test
void testOpenAiChatModel(){
String answer = openAiChatModel.chat("你是谁");
System.out.println(answer);
}
六、接入阿里百炼平台
1.什么是阿里百炼
阿里云百炼是 2023 年 10 月推出的。它集成了阿里的通义系列大模型和第三方大模型,涵盖文本、
图像、音视频等不同模态。
功能优势:集成超百款大模型 API,模型选择丰富;5-10 分钟就能低代码快速构建智能体,应用构
建高效;提供全链路模型训练、评估工具及全套应用开发工具,模型服务多元;在线部署可按需扩
缩容,新用户有千万 token 免费送,业务落地成本低。
支持接入的模型列表:
模型广场:
2.申请免费体验并开通服务
3.配置apiKey
申请apiKey: https://bailian.console.aliyun.com/?apiKey=1&productCode=p_efm#/api-key
4.添加依赖
LangChain4j参考文档:
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
<version>1.0.0-beta3</version>
</dependency>
5.配置文件
langchain4j:
community:
dashscope:
chat-model:
api-key: sk-09c7b571687b46d5a2e25a03fbdd2fd1
model-name: qwen-max
6.编写测试用例
@Autowired
private QwenChatModel qwenChatModel;
@Test
void testQwen(){
String answer = qwenChatModel.chat("你是谁");
System.out.println(answer);
}
7.千文文生图
@Test
public void testDashScopeWanx(){
WanxImageModel wanxImageModel = WanxImageModel.builder()
.modelName("wanx2.1-t2i-plus")
.apiKey("sk-09c7b571687b46d5a2e25a03fbdd2fd1")
.build();
Response<Image> response = wanxImageModel.generate("一间有着精致窗户的花店,漂亮的木质门,摆放着花朵");
System.out.println(response.content().url());
}
8.测试DeepSeek
也可以在阿里百炼上集成第三方大模型,如DeepSeek
将配置参数上的base-url参数指定到百炼平台,使用百炼上的大模型名称和apiKey即可
langchain4j:
community:
dashscope:
chat-model:
api-key: sk-09c7b571687b46d5a2e25a03fbddxxxx
model-name: qwen-max
@Autowired
private OpenAiChatModel openAiChatModel;
@Test
void testOpenAiChatModel(){
String answer = openAiChatModel.chat("你是谁");
System.out.println(answer);
}