自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java资料站

Java资料站-实战-项目-教程-知识点

  • 博客(155)
  • 收藏
  • 关注

原创 十六、Spring AIl Alibaba · 高级 A2A

A2A(Agent-to-Agent)是智能体间通信协议,通过AgentCard实现能力注册与发现。基于Nacos 3的A2A支持,可原生作为注册中心,简化微服务化智能体架构。通过Maven依赖与YAML配置,开发者可快速实现智能体提供者与消费者间的远程调用,核心依赖包括spring-ai-alibaba-starter-a2a-nacos及Nacos认证、命名空间等关键配置,助力构建可发现、可复用的AI Agent生态。

2026-11-06 17:03:06 182

原创 第十二章、LangChain-长期记忆(Long-term Memory)

长期记忆通过LangGraph Store实现,支持跨会话的数据存储与检索。数据以命名空间和键组织的JSON文档形式保存,支持向量搜索与内容过滤。代理可通过runtime.store在工具中读写记忆,如用户偏好、信息更新等。生产环境推荐使用Redis或MongoDB等持久化存储。

2026-11-03 09:16:41 140

原创 第十一章、LangChain-多智能体(Multi-agent)

多智能体系统通过子代理、技能、路由器等模式实现复杂任务的协调,提升上下文管理、并行化与分布式开发能力。核心优势在于按需加载知识、隔离上下文、支持多跳执行。性能上,有状态模式(如交接、技能)在重复请求中更高效,而支持并行的子代理与路由器在多域任务中表现更优。选择应基于任务复杂度、交互需求与成本权衡,且可混合使用多种模式以达成最优效果。

2026-11-03 09:16:08 251

原创 第十章、LangChain-人机参与(Human-in-the-loop)

人机在环(HITL)中间件为LangChain代理提供人工监督能力,通过配置interrupt_on策略,在执行高风险操作(如写文件、执行SQL)时暂停并等待人工决策。支持approve、edit、reject、respond四种响应,可结合条件谓词实现精准拦截。需配合持久化检查点(如InMemorySaver或AsyncPostgresSaver)与线程配置,确保状态安全恢复。支持批处理(默认)与逐调用模式,强调谓词幂等性以避免逻辑错误。

2026-11-03 09:15:47 284

原创 第九章、LangChain-MCP(模型上下文协议)

MCP(模型上下文协议)是开放标准,用于标准化应用向语言模型提供工具与上下文。LangChain 通过 MCPAdapter 连接 MCP 服务器,发现并适配工具至 LangChain 代理。支持多模态内容、结构化数据及错误处理,工具结果以 ToolMessage 形式返回,包含文本、图像、文件及可程序访问的 artifact。需安装 langchain[mcp]>=1.4.0,当前为测试阶段,API 可能变动。

2026-11-02 10:30:25 220

原创 第八章、LangChain-中间件(Middleware)

中间件提供了一种更严格控制代理内部发生事情的方法。通过日志记录、分析和调试跟踪代理行为变换提示、工具选择,以及输出格式添加重试、备选方案以及早期终止逻辑申请速率限制护栏,以及PII 检测通过向传递middleware],接近 token 限制时自动总结对话历史,压缩旧上下文同时保留最近消息。适用于:超出上下文窗口的长对话、有大量历史的多轮对话、需要保留完整上下文的应用。⚠️摘要是面向文本的上下文压缩。它不会调整大小、下采样或压缩图像/音频/视频负载。keep保留的最近消息仍含原始多模态块;而。

2026-11-02 10:30:06 317

原创 第七章、LangChain-上下文工程(Context Engineering)

构建代理(或任何大型语言模型应用)最难的是让它们足够可靠。虽然它们可能适合原型,但在实际应用中常常失败。上下文工程是以合适的格式提供正确的信息和工具,使 LLM 能够完成任务。这是人工智能工程师的首要任务缺乏"正确"上下文是更可靠代理的头号障碍LangChain 的代理抽象设计独特地促进了上下文工程刚接触上下文工程?先从「概念概述」理解不同类型的语境以及何时使用它们。每个工具需要清晰的名称、描述、参数名和参数描述。这些不只是元数据——它们指导模型关于何时以及如何使用该工具的推理。

