📋 项目简介
LangChain4j 是一个专为 Java 开发者设计的大语言模型 (LLM) 集成框架,旨在简化 Java 应用程序与各种 LLM 提供商的集成过程。该项目受到 Python 的 LangChain、Haystack、LlamaIndex 等框架的启发,为 Java 生态系统提供了强大而统一的 LLM 工具链。
🎯 核心目标
- 统一 API 接口 🔄 - 为不同的 LLM 提供商和向量存储提供统一的接口
- 丰富的工具箱 🧰 - 提供从底层到高层的各种抽象和实现
- 大量示例 📚 - 通过丰富的示例帮助开发者快速上手
🏗️ 项目架构图
LangChain4j 架构图 - 完整的模块依赖和功能分层
📦 功能模块详解
🧠 核心模块 (Core Modules)
模块 | 功能描述 | 状态 |
---|---|---|
langchain4j-core | 🧠 提供所有核心接口、抽象类和基础功能 | ✅ 稳定 |
langchain4j | 📦 主要的用户接口和高级功能实现 | ✅ 稳定 |
langchain4j-test | 🧪 测试工具和模拟实现 | ✅ 稳定 |
langchain4j-kotlin | 🔧 Kotlin 语言的专用扩展 | ✅ 稳定 |
🤖 LLM 提供商集成 (Model Providers)
🌟 主流提供商
-
OpenAI 🤖
langchain4j-open-ai
- 社区版本langchain4j-open-ai-official
- 官方 SDK 版本
-
Microsoft Azure ☁️
langchain4j-azure-open-ai
- Azure OpenAI 服务
-
Google 🔍
langchain4j-vertex-ai
- Vertex AI 平台langchain4j-vertex-ai-gemini
- Gemini 模型专用langchain4j-google-ai-gemini
- Google AI Gemini
-
Amazon 🏔️
langchain4j-bedrock
- AWS Bedrock 服务
🚀 新兴提供商
- Anthropic 🎭 - Claude 系列模型
- Mistral AI 🌪️ - 开源和商用模型
- Cohere 🤝 - 企业级 NLP 服务
- Ollama 🦙 - 本地模型运行
- Hugging Face 🤗 - 开源模型生态
🌐 其他集成
- GitHub Models 🐙 - GitHub 提供的模型服务
- Workers AI ⚡ - Cloudflare Workers AI
- Local AI 🏠 - 本地 AI 服务
- OVH AI 🇫🇷 - OVH 云服务
- Jina AI 🔍 - 专业搜索和嵌入服务
📊 向量存储集成 (Embedding Stores)
🏢 企业级解决方案
- Pinecone 🌲 - 托管向量数据库
- Milvus 🗄️ - 开源向量数据库
- Weaviate 🕸️ - 图形向量数据库
- Qdrant ⚡ - 高性能向量搜索引擎
☁️ 云服务集成
- Azure AI Search 🔍 - Microsoft 认知搜索
- Azure Cosmos DB 🌌 - MongoDB vCore 和 NoSQL 版本
- MongoDB Atlas 🍃 - 托管 MongoDB 向量搜索
🗄️ 传统数据库扩展
- PostgreSQL (pgvector) 🐘 - 关系型数据库向量扩展
- Elasticsearch 🔍 - 全文搜索引擎向量功能
- OpenSearch 📖 - 开源搜索和分析引擎
- Oracle Database 🏛️ - 企业级数据库
- MariaDB 🐬 - MySQL 兼容数据库
📱 其他存储方案
- Cassandra 💎 - 分布式 NoSQL 数据库
- Couchbase 🏺 - 文档数据库
- Infinispan ♾️ - 内存数据网格
- Coherence 🔗 - Oracle 数据网格
- Vespa 🛵 - 大规模数据服务引擎
- Tablestore 📋 - 阿里云表格存储
📄 文档处理管道 (Document Processing)
文档处理流水线 - 从加载到向量化的完整流程
🌐 扩展功能模块
🔍 网络搜索引擎
- Google Custom Search 🔍 - 自定义搜索 API
- Tavily 🏄 - AI 优化的搜索服务
- SearchAPI 🔎 - 统一搜索接口
⚙️ 代码执行引擎
- GraalVM Polyglot 🌐 - 多语言运行时
- Judge0 ⚖️ - 在线代码执行服务
🎯 高级功能
- Easy RAG 📚 - 简化的检索增强生成
- MCP (Model Context Protocol) 🔗 - 模型上下文协议
- SQL Integration 🗃️ - 实验性 SQL 集成
🔄 模块依赖关系
模块依赖关系图 - 分层架构和组件交互关系
🚀 快速开始
Maven 依赖配置
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j</artifactId>
<version>1.2.0-beta8-SNAPSHOT</version>
</dependency>
<!-- 选择一个 LLM 提供商 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>1.2.0-beta8-SNAPSHOT</version>
</dependency>
<!-- 选择一个向量存储 -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-pinecone</artifactId>
<version>1.2.0-beta8-SNAPSHOT</version>
</dependency>
使用 BOM 管理版本
<dependencyManagement>
<dependencies>
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-bom</artifactId>
<version>1.2.0-beta8-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
📚 主要特性
🎯 核心功能
- ✅ 统一的 LLM 接口 - 支持 15+ 主流 LLM 提供商
- ✅ 向量存储集成 - 支持 15+ 向量数据库和搜索引擎
- ✅ RAG 支持 - 完整的检索增强生成管道
- ✅ 工具调用 - Function calling 和 Agent 模式
- ✅ 内存管理 - 对话历史和上下文管理
- ✅ 流式响应 - 实时流式输出支持
🔧 开发体验
- 🌟 Spring Boot 集成 - 官方 Spring Boot Starter
- 🌟 Quarkus 集成 - 原生支持 Quarkus 框架
- 🌟 丰富示例 - 详细的使用示例和最佳实践
- 🌟 类型安全 - 完整的 Java 类型支持
- 🌟 异步支持 - CompletableFuture 和响应式编程
🛣️ 发展路线
当前状态 (v1.2.0-beta8)
- ✅ 核心功能稳定
- ✅ 主要 LLM 提供商支持
- ✅ 完整的向量存储生态
- ✅ 文档处理管道
未来计划
- 🔄 更多 LLM 提供商集成
- 🔄 增强的 Agent 能力
- 🔄 改进的性能和监控
- 🔄 更好的多模态支持