LangChain4j基本介绍!

LangChain4j 的目标是简化 Java 应用程序集成LLMs。

LangChain4j 就是一个通过抽象统一API提供便捷可用的工具箱来简化 Java 应用程序集成LLMs的框架。

示例代码:langchain4j-examples chat

LangChain4j 源代码:https://github.com/langchain4j

官方文档:https://docs.langchain4j.dev/intro

集成能力

集成 15+个 语言大模型:https://docs.langchain4j.dev/integrations/language-models

集成 15+个 向量数据库:https://docs.langchain4j.dev/integrations/embedding-stores

集成 10+个 嵌入模型:https://docs.langchain4j.dev/category/embedding-models

集成 4个 图片大模型:https://docs.langchain4j.dev/category/image-models

集成 2个 评分重排名模型:https://docs.langchain4j.dev/category/scoring-reranking-models

集成 2个 代码执行引擎,支持动态函数调用(Function Calling)。

集成 1个 OpenAI 审核模型,实现输入/输出有害信息审核。

basic-chatbot.jpg

LangChain4j采用模块化设计,包括:

  • langchain4j-core 模块,用于定义核心抽象,如ChatLanguageModelEmbeddingStore及其 API。
  • langchain4j 模块,包含有用的工具,如 ChatMemoryOutputParser 以及高级功能,如 AiServices
  • langchain4j-{integration} 模块,每个模块都提供与各种LLM提供商的集成,以及嵌入存储集成到LangChain4j中。
  • langchain4j-spring-{integration}-spring-boot-starter 模块,与Spring boot项目集成,开箱即用。

入门示例

引入依赖:

1
2
3
4
5
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-ollama-spring-boot-starter</artifactId>
<version>${langchain4j.version}</version>
</dependency>
1
2
3
4
5
langchain4j:
ollama:
chat-model:
base-url: http://localhost:11434
model-name: qwen:7b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import dev.langchain4j.model.chat.ChatLanguageModel;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/ll/")
@RestController
public class ChatController {

private final ChatLanguageModel chatLanguageModel;

public ChatController(ChatLanguageModel chatLanguageModel) {
this.chatLanguageModel = chatLanguageModel;
}

@GetMapping("chat")
public String chat(String prompt) {
return chatLanguageModel.generate(prompt);
}
}