2026-11-02 10:29:46 269

原创 第六章、LangChain-结构化输出(Structured Output)

结构化输出允许代理以特定且可预测的格式返回数据。JSON 对象、Pydantic 模型、或 dataclass——你的应用程序可以直接使用。LangChain 的自动处理结构化输出用户设置想要的结构化输出模式模型生成结构化数据时被捕获、验证以代理状态键 structured_response返回参数strict要求bool,str,参数允许你自定义生成结构化输出时出现在对话历史中的消息tools=[],})使用Args:不使用如果是字符串,代理总是。

2026-10-30 09:44:44 328

原创 第五章、LangChain-短期记忆(Short-term Memory)

记忆是一种记住之前互动信息的系统。记住之前的互动从反馈中学习根据用户偏好进行调整随着代理处理涉及大量用户交互的复杂任务,这一能力对效率和用户满意度都变得至关重要。短期记忆让你的应用程序能够记住单一线程或对话中的之前互动。**线程(Thread)**在会话中组织多次互动,类似于电子邮件在单次对话中分组消息的方式。默认情况下,代理使用AgentState管理短期记忆,特别是通过messages键管理对话历史。你可以扩展AgentState添加额外字段。自定义 state schema 通过。

2026-10-30 09:44:28 285

原创 第四章、LangChain-工具(Tools)

工具扩展了代理的能力,使其可调用函数以获取实时数据、执行代码或操作外部系统。通过 @tool 装饰器定义,结合类型提示与文档字符串,模型可智能决定调用时机。支持自定义名称、描述及复杂输入(如 Pydantic 模型)。工具可通过 ToolRuntime 访问状态、上下文、存储等运行时信息,实现会话记忆与个性化交互。注意避免使用保留参数名(如 config、runtime),并推荐使用 snake_case 命名。LangSmith 可用于可观测性监控与调试。

2026-10-30 09:44:10 284

原创 第三章、LangChain-消息(Messages)

消息是LangChain中模型交互的基本单位,包含角色、内容与元数据。支持三种格式:字符串(单次请求)、消息对象列表(多轮对话)和OpenAI字典格式(快速迁移)。主要类型包括SystemMessage(设定模型行为)、HumanMessage(用户输入)、AIMessage(模型响应,含工具调用与令牌统计)及ToolMessage(工具输出)。适用于多模态、长对话与监控分析,提升开发效率与可追溯性。

2026-10-29 10:59:34 188

原创 第二章、LangChain-模型(Models)

大型语言模型作为代理的推理引擎,支持文本生成、工具调用、多模态处理与复杂推理。通过LangChain可无缝集成OpenAI、Anthropic等多家供应商模型,灵活配置参数如temperature、max_tokens及重试机制,提升可靠性。支持invoke(同步)、stream(流式输出)和batch(批量处理)三种调用方式,适用于从简单文本生成到复杂工作流的各类场景。结合LangSmith可观测性工具,便于调试与性能优化。

2026-10-29 10:58:28 77

原创 第一章、LangChain-Agent(create_agent)

代理是模型通过循环调用工具完成任务的系统,核心由“模型”与“线束(Harness)”构成。线束负责在合适时机提供上下文,包括提示词、工具和中间件。create_agent 用于灵活配置,create_deep_agent 提供预装能力,适用于复杂长时任务。支持结构化输出、状态管理(如 AgentState)、持久化会话(需 checkpointer)及流式输出,可自定义字段与运行上下文,实现高效、可扩展的智能代理系统。

2026-10-29 10:57:34 332

原创 LangChain4j —— 可观测性(Observability)

本文介绍聊天模型可观测性机制,通过ChatModelListener监听请求、响应与错误三类事件,获取模型调用的详细上下文信息(如消息、参数、Token使用、结束原因等),并支持跨事件传递数据。遵循OpenTelemetry语义约定,可实现日志、监控与调试,提升LLM应用的透明度与可维护性。

2026-10-27 16:33:34 304

原创 从 0 到 1 落地企业级 AI 助手:Spring AI + MCP + RAG 工程化实战(1024 程序员节)

