AI大模型综合(三)Langgraph4j工作原理,RAG概念

目录

一、langgraph4j工作原理

[1.1 架构图及工作原理](#1.1 架构图及工作原理)

[1.2 langgraph4j与langchain4j关联和区别](#1.2 langgraph4j与langchain4j关联和区别)

二、RAG概念

[2.1 RAG产生的背景](#2.1 RAG产生的背景)

[2.2 概念及工作流程](#2.2 概念及工作流程)


一、langgraph4j工作原理

1.1 架构图及工作原理

注: Node处理单元可以作为一个Agent存在;

注: Node处理单元可以访问DB,第三方API,甚至可以是一个函数等等;

整体交互流程:

1.2 langgraph4j与langchain4j关联和区别

LangGraph4j 和 LangChain4j相同点: 都是LangChain生态系统的Java实现,旨在帮助开发者利用大型语言模型(LLM)构建应用程序。本质上都是用于开发由大型语言模型LLM驱动的应用程序的框架。

LangGraph4j 和 LangChain4j差异:

|--------|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 对比特性 | LangGraph4j | LangChain4j |
| 含义 | 专注于构建有状态的多智能体系统,即非常适合构建多个智能体相互协作的场景,比如,任务管理、事件驱动的监控系统。 | 核心是"链"(Chain),即将多个LLM调用和工具调用链接在一起,形成一个有序的任务序列。其架构遵循有向无环图(DAG)结构,任务按单一方向流动,不形成循环 注: LangChain4j是LangChiain的java版本, LangChain的Lang取自Large Language Model,代表大语言模型, Chain是链式执行,即把语言模型应用中的各功能模块化,串联起来,形成一个完整的工作流 |
| 设计目的 | LangGraph4j则侧重于支持复杂、有状态的多智能体系统,通过有向图模型实现高级工作流控制 注: Multi-Agent框架 | LangChain4j专注于提供模块化的组件来构建基于大模型的简单应用 注:LangChain4j有顺序/并行等工作流来实现工作流控制 |
| 主要关注点 | 多智能体系统和非线性工作流 | 顺序任务执行(链) |
| 核心关系 | LangGraph4j是LangChain4j的扩展: LangGraph4j构建在LangChain4j之上,旨在解决单智能体在处理复杂任务时的局限性,通过引入状态管理、条件分支、循环和并行执行等能力,扩展了LangChain4j的基础功能 | LangChain4j有顺序/并行等工作流来实现工作流控制(更倾向于实现单智能体) |
| 架构 | 图: 支持循环和动态转换 LangGraph4j采用有向图结构,节点代表智能体或函数,边定义执行逻辑,支持动态控制流和多智能体协作 | DAG: 有向任务,无循环 LangChain4j采用线性链式调用模式,适合预定义顺序的工作流程,如数据获取和总结任务 |
| 状态管理 | 强大,对所有都可访问上下文 | 有限: 依赖记忆组件维持上下文 |
| 组件 | node edge state | Tool AiService |
| 功能实现上 | LangGraph4j允许将复杂任务分解为子任务,由不同智能体并行处理并通过共享状态图传递信息 | LangChain4j更倾向于直接模块化调用 |
| 使用场景上 | 复杂应用: 适合需要持久状态、人机协作或多智能体交互的复杂应用,如自动化运维或研究代理。 在技术实现中,LangGraph4j通过检查点支持断点续跑和时间旅行,增强了调试和可观测性 | 简单应用: LangChain4j适合需要直接、模块化框架的场景,如简单任务编排 |
[LangGraph4j 和 LangChain4j 区别对比]

二、RAG概念

2.1 RAG产生的背景

  • 无法回答实时性问题: 大模型如chatGPT是预训练模型, 直接导致了它所学习的知识不会是最新的,也就是它可能是根据半年前的数据训练的, 无法回答实时性问题。
  • 无法基于企业/单位内部私有知识回答问题;RAG可以让聊天机器人访问公司内部资料,或来自权威来源的事实信息

2.2 概念及工作流程

RAG(Retrieval-Augmented Generation)的核心思想是:将传统的信息检索(IR)技术与现代的生成式大模型(如chatGPT)结合起来。

注: RAG = 生成式大模型 + 信息检索技术

‌RAG的工作流程主要包括三个阶段:‌

  • 首先,「++数据预处理及形成存储索引++」在‌索引构建阶段‌,系统将企业或特定领域的非结构化私有知识(如文档、数据库记录)进行预处理,包括分块、向量化(使用嵌入模型转换为向量表示),并存储到向量数据库中,形成可快速检索的索引;
  • 其次,「++在‌检索增强阶段‌++」,当用户提出问题时,系统会将查询同样转换为向量,并在向量数据库中通过语义搜索(如余弦相似度匹配)找到最相关的知识片段(目标是找到那些可能包含答案或相关信息的文档),此阶段可能包含重排序组件以优化结果精度;

注意:不一定必须使用向量数据库,可以是关系型数据库(如MySQL)或全文搜索引擎(如Elasticsearch, ES)。但RAG中一般是向量数据库,因为RAG主要涉及要查询相似度高的某几个文档,而不是精确查询。

  • 最后,「++在‌生成输出阶段‌++」,系统将检索到的上下文与用户问题组合成提示词,输入给大语言模型生成答案,模型严格基于提供的事实进行推理以减少幻觉,并可能添加引用标注以确保透明度。注意使用合适的提示词,比如,问题是X, 检索增强查询到的结果是Y,给大模型的输入类似: 请基于Y回答X.

提示词大致长这样:"基于如下信息进行回答: "{{context}}," + "回答提问问题{{question}}"

上述三个过程如图所示:

例子,

相关推荐
CV-杨帆20 分钟前
ICLR 2026 LLM安全相关论文整理
人工智能·深度学习·安全
田八27 分钟前
聊聊AI的发展史,AI的爆发并不是偶然
前端·人工智能·程序员
zandy101127 分钟前
全链路可控+极致性能,衡石HENGSHI CLI重新定义企业级BI工具的AI协作能力
大数据·人工智能·ai analytics·ai native·agent-first
广州灵眸科技有限公司28 分钟前
为RK3588注入澎湃算力:RK1820 AI加速卡完整适配与评测指南
linux·网络·人工智能·物联网·算法
小程故事多_8030 分钟前
从零吃透Transformer核心,多头注意力、残差连接与前馈网络(大白话完整版)
人工智能·深度学习·架构·aigc·transformer
xiejava101832 分钟前
写了一个WebDAV的Skill解决OpenClaw AI助手跨平台协作难题
人工智能·ai编程·智能体·openclaw
zhanghongbin0138 分钟前
AI 采集器:Claude Code、OpenAI、LiteLLM 监控
java·前端·人工智能
AI应用实战 | RE41 分钟前
012、检索器(Retrievers)核心:从向量库中智能查找信息
人工智能·算法·机器学习·langchain
IT_陈寒43 分钟前
Python的列表推导式里藏了个坑,差点让我加班到凌晨
前端·人工智能·后端
Thomas.Sir1 小时前
AI 医疗之罕见病/疑难病辅助诊断系统从算法到实现【表型驱动与知识图谱推理】
人工智能·算法·ai·知识图谱