141 个 LangChain4j Maven 组件分类解析、多场景实战攻略
本文深入解析了 LangChain4j 的 141 个组件,按照功能划分为核心模块、LLM 集成、向量存储、文档加载与解析、嵌入模型、Spring Boot 启动器、社区模块等九大类别,帮助开发者快速理解其架构与应用方式。同时,文章结合多个实战场景,如基于 OpenAI 的聊天机器人、RAG 问答系统、PDF 文档处理、代码生成等,详细展示了组件的实际用法。通过理论与实践结合,助力 Java 开发
141 个 LangChain4j Maven 组件分类解析、多场景实战攻略
1. 引言
LangChain4j 是一个强大的 Java 库,旨在简化大型语言模型(LLM)在 Java 应用程序中的集成。它提供了丰富的组件和工具,支持从低级别的原始组件(如 ChatModel、EmbeddingStore)到高级别的 AI 服务(如聊天机器人、文本分类等)。本文基于提供的 txt 文件内容,对 LangChain4j 的 141 个组件进行分类,并详细讲解每个分类下的组件。同时,本文还将介绍多个实际场景,展示如何使用这些组件构建 LLM 驱动的应用程序。
本文分为两部分:
- 组件分类:将 141 个组件分为多个类别,每个类别包含描述和详细的组件表格,表头包括 GroupId、ArtifactId 和功能描述。
- 多场景实战攻略:介绍多个常见场景,每个场景列出所需组件及其作用。

