首页 > 编程语言 >LangChain4j炸裂!Java开发者打造AI应用从未如此简单

LangChain4j炸裂!Java开发者打造AI应用从未如此简单

时间:2024-09-19 13:23:26浏览次数:10  
标签:集成 LangChain4j 嵌入 Java AI API LLM

LangChain4j 的目标是简化将大语言模型(LLM)集成到 Java 应用程序中的过程。

1 实现方式

1.1 标准化 API

LLM 提供商(如 OpenAI 或 Google Vertex AI)和向量嵌入存储(如 Pinecone 或 Milvus)使用专有 API。LangChain4j 提供了标准化 API,避免了每次都需要学习和实现特定 API 的麻烦。要试验不同的 LLM 或嵌入存储,可以轻松切换而无需重写代码。LangChain4j 目前支持 15+ 个主流 LLM 提供商15+ 个嵌入存储

1.2 综合工具箱

过去的一年里,社区开发了许多由 LLM 驱动的应用程序,识别了常见的抽象、模式和技术。LangChain4j 已将这些精炼成一个现成的包。我们的工具箱涵盖从低级的提示词模板、聊天记忆模块管理、输出解析到高级模式如 AI 服务和 RAG 的工具。对于每个抽象层次,我们提供了一个接口,并基于常见技术提供了多个现成的实现。不论您是在构建聊天机器人,还是在开发一个从数据导入到检索的完整 RAG 管道,LangChain4j 提供了广泛的选择。

1.3 大量示例

这些 示例 展示了如何开始创建各种由 LLM 驱动的应用程序,提供了灵感并让您能够快速开始构建。

LangChain4j 于 2023 年初在 ChatGPT 热潮中开始开发。但发现Java 领域缺乏与 Python 和 JavaScript 类似的 LLM 库和框架,便决定解决这一问题!虽然名字包含“LangChain”,但该项目融合了 LangChain、Haystack、LlamaIndex 及更广泛社区的理念,并加入自己的创新。

我们积极关注社区的最新进展,致力于快速整合新技术和集成,确保您始终保持最新状态。该库仍在积极开发中,虽然某些功能尚在开发,但核心功能已经就绪,您可以立即开始构建基于 LLM 的应用程序!

为便于集成,LangChain4j 还包括与 QuarkusSpring Boot 集成。

2 LangChain4j 的功能

  • 15+ 个 LLM 提供商 的集成

  • 15+ 个向量嵌入存储 的集成

  • 10+ 个嵌入模型 的集成

  • 4 个云端和本地图像生成模型 的集成

  • 2 个评分(重新排序)模型 的集成

  • 与 OpenAI 的一个审核模型的集成

  • 支持文本和图像输入(多模态)

  • AI 服务(高级 LLM API)

  • 提示词模板

  • 持久化和内存中的 聊天记忆模块 算法实现:消息窗口和 token 窗口

  • LLM 响应流式传输

  • 常见 Java 数据类型和自定义 POJO 的输出解析器

  • 工具(功能调用)

  • 动态工具(执行动态生成的 LLM 代码)

  • RAG(检索增强生成):

    • 数据导入:
      • 从多个来源(文件系统、URL、GitHub、Azure Blob Storage、Amazon S3 等)导入各种类型的文档(TXT、PDF、DOC、PPT、XLS 等)
      • 使用多种分割算法将文档切分成更小的片段
      • 对文档和片段进行后处理
      • 使用嵌入模型对片段进行嵌入
      • 将嵌入存储在向量嵌入存储中
    • 检索(简单和高级):
      • 查询转换(扩展、压缩)
      • 查询路由
      • 从向量存储和/或任何自定义来源进行检索
      • 重新排序
      • 倒数排名融合
      • RAG 流程中每个步骤的自定义
  • 文本分类

  • Token 切分和 Token 计数估算工具

3 两个抽象层次

LangChain4j 在两个抽象层次上运行:

  • 低级。这层,您拥有最大自由,可以访问所有底层组件,如 ChatLanguageModelUserMessageAiMessageEmbeddingStoreEmbedding 等。这些是 LLM 应用程序的“原语”。您可以完全控制如何组合它们,但您需要编写更多的代码。
  • 高级。这层,您通过高级 API(如 AiServices)与 LLM 进行交互,这些 API 屏蔽了所有复杂性和样板代码。您仍然可以灵活地调整和微调行为,但这是以声明的方式完成的。

img

4 LangChain4j 库结构

LangChain4j 具有模块化设计,包括:

  • langchain4j-core 模块,定义了核心抽象(如 ChatLanguageModelEmbeddingStore)及其 API。
  • langchain4j 模块,包含了诸如 ChatMemoryOutputParser 等有用工具,以及如 AiServices 这样的高级功能。
  • 各种 langchain4j-{integration} 模块,每个模块提供与各种 LLM 提供商和嵌入存储的集成。您可以单独使用 langchain4j-{integration} 模块。对于额外的功能,只需导入主 langchain4j 依赖项。

5 LangChain4j 代码库

6 使用案例

我为什么需要这些功能?一些使用场景:

