Skip to content
xiaoyang 的头像xiaoyang发布于 2025-01-142,909 字阅读约 10 分钟浏览加载中

介绍 ​

欢迎!

LangChain4j 的目标是简化 LLM(大语言模型)在 Java 应用中的集成。

实现方式如下:

  1. 统一 API LLM 提供商(如 OpenAI 或 Google Vertex AI)和嵌入存储(如 Pinecone 或 Milvus)通常使用专有 API。LangChain4j 提供了一个统一的 API,避免了对每种服务学习和实现特定 API 的繁琐工作。 您可以轻松切换 LLM 提供商或嵌入存储,无需重写代码。目前,LangChain4j 支持 15+ 流行的 LLM 提供商 和 20+ 嵌入存储。
  2. 全面工具箱 自 2023 年初以来,社区已经开发了大量基于 LLM 的应用,总结了通用抽象、模式和技术。LangChain4j 将这些内容打磨为一个即用型包。 工具箱包含从低级的提示模板、聊天记忆管理和函数调用,到高级模式如 Agent 和 RAG 的功能。 每种抽象均提供接口及基于常见技术的现成实现。无论您是在构建聊天机器人,还是开发完整 RAG 管道的应用,LangChain4j 都为您提供多种选项。
  3. 丰富示例 这些 示例 展示了如何快速构建各种基于 LLM 的应用,为您提供灵感并帮助您快速上手。

LangChain4j 于 2023 年初在 ChatGPT 热潮中启动。我们注意到市面上缺乏与 Python 和 JavaScript 对应的 Java LLM 库和框架,因此决定填补这一空白! 尽管名称中有 "LangChain",本项目融合了来自 LangChain、Haystack、LlamaIndex 和社区的理念,结合了我们自己的创新。

我们密切关注社区动态,旨在快速引入新技术和集成,确保您始终与时俱进。 该库目前正在积极开发中,尽管部分功能仍在完善,但核心功能已经就绪,您可以立即开始构建基于 LLM 的应用!

为了便于集成,LangChain4j 还提供与 Quarkus 和 Spring Boot 的集成。


LangChain4j 功能 ​


两层抽象 ​

LangChain4j 提供两种抽象层级:

  1. 低级抽象 提供最大自由度,可直接使用核心组件(如 ChatLanguageModel、UserMessage、AiMessage 等)。适合需要自定义逻辑的开发者,但需要更多编写代码。
  2. 高级抽象 提供高层 API(如 AI 服务),隐藏复杂性与样板代码,同时支持声明式调整行为。

image-20250114151747855

LangChain4j库结构 ​

LangChain4j 具有模块化设计,包括以下内容:

  1. langchain4j-core模块 定义了核心抽象(例如ChatLanguageModel和EmbeddingStore)及其API。
  2. 主要langchain4j模块 包含有用的工具,如文档加载器、聊天记忆实现,以及高级功能,例如AI服务。
  3. 各种langchain4j-{integration}模块 每个模块提供与不同LLM提供商和嵌入存储的集成。这些模块可以独立使用。如需更多功能,只需引入主要的langchain4j依赖项。

LangChain4j 仓库 ​

  • 主仓库
  • Quarkus扩展
  • Spring Boot集成
  • 社区集成
  • 示例
  • 社区资源
  • 内嵌式嵌入

使用场景 ​

可能会问:为什么需要这些功能?以下是一些示例:

  1. 自定义AI聊天机器人 您希望实现一个访问您数据并按您的需求行为的自定义AI聊天机器人,例如:
    • 客户支持聊天机器人:
      • 礼貌地回答客户问题
      • 接受/更改/取消订单
    • 教育助手:
      • 教授各种主题
      • 解释不清楚的部分
      • 评估用户的理解或知识
  2. 处理大量非结构化数据 您希望处理大量非结构化数据(文件、网页等),并从中提取结构化信息,例如:
    • 从客户评论和支持聊天记录中提取洞见
    • 从竞争对手的网站中提取有趣信息
    • 从求职者简历中提取洞见
  3. 生成信息 例如:
    • 为每位客户定制的电子邮件
    • 应用或网站内容:
      • 博客文章
      • 故事
  4. 转换信息 例如:
    • 总结
    • 校对和重写
    • 翻译
DISCUSSION

评论区

欢迎分享你的思考、补充或问题。

基于 VitePress 搭建