2. LangChain4j 组件分类
LangChain4j 的 141 个组件根据其功能和用途分为以下 9 个类别。每个类别包含一个描述和一个表格,列出该类别下的所有组件,包括 GroupId、ArtifactId 和功能描述。
2.1. 核心模块 (Core Modules)
描述: 这些是 LangChain4j 的基础模块,定义了核心抽象(如 ChatModel、EmbeddingStore)和主要功能(如文档加载器、聊天记忆实现)。它们是构建 LLM 应用的基础。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j | 主模块,包含核心功能和文档加载器等 |
| dev.langchain4j | langchain4j-core | 核心抽象,如 ChatModel、EmbeddingStore 等 |
| dev.langchain4j | langchain4j-bom | Bill of Materials,用于版本管理 |
| dev.langchain4j | langchain4j-test | 测试实用工具 |
| dev.langchain4j | langchain4j-parent | 父 POM,用于管理依赖 |
2.2. LLM 集成 (LLM Integrations)
描述: 这些模块提供了与各种大型语言模型提供商的集成,允许用户通过统一的 API 使用不同的 LLM,如 OpenAI、Anthropic、Google Gemini 等。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j-anthropic | Anthropic LLM 集成 |
| dev.langchain4j | langchain4j-azure-open-ai | Azure OpenAI LLM 集成 |
| dev.langchain4j | langchain4j-bedrock | AWS Bedrock LLM 集成 |
| dev.langchain4j | langchain4j-cohere | Cohere LLM 集成 |
| dev.langchain4j | langchain4j-dashscope | DashScope LLM 集成 |
| dev.langchain4j | langchain4j-google-ai-gemini | Google AI Gemini LLM 集成 |
| dev.langchain4j | langchain4j-hugging-face | Hugging Face LLM 集成 |
| dev.langchain4j | langchain4j-mistral-ai | Mistral AI LLM 集成 |
| dev.langchain4j | langchain4j-open-ai | OpenAI LLM 集成 |
| dev.langchain4j | langchain4j-ovh-ai | OVH AI LLM 集成 |
| dev.langchain4j | langchain4j-vertex-ai | Google Vertex AI LLM 集成 |
| dev.langchain4j | langchain4j-voyage-ai | Voyage AI LLM 集成 |
| dev.langchain4j | langchain4j-workers-ai | Cloudflare Workers AI LLM 集成 |
| dev.langchain4j | langchain4j-zhipu-ai | Zhipu AI LLM 集成 |
| dev.langchain4j | langchain4j-chatglm | ChatGLM LLM 集成 |
| dev.langchain4j | langchain4j-github-models | GitHub Models LLM 集成 |
| dev.langchain4j | langchain4j-jina | Jina LLM 集成 |
| dev.langchain4j | langchain4j-jlama | JLama LLM 集成 |
| dev.langchain4j | langchain4j-local-ai | Local AI LLM 集成 |
| dev.langchain4j | langchain4j-nomic | Nomic AI LLM 集成 |
| dev.langchain4j | langchain4j-ollama | Ollama LLM 集成 |
| dev.langchain4j | langchain4j-qianfan | Qianfan LLM 集成 |
| dev.langchain4j | langchain4j-onnx-scoring | ONNX Scoring LLM 集成 |
| dev.langchain4j | langchain4j-community-chatglm | 社区版 ChatGLM LLM 集成 |
| dev.langchain4j | langchain4j-community-dashscope | 社区版 DashScope LLM 集成 |
| dev.langchain4j | langchain4j-community-qianfan | 社区版 Qianfan LLM 集成 |
| dev.langchain4j | langchain4j-community-xinference | Xinference LLM 集成 |
| dev.langchain4j | langchain4j-community-zhipu-ai | 社区版 Zhipu AI LLM 集成 |
2.3. 向量存储集成 (Embedding Store Integrations)
描述: 这些模块提供了与各种向量数据库或嵌入存储的集成,用于存储和检索嵌入向量,支持语义搜索、RAG 等任务。包括主流和社区贡献的存储。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j-chroma | Chroma 向量存储集成 |
| dev.langchain4j | langchain4j-elasticsearch | Elasticsearch 向量存储集成 |
| dev.langchain4j | langchain4j-milvus | Milvus 向量存储集成 |
| dev.langchain4j | langchain4j-pinecone | Pinecone 向量存储集成 |
| dev.langchain4j | langchain4j-qdrant | Qdrant 向量存储集成 |
| dev.langchain4j | langchain4j-redis | Redis 向量存储集成 |
| dev.langchain4j | langchain4j-weaviate | Weaviate 向量存储集成 |
| dev.langchain4j | langchain4j-azure-ai-search | Azure AI Search 向量存储集成 |
| dev.langchain4j | langchain4j-azure-cosmos-mongo-vcore | Azure Cosmos DB Mongo vCore 向量存储集成 |
| dev.langchain4j | langchain4j-azure-cosmos-nosql | Azure Cosmos DB NoSQL 向量存储集成 |
| dev.langchain4j | langchain4j-cassandra | Cassandra 向量存储集成 |
| dev.langchain4j | langchain4j-couchbase | Couchbase 向量存储集成 |
| dev.langchain4j | langchain4j-infinispan | Infinispan 向量存储集成 |
| dev.langchain4j | langchain4j-mongodb-atlas | MongoDB Atlas 向量存储集成 |
| dev.langchain4j | langchain4j-neo4j | Neo4j 向量存储集成 |
| dev.langchain4j | langchain4j-opensearch | OpenSearch 向量存储集成 |
| dev.langchain4j | langchain4j-oracle | Oracle 向量存储集成 |
| dev.langchain4j | langchain4j-pgvector | PGVector 向量存储集成 |
| dev.langchain4j | langchain4j-tablestore | Tablestore 向量存储集成 |
| dev.langchain4j | langchain4j-vearch | Vearch 向量存储集成 |
| dev.langchain4j | langchain4j-vespa | Vespa 向量存储集成 |
| dev.langchain4j | langchain4j-community-alloydb-pg | AlloyDB for Postgres 向量存储集成(社区版) |
| dev.langchain4j | langchain4j-community-clickhouse | ClickHouse 向量存储集成(社区版) |
| dev.langchain4j | langchain4j-community-cloud-sql-pg | Cloud SQL for Postgres 向量存储集成(社区版) |
| dev.langchain4j | langchain4j-community-duckdb | DuckDB 向量存储集成(社区版) |
| dev.langchain4j | langchain4j-community-lucene | Lucene 向量存储集成(社区版) |
| dev.langchain4j | langchain4j-community-neo4j | Neo4j 向量存储集成(社区版) |
| dev.langchain4j | langchain4j-community-redis | Redis 向量存储集成(社区版) |
| dev.langchain4j | langchain4j-community-vearch | Vearch 向量存储集成(社区版) |
2.4. 文档加载器 (Document Loaders)
描述: 这些模块用于从各种来源加载文档,如云存储、GitHub、Web 页面等,为后续处理(如 RAG)提供数据。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j-document-loader-amazon-s3 | 从 Amazon S3 加载文档 |
| dev.langchain4j | langchain4j-document-loader-azure-storage-blob | 从 Azure Blob 加载文档 |
| dev.langchain4j | langchain4j-document-loader-github | 从 GitHub 加载文档 |
| dev.langchain4j | langchain4j-document-loader-google-cloud-storage | 从 Google Cloud Storage 加载文档 |
| dev.langchain4j | langchain4j-document-loader-selenium | 从 Web 页面加载文档 |
| dev.langchain4j | langchain4j-document-loader-tencent-cos | 从 Tencent COS 加载文档 |
2.5. 文档解析器 (Document Parsers)
描述: 这些模块用于解析不同格式的文档(如 PDF、Excel、Word),将其转换为可处理的结构化数据。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j-document-parser-apache-pdfbox | 使用 Apache PDFBox 解析 PDF 文档 |
| dev.langchain4j | langchain4j-document-parser-apache-poi | 使用 Apache POI 解析 Excel 和 Word 文档 |
| dev.langchain4j | langchain4j-document-parser-apache-tika | 使用 Apache Tika 解析多种文档格式 |
| dev.langchain4j | langchain4j-community-document-parser-llamaparse | 使用 llamaparse 解析文档(社区版) |
2.6. 嵌入模型 (Embedding Models)
描述: 这些模块提供了预训练的嵌入模型,用于将文本转换为嵌入向量,支持语义搜索和 RAG 等任务。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j-embeddings-all-minilm-l6-v2 | 使用 All-MiniLM-L6-v2 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-all-minilm-l6-v2-q | 使用 All-MiniLM-L6-v2-Q 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-bge-small-en | 使用 BGE-Small-En 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-bge-small-en-q | 使用 BGE-Small-En-Q 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-bge-small-en-v15 | 使用 BGE-Small-En-v15 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-bge-small-en-v15-q | 使用 BGE-Small-En-v15-Q 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-bge-small-zh | 使用 BGE-Small-Zh 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-bge-small-zh-q | 使用 BGE-Small-Zh-Q 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-bge-small-zh-v15 | 使用 BGE-Small-Zh-v15 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-bge-small-zh-v15-q | 使用 BGE-Small-Zh-v15-Q 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-e5-small-v2 | 使用 E5-Small-v2 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings-e5-small-v2-q | 使用 E5-Small-v2-Q 模型生成嵌入 |
| dev.langchain4j | langchain4j-embeddings | 嵌入模型的父模块 |
| dev.langchain4j | langchain4j-embeddings-bom | 嵌入模型的 Bill of Materials |
| dev.langchain4j | langchain4j-embeddings-parent | 嵌入模型的父 POM |
2.7. Spring Boot Starters
描述: 这些模块是 Spring Boot 的启动器,简化了 LangChain4j 在 Spring Boot 应用程序中的配置和集成。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j-anthropic-spring-boot-starter | Anthropic LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-azure-ai-search-spring-boot-starter | Azure AI Search 向量存储的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-azure-open-ai-spring-boot-starter | Azure OpenAI LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-elasticsearch-spring-boot-starter | Elasticsearch 向量存储的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-milvus-spring-boot-starter | Milvus 向量存储的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-open-ai-spring-boot-starter | OpenAI LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-github-models-spring-boot-starter | GitHub Models LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-google-ai-gemini-spring-boot-starter | Google AI Gemini LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-ollama-spring-boot-starter | Ollama LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-qianfan-spring-boot-starter | Qianfan LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-redis-spring-boot-starter | Redis 向量存储的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-vertex-ai-gemini-spring-boot-starter | Google Vertex AI Gemini LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-voyage-ai-spring-boot-starter | Voyage AI LLM 的 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-community-clickhouse-spring-boot-starter | ClickHouse 向量存储的 Spring Boot 启动器(社区版) |
| dev.langchain4j | langchain4j-community-dashscope-spring-boot-starter | DashScope LLM 的 Spring Boot 启动器(社区版) |
| dev.langchain4j | langchain4j-community-neo4j-spring-boot-starter | Neo4j 向量存储的 Spring Boot 启动器(社区版) |
| dev.langchain4j | langchain4j-community-qianfan-spring-boot-starter | Qianfan LLM 的 Spring Boot 启动器(社区版) |
| dev.langchain4j | langchain4j-community-redis-spring-boot-starter | Redis 向量存储的 Spring Boot 启动器(社区版) |
| dev.langchain4j | langchain4j-community-vearch-spring-boot-starter | Vearch 向量存储的 Spring Boot 启动器(社区版) |
| dev.langchain4j | langchain4j-community-xinference-spring-boot-starter | Xinference LLM 的 Spring Boot 启动器(社区版) |
2.8. 社区模块 (Community Modules)
描述: 这些是由社区贡献的模块,提供额外的集成或功能,如特定数据库或 LLM 的支持。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j-community | 社区模块的父模块 |
| dev.langchain4j | langchain4j-community-bom | 社区模块的 Bill of Materials |
| dev.langchain4j | langchain4j-community-core | 社区模块的核心功能 |
| dev.langchain4j | langchain4j-community-spring-boot-starters | Spring Boot 启动器的社区版本 |
2.9. 其他实用工具 (Other Utilities)
描述: 这些模块提供了额外的功能,如 HTTP 客户端、Reactive 支持、Spring 集成等,增强了 LangChain4j 的灵活性。
| GroupId | ArtifactId | 功能描述 |
|---|---|---|
| dev.langchain4j | langchain4j-http-client | HTTP 客户端 |
| dev.langchain4j | langchain4j-http-client-jdk | JDK-based HTTP 客户端 |
| dev.langchain4j | langchain4j-http-client-spring-restclient | Spring RestClient-based HTTP 客户端 |
| dev.langchain4j | langchain4j-reactor | Reactive 支持 |
| dev.langchain4j | langchain4j-spring | Spring 集成工具 |
| dev.langchain4j | langchain4j-spring-bom | Spring 的 Bill of Materials |
| dev.langchain4j | langchain4j-code-execution-engine-graalvm-polyglot | 使用 GraalVM Polyglot 的代码执行引擎 |
| dev.langchain4j | langchain4j-code-execution-engine-judge0 | 使用 Judge0 的代码执行引擎 |
| dev.langchain4j | langchain4j-document-transformer-jsoup | 使用 Jsoup 的文档转换器 |
| dev.langchain4j | langchain4j-easy-rag | 简化的 RAG 实现 |
| dev.langchain4j | langchain4j-experimental-sql | 实验性的 SQL 功能 |
| dev.langchain4j | langchain4j-embedding-store-filter-parser-sql | SQL 过滤器解析器 |
| dev.langchain4j | langchain4j-kotlin | Kotlin 扩展支持 |
| dev.langchain4j | langchain4j-mariadb | MariaDB 数据库集成 |
| dev.langchain4j | langchain4j-mcp | MCP 集成 |
| dev.langchain4j | langchain4j-open-ai-official | 官方 OpenAI LLM 集成 |
| dev.langchain4j | langchain4j-openrewrite-recipes | OpenRewrite 配方支持 |
| dev.langchain4j | langchain4j-web-search-engine-google-custom | Google 自定义搜索集成 |
| dev.langchain4j | langchain4j-web-search-engine-searchapi | SearchAPI 搜索集成 |
| dev.langchain4j | langchain4j-web-search-engine-tavily | Tavily 搜索集成 |
| dev.langchain4j | langchain4j-community-llm-graph-transformer | LLM 图转换器(社区版) |
| dev.langchain4j | langchain4j-community-oci-genai | Oracle Cloud Infrastructure GenAI 集成(社区版) |
| dev.langchain4j | langchain4j-community-web-search-engine-searxng | SearxNG 搜索集成(社区版) |
| dev.langchain4j | langchain4j-vertex-ai-gemini | Google Vertex AI Gemini LLM 集成 |
| dev.langchain4j | langchain4j-community-neo4j-retriever | Neo4j 检索器(社区版) |
| dev.langchain4j | langchain4j-spring-boot-starter | LangChain4j 的通用 Spring Boot 启动器 |
| dev.langchain4j | langchain4j-spring-boot-tests | Spring Boot 测试支持 |
3. 多场景实战攻略
以下是五个常见的使用 LangChain4j 的场景,每个场景都说明了所需的组件及其作用。
3.1. 场景 1: 使用 OpenAI 构建简单聊天机器人
描述: 构建一个简单的聊天机器人,使用 OpenAI 的 LLM 来生成对话响应。
| GroupId | ArtifactId | 使用作用 |
|---|---|---|
| dev.langchain4j | langchain4j-open-ai | 使用 OpenAI 的 LLM 来生成聊天响应 |
3.2. 场景 2: 使用 Chroma 和 OpenAI 实现 RAG
描述: 实现一个基于检索增强生成(RAG)的问答系统,使用 Chroma 作为嵌入存储和 OpenAI 作为 LLM。
| GroupId | ArtifactId | 使用作用 |
|---|---|---|
| dev.langchain4j | langchain4j-open-ai | 使用 OpenAI 的 LLM 来生成答案 |
| dev.langchain4j | langchain4j-chroma | 使用 Chroma 作为嵌入存储 |
| dev.langchain4j | langchain4j-embeddings-all-minilm-l6-v2 | 使用 All-MiniLM-L6-v2 作为嵌入模型 |
| dev.langchain4j | langchain4j | 使用 FileSystemDocumentLoader 加载文档(包含在主模块中) |
3.3. 场景 3: 使用 OpenAI 生成代码
描述: 使用 OpenAI 的 LLM 生成特定功能的代码,如 Java 函数。
| GroupId | ArtifactId | 使用作用 |
|---|---|---|
| dev.langchain4j | langchain4j-open-ai | 使用 OpenAI 的 LLM 来生成代码 |
3.4. 场景 4: 使用 PDF 文档实现问答系统
描述: 从 PDF 文档中提取信息,构建一个问答系统。
| GroupId | ArtifactId | 使用作用 |
|---|---|---|
| dev.langchain4j | langchain4j-open-ai | 使用 OpenAI 的 LLM 来生成答案 |
| dev.langchain4j | langchain4j-chroma | 使用 Chroma 作为嵌入存储 |
| dev.langchain4j | langchain4j-embeddings-all-minilm-l6-v2 | 使用 All-MiniLM-L6-v2 作为嵌入模型 |
| dev.langchain4j | langchain4j-document-parser-apache-pdfbox | 使用 Apache PDFBox 解析 PDF 文档 |
| dev.langchain4j | langchain4j | 使用 FileSystemDocumentLoader 加载文档(包含在主模块中) |
3.5. 场景 5: 使用 Anthropic 构建带记忆的聊天机器人
描述: 构建一个聊天机器人,使用 Anthropic 的 LLM 并维护对话历史。
| GroupId | ArtifactId | 使用作用 |
|---|---|---|
| dev.langchain4j | langchain4j-anthropic | 使用 Anthropic 的 LLM 来生成响应 |
| dev.langchain4j | langchain4j | 使用聊天记忆实现(包含在主模块中) |
4. 结语
LangChain4j 提供了丰富的组件和工具,支持从低级别到高级别的 LLM 集成。通过对 141 个组件的分类和多场景的实战攻略,本文旨在帮助开发者快速理解和掌握 LangChain4j 的使用方法。无论是构建聊天机器人、实现文本分类,还是开发基于文档的问答系统,LangChain4j 都能提供强大的支持。希望本文能为您的 LLM 应用开发提供启发和帮助!
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)