想要实现一个具有自定义行为并能访问您数据的 AI 聊天机器人:

  • 客户支持聊天机器人可以:
    • 礼貌地回答客户问题
    • 接收/修改/取消订单
  • 教育助手可以:
    • 教授各种学科
    • 解释不清楚的部分
    • 评估用户的理解/知识

希望处理大量非结构化数据(文件、网页等),并从中提取结构化信息。如:

  • 从客户评论和支持聊天记录中提取见解
  • 从竞争对手的网站中提取有趣的信息
  • 从求职者的简历中提取见解

希望生成信息,如:

  • 针对每位客户定制的电子邮件
  • 为您的应用程序/网站生成内容:
    • 博客文章
    • 故事

希望转换信息,如:

  • 摘要
  • 校对和重写
  • 翻译

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。

各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

负责:

  • 中央/分销预订系统性能优化
  • 活动&券等营销中台建设
  • 交易平台及数据中台等架构和开发设计
  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化
  • LLM Agent应用开发
  • 区块链应用开发
  • 大数据开发挖掘经验
  • 推荐系统项目

目前主攻市级软件项目设计、构建服务全社会的应用系统。

参考:

本文由博客一文多发平台 OpenWrite 发布!

标签:集成,LangChain4j,嵌入,Java,AI,API,LLM
From: https://www.cnblogs.com/JavaEdge/p/18420406

相关文章

  • 人工智能(AI)的现状与未来:技术变革与应用前景
    人工智能(AI)的现状与未来:技术变革与应用前景1.引言**人工智能(AI)**不再只是科幻小说中的概念,它已经成为现代技术的重要组成部分,并在各个行业中得到了广泛应用。从语音助手到自动驾驶,AI正在迅速改变我们生活和工作的方式。本文将深入探讨人工智能的现状、核心技术、实际应用......
  • ai课堂行为分析系统 Python
    ai课堂行为分析系统利用图像识别算法和数据分析技术,ai课堂行为分析系统对学生在课堂上的表情状态、课堂表现和互动行为进行实时监测和评估。ai课堂行为分析系统通过摄像头采集学生的图像,并通过算法分析学生的表情、姿态和互动行为,从而评估学生的参与度、专注度和互动质量。ai课堂行......
  • C++如何在main函数之前执行自定义操作
    目录一.前言二.利用全局变量的初始化机制1.利用构造函数2.用函数结果对全局变量赋值三.gcc可以利用__attribute__四.其他一.前言我们知道C++程序在main函数运行之前会先执行一些动作,比如一系列初始化动作,那么我们怎么让C++程序在main函数运行前执行一些自定义函数呢......
  • AI智能工服识别系统 YOLOv8
    AI智能工服识别系统利用图像识别和人工智能技术,AI智能工服识别系统实时监测工作人员的工服穿戴情况,AI智能工服识别系统通过摄像头对工作区域进行拍摄,并利用算法分析图像中的工服特征,识别出是否规范穿戴工服。AI智能工服识别系统能够实时监测工作人员的工服穿戴情况,AI智能工服识别系......
  • 【Java计算机毕设选题】2025毕业设计选题100+ 通过率最高的选题推荐
    文章目录前言选题介绍选题推荐我的优势源码获取前言❤️博主简介:全网累计客户1000+,培训机构讲师、全栈开发工程师、知乎/小红书优秀作者、腾讯云/阿里云VIP客户、专注Java、小程序、安卓领域和毕业项目开发❤️同学们可以先收藏起来,以免迷路,关于毕设选题,项目和论文的......
  • 如何转型 AI 产品经理?
    最近跟朋友聊起,观察现在很多大厂的AI产品经理,做的事情其实都只是套个壳子,跟AI沾点边。大部分人都不知道该如何做一个AI产品经理,跟大家分享2个关键方法✅1、坚持读paper理解背后的原理和能力边界,其实关于transformer和diffusion核心paper其实就那么几篇。大部分人接受......
  • OpenAI 的最强模型 o1 的“护城河”失守?谷歌 DeepMind 早已揭示相同原理
    发布不到一周,OpenAI的最新模型o1的“护城河”似乎已经失守。近日,有人发现谷歌DeepMind早在今年8月发表的一篇论文,揭示了与o1模型极其相似的工作原理。这项研究指出,在模型推理过程中增加测试时的计算量,比简单地扩展模型参数更有效。基于论文中提出的计算最优(comput......
  • 全网最火的AI技术:Rag详解
    “Rag”是机器学习中的术语,通常指的是“RaggedTensors”(不规则张量)。RaggedTensors是一种特殊类型的张量,允许不同的维度中的子张量有不同的长度或形状。这在处理诸如文本、序列数据等不定长的数据时特别有用。例如,在自然语言处理任务中,不同句子长度的序列很难直接放入普通的张量......
  • 【Java基础】ThreadLocal<LoginUser>:存储登录用户信息
    ......
  • 【计算机专业最新Java必过毕设选题推荐2025】基于springboot会员制医疗预约服务管理系
    作品简介 Hi,各位同学好呀!今天向大家分享一个最新完成的高质量毕业设计项目作品基于springboot的XXX管理系统项目评分(最低0分,满分5分)难度系数:3分工作量:5分创新点:3分界面美化:5分使用技术前端:html/js/css后端:springboot数据库:MySql服务器:apache-tomcat......