本文分享企业级智能助手的工程实践:基于Spring Boot 3与Spring AI,构建分层架构(接入、编排、知识、工具、安全)。重点解决会话持久化、RAG精准度、工具安全调用及MCP配置生效问题。通过自定义MySqlChatMemory实现会话记忆,采用配置化文档切分与重排机制提升检索质量,引入敏感词双通道拦截与降级策略保障输出可信,最终实现可交付、可维护的生产级AI系统。

2026-10-26 10:54:19 307

原创 LangChain4j —— Model Context Protocol (MCP)

本文介绍MCP客户端的两种推荐传输方式:stdio(通过标准输入输出通信)和Streamable HTTP(基于SSE流),并详细说明其配置与使用。结合McpClient、McpToolProvider实现多客户端管理、容错策略及工具过滤,支持动态绑定至AI服务。同时涵盖资源访问、提示词渲染、日志处理及Docker化部署实践,适用于GitHub等MCP服务器集成,提升工具调用效率与系统稳定性。

2026-10-22 11:17:31 127

原创 LangChain4j —— Agents 与 Agentic AI

Agentic 系统通过协调多个 AI 服务完成复杂任务,基于 LLM 实现任务编排、工具调用与上下文管理。LangChain4j 提供 @Agent 注解定义可组合的智能组件,结合 AgenticScope 实现跨 Agent 数据共享与调用追踪。支持顺序、循环、并行工作流模式,通过 sequenceBuilder、loopBuilder、parallelBuilder 构建灵活协作流程,提升任务自动化与执行效率。

2026-10-22 11:17:04 195

原创 LangChain4j —— RAG(检索增强生成)

RAG(检索增强生成)解决大模型知识局限,通过从专有数据中检索相关信息注入提示,降低幻觉。核心流程分索引与检索两阶段:预处理文档并嵌入存储,查询时匹配向量相似度返回相关片段。LangChain4j提供Easy、Naive、Advanced三种RAG风格,支持多种文档加载与解析器,结合元数据实现高效检索与管理,适用于企业级知识问答系统。

2026-10-22 11:16:44 416

原创 LangChain4j —— 工具(函数调用 / Tools)

大型语言模型(LLM)可通过工具调用扩展能力,实现精确计算与外部交互。通过 ToolSpecification 定义工具接口,模型在响应中表达调用意图,开发者执行工具并回传结果,形成闭环。相比纯文本生成,工具调用显著提升数学、搜索等任务的准确性。支持低级 API 与高级注解方式,流式处理可实时获取工具调用进度,适用于复杂多步任务如搜索、总结、邮件发送等。

2026-10-21 14:51:18 355

原创 LangChain4j —— 结构化输出(Structured Output)

本文介绍如何通过JSON Schema、提示+JSON模式、纯提示三种方式实现LLM的结构化输出,推荐使用JSON Schema以确保高可靠性。文中以提取人物信息为例,展示在Azure OpenAI、Google AI Gemini、Mistral、Ollama、OpenAI等平台中,利用ResponseFormat与JsonSchema构建精准的结构化输出,并提供完整代码示例与各类型Schema说明,支持对象、数组、枚举、递归等复杂结构,实现高效、准确的非结构化文本到结构化数据的转换。

2026-10-21 14:49:49 199

原创 LangChain4j使用

LangChain4j 的目标是简化 Java 应用集成大模型的过程。

2026-10-21 09:52:17 180

原创 十五、Spring AI Alibaba · 高级 ·Graph

Spring AI Alibaba Graph 以图结构建模智能体工作流,核心由 State(状态)、Nodes(节点)、Edges(边)构成。通过 StateGraph 定义状态策略并编译成 CompiledGraph,支持复杂循环与条件分支。状态更新采用可配置的 KeyStrategy(如覆盖、追加),实现多节点协同。支持自定义序列化(如 Jackson),保障状态持久化与跨执行一致性,灵活集成 LLM 与业务逻辑。

2026-10-16 16:21:36 321

原创 十四、Spring AI Alibaba · 案例 · 基于 HumanInTheLoop 的内容审核系统

