Spring Modulith 入门与实战
📅 积木成林,经过一段时间对模块化结构的论证和实践,Spring 社区接续推出了 Spring Modulith 这样一套规范! 📊 Spring Modulith 自身简洁而有效,目标是在 Spring Boot 项目中实现逻辑模块,支持构造清晰的结构依赖,完善实现分层隔离,并提供验证、文档、测试和观测支持。✨ 🛠️ 什么是 Spring Modulith? 🏋️ 💭 在 Spring Modulith 中,一个 Application Module 是一个逻辑单元,包括: 对外 API:提供给其他模块调用的 Bean 或事件; *...
SpringBoot3 下使用 Resilience4j 实现高可用容错机制
📌 前言 在微服务或接口聚合系统中,服务调用可能由于网络抖动、第三方不稳定等因素而失败。为了提升系统的弹性与稳定性,Resilience4j 提供了一套完整的容错组件,涵盖了重试、熔断、限流、超时控制和资源隔离。 本文将介绍 Resilience4j 的 核心模块原理、注解用法 以及如何在 Spring Boot 项目中优雅集成,并通过 图表 帮助理解模块协作逻辑。 📦 1. 引入依赖 使用 Spring Boot + Maven 管理项目,添加如下依赖: ...
Model Context Protocol (MCP) Architecture
模型上下文协议(MCP)建立在灵活、可扩展的架构之上,该架构使LLM应用程序和集成之间能够实现无缝通信。本文件涵盖了核心架构组件和概念。 Core Architecture MCP 遵循客户端-服务器架构 Client 1: 1 Server Connect CleanShot 2025-03-06 at 10.02.18@2x.png Core Components Protocol Layer class Session(Base...
Model Context Protocol (MCP) Introduction
MCP 是一种开放协议,它标准化了应用程序如何向LLMs提供上下文。将 MCP 想象成 AI 应用的 USB-C 端口。就像 USB-C 提供了一种标准化的方式将您的设备连接到各种外围设备和配件一样,MCP 提供了一种标准化的方式将 AI 模型连接到不同的数据源和工具。 Why MCP? MCP 帮助您在LLMs之上构建代理和复杂的流程。LLMs通常需要与数据和工具集成,MCP 提供: 一个不断增长的预构建集成列表,LLM可以直接接入 可在LLM提供商和供应商之间切换的灵活性 最佳实践:确保基础设施内数据安全 Architecture 在其核心,MCP 遵循客户...
图解Transoformer学习 (Attention Mechanism)
[!NOTE] Title 文章内容来自于 Illustrated Transformer 总览 我们从高层次总览一下, Transformer是什么? image.png 其实深入到内部的话其实构造就很简单. image.png 就是一堆编码器和一堆...
Fine-tuning to follow instructions 3. Evaluating the fine-tuned LLM
Evaluating the fine-tuned LLM 之前,我们通过查看指令微调模型在测试集上的三个示例的响应来评估其性能。虽然 这让我们对模型的表现有一个粗略的了解,但这种方法在处理更多响应时并不够高效 。因此,我们实施了一种方法,使用另一个更大的LLM来自动化微调LLM的响应评估 ,如图7.19所示。 图7.19 LLM指令微调的三阶段过程。在指令微调流程的最后一步中,我们实施了一种方法 ,通过对它为测试生成的响应进行评分来量化微调模型的性能。 为了以自动化的方式评估测试...
Fine-tuning to follow instructions 2. Setup Model and Fine-tuning
Loading a pretrained LLM 我们花了很多时间准备用于指令微调的数据集,这是监督微调过程中的一个关键方面 。许多其他方面与预训练相同,使我们能够重用早期章节中的大量代码。 在开始指令微调之前,我们必须首先加载一个我们想要微调的预训练GPT模型(见 图7.15),这是我们之前进行过的过程。 图7.15 三阶段的指令微调大型语言模型(LLM)流程。然而,与之前使用的最小124 million参数模型不同,我们加载具有355million参数的中型模型。选择这个模型的...
Fine-tuning to follow instructions 1. Prepare dataset and Create data loader
现在我们将实施微调LLM以遵循人类指令的过程,如图7.1所示。 指令微调是开发用于聊天机器人应用、个人助理和其他对话任务的LLM的一项主要技术。 图 7.1 编码 LLM 的三个主要阶段。 Introduction 我们现在知道,预训练LLM涉及一个训练过程,它学习一次生成一个单词。生成的预 训练LLM能够text completion,这意味着它可以在给定片段作为输入的情况下完成句子 或撰写文本段落。 然而,预训练的LLM通常难以处理特定的指令,例如“修正这段文 字的语法”或“...
Fine-tuning for classification 3. Fine-tuning Model
Fine-tuning the model on supervised data 我们必须定义并使用训练函数来微调预训练的 LLM,并提高其垃圾邮件分类准确性。 训练循环如图 6.15 所示,与我们用于预训练的整体训练循环相同;唯一的区别是我们 计算分类准确性,而不是生成样本文本来评估模型。 图 6.15 训练深度神经网络的典型训练循环在 PyTorch 中由几个步骤组成,遍 历训练集中的批次,进行多个周期。 训练函数实现了图6.15中显示的概念,也与用于模型预训练的train_...
Fine-tuning for classification 2. Setup Model And Prepare Loss Calcutation
Initializing a model with pretrained weights 图6.8 三阶段过程用于对LLM进行分类微调。 为了开始模型准备过程,我们采用与预训练无标签数据时相同的配置: CHOOSE_MODEL = "gpt2-small (124M)" INPUT_PROMPT = "Every effort moves" BASE_CONFIG = { "vocab_size": 50257, # Vocabulary...