# LangChain4j
- LangChain4j (opens new window)的目标是简化 Java 应用程序集成大模型
- LangChain4j目前支持的 模型 (opens new window)和 向量数据库 (opens new window)
- JDK版本必须17+
# Java环境下使用
# 使用 OpenAi 的 gpt 模型
- 添加依赖环境
<!--langchain4j的核心依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>1.1.0</version>
</dependency>
<!--langchain4j接入Open AI各个模型的依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>1.1.0</version>
</dependency>
- 使用模型
@Test
void test01() {
ChatLanguageModel model = OpenAiChatModel
.builder() // 构建器模式创建实例对象
.apiKey("apiKey")
.modelName("gpt-4o-mini")
.build(); // 构建模型实例
String answer = model.chat("你好,你是谁?你能代替人类吗");
System.out.println(answer);
}
# 使用 DeepSeek 模型
- 添加依赖环境
<!--langchain4j的核心依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>1.1.0</version>
</dependency>
<!--langchain4j接入Open AI各个模型的依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>1.1.0</version>
</dependency>
- 使用模型
@Test
void test02() {
ChatLanguageModel model = OpenAiChatModel
.builder()
.baseUrl("https://api.deepseek.com")
.apiKey("apiKey")
.modelName("deepseek-reasoner") // deepseek-chat
.build();
String answer = model.chat("你好,你是谁?你能代替人类吗");
System.out.println(answer);
}
注意
- deepseek 依赖还是使用 langchain4j-open-ai 因为 deepseek 的接口标准和 open-ai 是一样的
- deepseek 不支持向量搜索(RAG),需要使用单独的向量模型
# 使用 Ollama 模型
- 添加依赖环境
<!--langchain4j的核心依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>1.1.0</version>
</dependency>
<!--langchain4j接入Ollama本地模型的依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-dashscope</artifactId>
<version>1.1.0</version>
</dependency>
- 使用模型
@Test
void test04() {
ChatModel model = OllamaChatModel
.builder()
.baseUrl("http://localhost:11434")
.modelName("deepseek-r1:8b")
.build();
String answer = model.chat("你好,你是谁?你能代替人类吗");
System.out.println(answer);
}
# 使用阿里百炼平台
- 添加依赖环境
<!--langchain4j的核心依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>1.1.0</version>
</dependency>
<!--langchain4j接入阿里百炼的模型依赖-->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-dashscope</artifactId>
<version>1.1.0</version>
</dependency>
- 使用千问模型
@Test
void test03() {
ChatModel model = QwenChatModel
.builder()
// 内部已经配置了baseUrl,无需再次配置
// .baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1")
.apiKey("apiKey")
.modelName("qwen-plus-latest")
.build();
String answer = model.chat("你好,你是谁?你能代替人类吗");
System.out.println(answer);
}
- 使用万象模型 - 文生图 WanxImageModel
@Test
void test05() {
WanxImageModel wanxImageModel = WanxImageModel.builder()
.modelName("wanx2.1-t2i-plus")
.apiKey("apiKey")
.build();
Response<Image> response = wanxImageModel.generate("sylone");
System.out.println(response.content().url());
}
- 使用万象模型 - 文生语音 WanxImageModel
@Test
void test05() {
WanxImageModel wanxImageModel = WanxImageModel.builder()
.modelName("wanx2.1-t2i-plus")
.apiKey("sk-d29accd35f0c4048aea165f94a564643")
.build();
Response<Image> response = wanxImageModel.generate("sylone");
System.out.println(response.content().url());
}
← SpringCloud 数据访问 →