本案例实现生产审核系统的标准HITL(人机协同)机制:当Agent调用“发布”高危工具时,HumanInTheLoopHook拦截并中断,生成中断状态存档。前端弹窗等待人工决策(通过/拒绝/修改),后续通过同一Agent实例、threadId及中断现场恢复执行,确保可追溯与合规。支持人工模式(中断待审)与自动模式(全自动),状态机覆盖全生命周期,实现安全可控的智能审核闭环。

2026-10-16 11:32:13 169

原创 十三、Spring AI Alibaba · 案例 · 煋玥爪(XingyueClaw)

摘要(≤150字): 煋玥爪(XingyueClaw)是一个基于 Spring AI Alibaba 的轻量级本地 AI Agent,实现 ReAct 推理与工具调用(浏览器、Shell、Python、文件操作等),支持飞书长连接接入。通过 Maven 引入依赖,启动后可接收自然语言指令,自动拆解任务并调用工具完成操作,具备技能动态加载与流式输出能力。项目聚焦“单机可用”,不包含生产级安全与多租户功能,定位为可运行的中文 AI 电脑管家。

2026-10-15 14:48:14 331

原创 十三、Spring AI Alibaba · 高级 ·工作流(Workflow / Graph)

本文对比了Agentic API与Graph API的选型策略:优先使用高抽象层级的Agentic API,需精细控制时下沉至底层原子化操作的Graph API。核心概念包括状态(State)、节点(Node)与边(Edge),通过组合实现可循环、带分支的工作流。支持流式输出、人工介入及记忆管理等运行时能力。自定义节点涵盖逻辑处理、调用LLM、条件判断与并行聚合,开发需遵循单一职责、状态不可变、异常捕获与日志记录等最佳实践。

2026-10-10 14:48:08 155

原创 十二、Spring AI Alibaba · 高级 ·智能体作为工具(Agent Tool)

自定义点影响注意子 Agent名称主 Agent 引用它的方式,会进提示词谨慎命名,别用agent1这种子 Agent描述主 Agent「知道」它的全部信息,直接决定何时被调用这是路由准确率的命门子 Agent输入用inputType定义结构化入参让子类拿到更丰富的上下文子 Agent输出用outputType塑形回传内容控制主 Agent 如何解读结果。

2026-10-10 14:44:28 88

原创 十一、Spring AI Alibaba · 高级 · 多智能体(Multi-agent)

FlowAgent是的基类,核心是实现自定义套路:继承FlowAgent+ 继承写 Builder + 用构图。可做出(Predicate 二分支)、,如「质量分 ≥ 8 或最多迭代 5 次」)。

2026-10-10 14:18:43 135

原创 十、Spring AI Alibaba · 高级 · Memory·Store(长期会话)

本文系统阐述了短期与长期记忆的区分与应用:短期记忆(MemorySaver)基于threadId管理会话上下文,用于多轮对话连贯性;长期记忆(MemoryStore)以namespace+key为键,持久化用户画像与偏好。通过分层架构,结合beforeModel/afterModel钩子与工具调用,实现记忆的自动注入与学习写回。提供显式读写工具,支持JSON结构化存储与内容过滤检索,适用于跨会话个性化交互场景。

2026-10-10 14:00:11 291

原创 九、Spring AI Alibaba · 高级· 人工介入 Human-in-the-Loop

Agent 一旦具备工具调用能力,就可能做出不可逆或高风险动作:写文件、执行 SQL、发邮件、调用外部 API、扣款。HITL 的思路是:模型提出动作 → 先暂停 → 人来决定 → 再继续。三个关键支点:一句话:没有 Saver 就没有中断恢复能力。HITL 强依赖检查点机制。注意第 3 步发生在工具执行之前,所以被拒绝的 SQL 根本不会打到数据库。 是给人看的,写清楚审查者该关注什么,别只写「需要审批」。判定中断的方式是 ,不是异常、也不是返回值里的某个 flag。恢复时必须用同一个 ,决策通过

2026-10-10 11:16:37 292

原创 八、Spring AI Alibaba · 高级· 上下文工程(Context Engineering)

