LangChain4j 项目概览

0 阅读4分钟

📋 项目简介

LangChain4j 是一个专为 Java 开发者设计的大语言模型 (LLM) 集成框架,旨在简化 Java 应用程序与各种 LLM 提供商的集成过程。该项目受到 Python 的 LangChain、Haystack、LlamaIndex 等框架的启发,为 Java 生态系统提供了强大而统一的 LLM 工具链。

🎯 核心目标

  1. 统一 API 接口 🔄 - 为不同的 LLM 提供商和向量存储提供统一的接口
  2. 丰富的工具箱 🧰 - 提供从底层到高层的各种抽象和实现
  3. 大量示例 📚 - 通过丰富的示例帮助开发者快速上手

🏗️ 项目架构图

LangChain4j 架构图 - 完整的模块依赖和功能分层

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 能力
  • 🔄 改进的性能和监控
  • 🔄 更好的多模态支持