Override// ① 找出并保留原 SystemMessage(不修改系统提示)break;// ② 摘要包成 UserMessage,而不是塞进 SystemMessagenew UserMessage("【上下文摘要】之前的对话摘要:" + summary);// ③ 组装:System + 摘要 + 最近若干条(去重掉旧 System)if (msg!// 持久替换两个值得学习的细节摘要用 UserMessage承载而不是塞进。

2026-10-10 11:15:10 246

原创 七、Spring AI Alibaba · Skills

Skills 是可复用的指令与上下文包,Agent 在遇到相关任务时自动发现并使用。组件职责管理技能(加载、列举、读取内容)注册read_skill工具 + 把技能列表注入系统提示模型判断需要时调用按需加载完整内容内置模板用于引导渐进式披露;.template("## 可用技能\n{skills_list}\n\n## 加载说明\n{skills_load_instructions}").build();.build();模板变量只有两个:{skills_list}

2026-10-10 10:19:52 245

原创 六、Spring AI Alibaba · Hooks 与 Interceptors

扩展点执行时机推荐度模型调用前后,专注消息操作⭐ 优先ModelHook模型调用前后,可访问完整需全局状态时AgentHookAgent 整体开始/结束时单次埋点拦截修改模型请求/响应拦截修改工具调用。

2026-10-10 10:02:11 324

原创 五、Spring AI Alibaba · Memory · Saver(短期会话)

默认只管messages,你可以在Hook 或工具@Override// 读:访问消息历史// 写:返回的 Map 会合并进状态));@Override@OverridenewMessages.add(new SystemMessage("## 之前对话摘要:\n" + summary));// 摘要置顶。

2026-10-09 18:23:19 205

原创 四、Spring AI Alibaba · Tools(工具调用)

LLM 仅能“说话”而无法执行操作或获取实时信息。通过 Tools,模型可调用外部系统(如 API、数据库),实现信息检索(如查天气)与自动化操作(如订票)。核心安全原则:模型仅请求调用,实际执行由客户端控制。工具调用遵循六步流程,依赖 ToolCallback 与 ToolCallingManager。定义工具有四种方式:推荐使用 @Tool 注解声明式定义;也可编程式(MethodToolCallback)、函数式(FunctionToolCallback)或动态式(@Bean + 解析器)。每种方式各

2026-10-09 18:12:26 191

原创 三、Spring AI Alibaba · Messages

Message 是模型交互的基本单元,代表模型的输入与输出,承载对话状态所需的内容和元数据。Spring AI Alibaba 提供跨厂商一致的标准消息类型系统。组成说明Role(角色)标识消息类型:system / user / assistant / toolContent(内容)实际内容:文本、图像、音频、文档等Metadata(元数据)可选:响应信息、消息 ID、token 使用情况并非所有厂商都对三者一视同仁。

2026-10-09 14:15:25 331 2

原创 二、Spring AI Alibaba · ChatModel

整理时间:2026-10-09适用版本:Spring AI 1.1.0 / Spring AI Alibaba 1.1.2.x(

2026-10-09 14:01:07 203

原创 一、Spring AI Alibaba · Agent

Spring AI 1.1.0结合Alibaba 1.1.2.0(DashScope)实现生产级ReAct Agent,基于Graph运行时支持LLM+工具+循环推理。通过Model、Tool、System Prompt与Interceptor灵活配置,实现复杂任务自动拆解、多轮工具调用与动态策略调整。支持错误处理、动态提示与完整执行追踪,适用于智能问答、自动化决策等场景。

2026-10-09 13:37:50 362

原创 案例:Spring Ai/Alibaba《模拟面试器》项目案例

一个的 AI 模拟面试系统:上传简历 → AI 多维度评分 → AI 依据简历定制面试题 → 用户作答 → AI 给出。

2026-10-09 10:39:50 238

原创 十三、SpringAl 知识库AI问答系统简单实现

核心内容:文档上传 → 解析 → 切分 → 向量化 → 写入 Milvus → 检索增强生成(RAG)

2026-10-08 13:45:05 166

原创 十四、SpringAi-RAG《知识库AI问答系统》实战项目介绍

基本功能+核心功能前端和后端分开2个文件夹链接:提取码: qij7。

2026-10-08 13:43:12 216

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除