自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 【Go】P19 Go语言并发编程核心(三):从 Channel 安全到互斥锁

Go 语言以其简洁高效的并发模型(Goroutines 和 Channels)而闻名。然而,"并发"并不等同于 “并行”,且其运行并非一直高效且安全。当我们启动成百上千的 Goroutine 时,如何确保它们在共享数据时的安全和协调,是并发编程真正的核心挑战。Channel(管道)和Lock(锁)。我们将从 Channel 的安全特性(如单向管道)讲起,谈到 select 多路复用,最后深入分析为什么需要锁,以及如何使用互斥锁 (Mutex) 和读写锁 (RWMutex)。默认情况下,我们创建的管道是。

2025-11-05 10:14:40 674

原创 【Go】P18 Go语言并发编程核心(二):Goroutine 与 Channel 的协同艺术

goroutine提供了并发执行的能力(“做什么”),而channel提供了它们之间安全、高效的通信与同步机制(“如何协作”)。通过channel,我们可以构建出清晰、健壮且高性能的并发程序,将复杂的多线程同步问题,简化为对数据流(管道)的管理。这正是 Go 语言并发模型的魅力所在。2025.11.04 金融街。

2025-11-04 10:23:37 804 1

原创 【大模型】P1 从第一性原理看懂监督学习:为什么“损失函数”是学习的关键?

本系列,是我干饭技能的本钱,即大模型系列。该系列内容,不会直接从什么是大模型开始,而是将读者当成一个算法技术小白,尝试真的从只有数学基础理解传统机器学习 —> 知识表示与检索 —> 控制论与强化学习 —> 感知机与浅层网络 —> 现代神经网络 —> Transformer —> 深度强化学习 —> 模型部署推理优化 —> 自动化运维 —> 模型可解释性与安全 —> 多模态模型,等内容。我们找到了xxx(题目)和yyy(答案),但如何找到那个最完美的函数fff呢?

2025-11-03 17:47:12 676

原创 【Docker】P6 从代码到容器:通过 Dockerfile 打造你的专属镜像

在 Docker 的世界里,我们常常是“镜像”的消费者。无论是部署一个 Nginx 服务器、启动一个 Redis 缓存,还是运行一个 MySQL 数据库,我们习惯于那些由官方或社区精心制作好的镜像。但 Docker 另一面强大之处在于,我们可以将自己的应用程序打包、分发和运行。Docker 提供了 Dockerfile 来实现“一次构建,处处运行”这个蓝图。Dockerfile是连接开发与运维的桥梁,它让我们的应用交付变得标准化、自动化和高效。

2025-11-03 11:19:04 822

原创 【Docker】P5 Docker Compose 实战指南:一键部署 WordPress + MySQL

根据 Docker官方文档Compose是一个用于定义和运行多容器Docker 应用程序的工具。通过Compose,您可以使用一个YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从您的配置中创建并启动所有服务。简而言之,Compose允许我们将复杂的多容器应用“编排”在一个文件里,实现“一处定义,处处运行”,真正做到事半功倍。Docker Compose 是从“会用 Docker”到“善用 Docker”的进阶必备工具。它将复杂的、声明式的应用定义()与简单的、命令式的操作()完美结合。

2025-11-01 23:41:04 929 3

原创 【Docker】P4 Docker 网络:掌握 Docker 自定义网络,玩转应用集群

为了解决上述所有问题,Docker 提供了自定义网络机制。凡是连接到同一个自定义网络的容器,都可以通过它们的容器名作为域名(Hostname)进行互相访问。Docker 会在这个网络内部署一套 DNS 服务,自动将容器名解析为其当前的内部 IP。app1想要访问app2?直接连接app2:端口即可。app2重启了,IP 变了?没关系,Docker 的 DNS 会自动更新,app2这个“域名”始终指向正确的新 IP。这就建立了一套稳定、可靠的服务访问机制。操作非常简单,我们只需要用到系列命令。

2025-10-31 19:16:55 1178

原创 【Docker】P3 别再让你的数据“随用随弃”!Docker 存储核心指南:目录挂载与卷详解

但是这种方式存在一个严重的问题:如果由于任何原因(比如配置错误、版本更新)这个容器被销毁并重建了,当你再次访问时,你会发现,之前的。下一次启动时,它发现卷不再是空的,就会跳过初始化,直接使用现有的数据。它们可以被快速创建、启动、停止、分享和销毁,这带来了极大的灵活性。别再让你的数据“随用随弃”了。从今天起,为你的容器数据找一个安全的、持久的家!的问题,Docker 提供了强大的存储机制,允许我们将数据。所以,在这么多对比下,我们可以说:如果用户在一个应用的。是空的,于是它会把自己的默认数据库结构“

2025-10-31 18:09:33 713

原创 【Docker】P2 Docker 命令:从Nginx部署到镜像分享的全流程指南

欢迎来到本期的 Docker 教程!今天,我们将通过一个完整的流程化实例,带你走过 Docker 最核心的命令操作。

2025-10-30 23:50:19 1534

原创 【Docker】P1 Docker 基础入门指南

你是否曾经遇到过这样的困境:“这个应用在我电脑上明明跑得好好的,怎么一部署到服务器就出错了?” 或者,你是否在服务器上部署多个应用时,担心它们之间会因为环境依赖冲突而“打架”?如果答案是肯定的,那么 Docker 就是你正在寻找的“银弹”。本文将带你从零开始,彻底搞清楚 Docker 是什么、为什么需要它,以及如何动手安装并运行你的第一个 Docker 应用。恭喜你!读到这里,你已经了解了容器的“前世今生”,掌握了 Docker 的核心概念(镜像 Image容器 Container仓库 Registry。

2025-10-30 20:27:04 989

原创 【Go】P17 Go语言并发编程核心(一):深入理解 Goroutine (从入门到实战)

Goroutine 协程,是 Go 语言并发设计的灵魂。它以其轻量级、低开销和强大的调度能力,让开发者能以极其简单的方式编写出高性能的并发乃至并行程序。Goroutinego关键字) 让我们轻松发起并发任务。让我们能可靠地同步和等待任务完成。Go 运行时默认利用多核 CPU,让我们(在计算密集型任务中)“免费”获得并行带来的性能提升。掌握Goroutine,是深入 Go 语言、构建现代化高性能服务的必经之路。2025.10.29 杭州西湖畔。

2025-10-29 14:05:05 966

原创 【Go】P16 Go 语言核心精讲:深入理解接口(interface)

在 Go 语言中,如果说goroutine和channel是其并发的利剑,那么interface(接口)就是 Go 语言实现多态和组件化设计的灵魂。它是一种抽象类型,定义了一组方法的集合,是 Go 语言实现“鸭子类型”的核心。理解接口,是从 Go 入门到精通的必经之路。本文将从基础定义开始,深入探讨空接口、类型断言、接收者区别以及高级用法,助您彻底掌握 Go 接口的精髓。接口的定义使用type关键字和interface关键字,内部是方法签名(方法名、参数列表、返回值列表)的集合。

2025-10-29 08:47:52 792

原创 【Go】P15 深入理解 Go 语言:从包(Package)到 Go Mod 实战

现在我们已经有了go mod项目,让我们来创建自己的包。假设我们的myproject是一个计算器应用。我们希望把计算逻辑(如加法)放到一个独立的包calc中。包(Package)是 Go 语言组织代码的基石,它强制实现了一种清晰的模块化和依赖管理。包是同一目录下的.go文件集合,main包用于生成可执行文件,其他包作为库使用。大写字母开头的标识符为公有,小写为私有。现代 Go 项目的基石,使用初始化,自动管理依赖。通过创建子目录和编写 package 代码,并使用模块名/包路径来导入。在代码中。

2025-10-28 08:39:17 806

原创 【Go】P14 Go语言核心利器:全面解析结构体 (Struct)

当我们需要处理复杂的事物或场景时,单一的基础数据类型(如int或string)显然不够用。Go 语言允许我们自定义数据类型,将多个不同类型的基础数据封装在一起,这种自定义的数据类型就称为结构体。简而言之,结构体是一个字段的集合。在定义结构体之前,我们先要理解 Go 语言中的自定义类型。在 Go 中,我们使用type和structAge intSex string这里,我们定义了一个名为Person的新类型。Name(字符串类型)、Age(整型)和Sex(字符串类型)。重要提示:字段的可见性。

2025-10-27 12:10:48 754

原创 【Go】P13 Go 语言核心概念:指针 (Pointer) 详解

在 Go 语言的学习中,指针(Pointer)是一个绕不开的核心概念。它既是理解 Go 语言内存管理、函数传参以及性能优化的关键,也是许多初学者容易混淆的难点。本文将从最基础的变量和内存地址讲起,带你一步步深入理解 Go 语言中指针的定义、使用、以及new和make这两个与内存分配密切相关的内置函数。理解了内存地址,指针就非常容易理解了。指针(Pointer)也是一个变量,但它是一种特殊的变量。它存储的数据不是一个普通的值(如10"hello"),而是另一个变量的内存地址。我们可以说,

2025-10-27 09:12:00 773

原创 【Go】P12 掌握 Go 语言 time 包:日期与时间处理全攻略

在任何编程语言中,处理日期和时间都是一个常见且至关重要的任务。无论你是在记录日志、安排任务、计算耗时还是处理用户数据,Go 语言强大而灵活的time包都能为你提供所需的支持。本博文我们将深入探讨time包中关于日期获取、格式化、时间戳转换、时间运算以及定时器的核心功能。time包是 Go 语言标准库中的瑞士军刀。通过本文,我们学习了如何获取和分解时间 (Now)、如何随心所欲地格式化它 (Format)、如何在时间戳和时间对象间转换 (UnixUnixNanoUnixMilli。

2025-10-22 19:39:29 771

原创 【Go】P11 掌握 Go 语言函数(二):进阶玩转高阶函数、闭包与 Defer/Panic/Recover

Go语言的函数远不止是代码块。它们是强大的数据类型,通过高阶函数、匿名函数和闭包,我们可以编写出高度灵活、解耦且易于维护的代码。同时,deferpanic和recover机制,结合error接口,为我们提供了构建健壮、可靠程序的完整工具集。掌握这些概念,是从Go新手迈向资深开发者的关键一步。2025.10.22 西三旗。

2025-10-22 18:09:15 875

原创 【Go】P10 掌握 Go 语言函数(一):深入理解函数基础

在 Go 中,函数是组织好的、可重复使用的、用于执行指定任务的代码块。我们使用func关键字来定义一个函数。func 函数名(参数列表) (返回值列表) {// 函数体// ...return 返回值func:定义函数的关键字。函数名:函数的唯一标识符,固在其作用域区间内不能重名。参数列表:包含数个形参,负责函数接收的输入。每个参数都有一个名字和一个类型。返回值列表:函数执行后返回的输出。同样,每个返回值都有一个类型(也可以有名字)。函数体:花括号{}之间的代码,是函数的真正“工作区”

2025-10-22 07:53:35 690

原创 【Go】P9 Go 语言 map 完全指南:从入门到进阶

map是一种复合数据类型,用于存储一系列无序的键值对。Go 语言中的map是一个引用类型。这意味着当你将一个map变量赋值给另一个变量,或者将其作为参数传递给函数时,实际上传递的是指向底层数据结构的指针。因此,在函数内部对map的修改会反映到原始的map上。mapKeyType:表示键的类型。Go 语言要求mapstringintfloatbool, 指针,以及不包含切片、map或函数的结构体。ValueType:表示键对应值的类型。值的类型可以是任意 Go 语言类型,包括map或切片。map是。

2025-10-21 10:35:11 943

原创 【Go】P8 Go 语言核心数据结构:深入解析切片 (Slice)

大家好!在上一篇博文中,我们详细分享了数组(Array)的内容。我们知道,数组是一个拥有相同类型元素的固定长度序列。但在实际开发中,我们更常需要处理可变长度的序列。今天,我们就来深入探讨 Go 语言中一个极其重要且强大的数据结构——切片(Slice)。切片是 Go 语言的灵魂之一,它提供了比数组更强大、更灵活的序列操作能力。理解切片,是成为一名合格 Go 程序员的必经之路。简单来说,切片(Slice)是一个拥有相同类型元素的可变长度序列。它听起来和数组很像,但关键区别在于“可变长度。

2025-10-20 16:08:46 1136

原创 【Go】P7 Go 语言核心基石:深入理解数组 (Array)

在 Go 语言中,数组是一个由固定长度的、同一类型元素组成的序列。一旦你声明了一个数组,它的长度就确定了,不能再改变。数组中的所有元素都必须是相同的类型,比如全是int或全是string,需在声明时显式指出。数组中的元素是按顺序排列的,每个元素都有一个唯一的索引(从 0 开始)。我们已经看到,Go 的数组功能强大且性能优秀(内存连续、访问快)。但它的固定长度和值类型你无法在运行时动态地向数组添加或删除元素。[5]int和[10]int是不同类型,这导致你无法编写一个能同时接受这两种数组的通用函数。

2025-10-20 09:33:00 823

原创 【Go】P6 Golang 基础:流程控制

流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,可以说是一门语言的"经脉"。Go 语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。if-else: 条件分支的基础,支持在条件中声明变量for: 唯一的循环关键字,涵盖所有循环场景,包括传统循环、类 while 循环和for range迭代switch:优雅的多分支选择,默认不穿透,支持多值匹配和表达式判断:控制循环执行流程,支持标签跳转goto。

2025-10-15 20:15:00 1771 4

原创 【Go】P5 Go 语言基础:全面解析五大核心运算符

掌握 Go 语言的这五种基本运算符是编写任何有效程序的基石。算术运算符处理数值计算。关系运算符用于比较,是条件判断的核心。逻辑运算符组合多个条件,实现复杂逻辑,其短路特性值得关注。赋值运算符让变量赋值和更新操作更简洁。位运算符提供了对数据底层二进制表示的直接操控能力。希望这篇详尽的指南和丰富的示例能帮助你更牢固地掌握 Go 语言的运算符。在实践中多多运用,你将能编写出更优雅、更高效的 Go 代码。2025.10.15 金融街。

2025-10-15 19:00:00 1041

原创 【LangChain】P25 LangChain Agent 入门:让你的AI拥有大脑和双手

如果你用过 LangChain 的 Chain,会发现它像一条预设好的流水线,严格按步骤执行。而 Agent 则完全不同,它是一个拥有“大脑”的智能助理,能够根据你的复杂任务,自主规划并执行动作。本文将带你快速掌握 LangChain Agent 的核心,理解其工作原理,并上手实践。一个由LLM (大脑)驱动,通过Tools (双手)与外部世界交互,并由AgentExecutor (调度中心)管理的智能系统。Agent 的智能体现在其动态规划能力,与 Chain 的固定流程形成鲜明对比。

2025-10-15 13:49:20 810

原创 【Go】P4 Go语言入门:彻底搞懂 byte、rune 和类型转换的那些事儿

你好,欢迎来到 Go 语言的世界!上一篇博文,我们分享了四种 Go 语言的基本数据类型。如果你刚刚开始学习 Go,可能会对它的一些类型,比如 byte 和 rune 感到困惑。同时,作为一门强类型语言,Go 对类型转换有着严格的要求,如何优雅地在数字、字符串之间进行转换,也是每位初学者的必修课。别担心!这篇博文就是为你准备的“小白”专属指南,让我们用最简单的语言和最清晰的示例,一次性把这些概念搞明白。你可以把byte理解成 Go 语言为uint8起的一个“别名”。它代表了一个字节,也就是8 个比特位。

2025-10-14 15:54:16 815

原创 【Go】P3 深入 Go 语言核心:探索四种基本数据类型

Go 语言中字符串通常用双引号""包裹。// 方式一:标准声明var str1 string = "你好, Go"// 方式二:类型推导var str2 = "你好, Go"// 方式三:短变量声明(最常用)str3 := "你好, Go"如果字符串中包含特殊字符,如目录地址,可以使用反斜杠整型、浮点型、布尔型和字符串。掌握它们是编写任何 Go 程序的基础。每种类型都有其特定的用途和规则,理解这些细节将帮助你写出更健壮、更高效的代码。希望这篇博文能对你的 Go 语言学习之路有所帮助!

2025-10-14 14:48:09 1069

原创 【Java】P15 Java 深入理解 “this” 关键字

this。对于初学者来说,它似乎无处不在,但又难以捉摸。它到底是什么?我们为什么需要它?又该在何时何地使用它呢?本文将带你深入浅出地剖析this关键字,通过清晰的示例,让你彻底掌握它的三种核心用法。在 Java 中,this是一个关键字,也是一个隐藏的引用。它指向当前对象。当你在一个方法中调用this时,它就代表调用这个方法的那个对象。当你在一个构造器中调用this时,它就代表正在被创建的那个对象。现在,让我们用thisint age;// 使用 this.age 来明确指定这是类的属性。

2025-10-13 17:24:56 1093

原创 【Java】P14 阶段性小结:面向对象编程核心概念梳理(针对前13篇博文内容)

本次小结涵盖了从编程思想到具体语法、从核心概念到设计原则的方方面面。类、对象、属性、方法、构造器以及封装性,共同构成了Java面向对象编程的基石。希望这次梳理能帮助你将零散的知识点串联成网,为后续学习继承和多态等更高级的概念打下坚实的基础。继续加油!2025.10.13 金融街。

2025-10-13 16:27:26 911

原创 【Java】P13 Java “咖啡豆“ 与 UML “蓝图“:为你的代码画一张清晰的地图

你好,编程世界的朋友!刚踏入 Java 编程的大门,你可能已经听说过JavaBean这个词,感觉它听起来就像一种美味的咖啡豆☕️。同时,你可能也瞥见过一些复杂的方框和线条图,它们被称为UML 类图,看起来就像建筑师的蓝图一样。别担心,它们并没有听起来那么复杂!事实上,理解 JavaBean 和 UML 类图是让你从“代码的搬运工”变成“代码的设计师”的关键一步。这篇博文将用最通俗易懂的方式,带你揭开它们神秘的面纱,并告诉你如何将这两者结合起来,为你的代码画一张清晰易读的“地图”。JavaBean。

2025-10-13 15:25:13 833

原创 【LangChain】P24 LangChain 工具篇(二)为 AI 插上翅膀:从意图分析到自动执行

接下来,我们需要定义可用的工具,并将其转换为大模型能够理解的格式。# 1. 定义我们的工具列表# 2. 将工具转换为大模型能理解的 "Function" 格式我们首先定义一个工具列表。是 Langchain 内置的一个工具,它可以执行移动文件的操作。在实际应用中,这里可以是我们自定义的任何函数,例如send_email等。这是至关重要的一步。为什么需要转换?大模型本身并不直接“运行”Python的Tool对象。它依赖于一个标准化的描述格式(在OpenAI中称为。

2025-10-13 14:15:17 1182

原创 【LangChain】P23 LangChain 工具篇(一)为 AI 插上翅膀:深入理解大模型工具(Tools)的核心要素与构建之道

在构建强大 AI 应用的征程中,仅仅依赖大语言模型(LLM)的文本生成能力,如同纸上谈兵。真正的突破,在于让模型能够与真实世界互动,从“认识世界”迈向“改变世界”。工具(Tools)正是为模型插上这双翅膀的关键,它将模型的智慧延伸至无限可能。从本篇博文开始的两篇博文,我们将浅层的讲解 Tools 的定义、构建方法以及使用策略,提供一些基本的示例,详细内容将在下一个篇章 —— Agent,即真正应用工具实现场景互动的应用范式中详细提供,请期待。简单来说,Tools 是让 LLM 能够调用外部世界能力的接口。

2025-10-13 09:47:26 847

原创 【LangChain】P22 LangChain Memory(终):从实体、知识图谱到向量存储

大家好!在本系列的前三篇博文中,我们已经深入探讨了 LangChain 中多种核心的 Memory(记忆)模块。从记录一切的到能按条数或 Token 长度限制上下文的和再到能够提炼对话精髓的以及融合全部记录和总结两个方法的基于实体信息,结构化地存储关键事实。将对话提炼为知识图谱,捕捉实体间的复杂关系。利用向量数据库进行语义检索,实现海量对话的持久化记忆。让我们开始吧!维度存储形式自然语言文本(一段话)结构化字典(键值对)信息利用方式需大模型“读懂”摘要文本,依赖模型的注意力机制。

2025-10-11 10:55:25 891

原创 【LangChain】P21 LangChain Memory(三):告别遗忘,让对话更智能

在前面的系列文章中,我们探讨了 LangChain 的基础记忆模块以及如何通过窗口限制方法(如)来管理内存。我们发现,完整保存所有对话历史()会迅速消耗大量内存和 Token,而简单地按对话条数或 Token 数量进行“硬截断”又可能丢失关键的上下文信息。有没有一种两全其美的方法,既能节省宝贵的内存资源,又能确保对话的核心信息不丢失呢?答案是肯定的。摘要式记忆。和。想象一下,你不需要记住每一次对话的每个字,而只需要一个智能助手帮你把过去的聊天内容提炼成一段精准的摘要。这就是的核心思想。

2025-10-11 06:30:00 1360

原创 【LangChain】P20 LangChain Memory(二):给记忆赋予“窗口期”

和。它们为我们构建具备上下文理解能力的对话式 AI 应用奠定了坚实的基础。然而,在真实的、复杂的应用场景中,我们往往需要更精细、更高效的记忆管理方案。和。它们分别从便捷性、对话窗口和 Token 成本三个维度,为我们提供了更优的解决方案。追求开发效率和便捷性的最佳选择,适合快速搭建标准对话应用。专注于控制对话轮次,是构建需要长期稳定运行、防止上下文溢出的应用的理想工具。着眼于成本和性能的精准控制,通过限制 Token 总量,确保应用经济高效且不触及模型上下文天花板。

2025-10-10 19:45:00 1238

原创 【LangChain】P19 LangChain Memory(一):让 AI 拥有“记忆力“的秘密

想象一下,你正在和 ChatGPT 聊天:你:我叫小明,今年25岁。AI:你好小明~很高兴认识你。你:我今年多大了?AI:你今年25岁。看起来 AI 记住了你的年龄信息,但真相可能会让你惊讶 —— 大语言模型本身其实没有记忆能力。他就像一个每次见面都会失忆的朋友,模型每次接收你的问题时,都是与你的初遇。那它为什么能回答出你的年龄呢?答案,是有人在背后偷偷把你们之前的对话的信息,塞给了大模型。它的其中一个实现方式,也就是我们今天要介绍的主角 ——件。

2025-10-10 18:30:00 1851

原创 【Java】P12 Java 类的成员之三:构造器从基础到实践

职责一:对象实例化与new关键字配合,在堆内存中为对象分配空间,完成对象的创建过程。职责二:初始化对象状态在对象创建的同时,为对象的属性赋予初始值,确保对象一经创建就处于合法可用的状态。匿名对象是指创建对象时不将其赋值给任何引用变量,直接使用的对象。// 普通对象Customer customer = new Customer("张三", "001");// 匿名对象new Customer("李四", "002").getName();

2025-10-10 09:36:23 1151

原创 【Java】P11 面向对象三大特征:封装性

封装就是将客观事物抽象为类(class),并通过访问控制机制,把数据和方法选择性地开放给可信的类或对象,同时对不必要开放的部分进行隐藏。该隐藏的隐藏,该暴露的暴露—— 这就是封装性的核心思想。封装性不仅是 Java 语法特性,更是一种重要的设计思想。防止外部代码随意修改对象状态内部实现的改变不影响外部调用类的职责更加清晰,模块间依赖更少清晰的接口定义使得分工更加明确掌握封装性,是成为优秀 Java 开发者的必经之路。把该隐藏的隐藏起来,该暴露的暴露出来,让你的代码更加健壮、优雅。

2025-10-09 18:38:34 826

原创 【LangChain】P18 LangChain 之 Chain 深度解析(三):基于 LCEL 语法的数据库与文档处理新型 Chain

在 LangChain 的世界里,LangChain 表达式语言(LCEL)的出现无疑是一场革命。它以其标志性的管道符(),不仅为我们提供了一种声明式、可组合且可流式传输的方式来构建强大的语言模型应用,还促使许多 LangChain 中与封装的高级 Chains 重新基于 LCEL 重构,使得其内部逻辑更加透明,并赋予了开发者前所未有的灵活性。前者是连接自然语言与结构化数据库(Database)的桥梁,我们将使用 MySQL 数据库作为示例。后者则是处理文档内容、进行问答与总结的基础。

2025-10-09 18:38:25 1250

原创 【LangChain】P17 LangChain 之 Chain 深度解析(二):轻松掌握顺序链(Sequential Chains)

想象一下工厂里的流水线:第一道工序完成了零件的初步加工,然后将其传递给第二道工序进行组装,最后再交给第三道工序进行质检。顺序链就是 LLM 应用中的“流水线”,它允许我们将多个独立的“链”(Chains)或者“语言模型调用”(LLM Calls)按照预定的顺序连接起来。顺序链是 LangChain 中组织和编排 LLM 任务的基本构件。通过将简单的调用组合成强大的工作流,我们可以让 AI 完成远超单个提示词所能及的复杂任务。是快速原型验证的利器,专为线性、简单的任务设计。

2025-10-09 12:45:35 802

原创 【LangChain】P16 LangChain 之 Chain 深度解析(一):理解“链(Chains)”与 LCEL 的设计哲学

欢迎来到 LangChain 的探索之旅!如果你已经对 LangChain 的提示词模板(Prompt Template)、大语言模型(LLM)等基础模块有所了解,那么是时候进入其真正的核心 ——链(Chains)了。LangChain 的核心思想,正在于“链”。我们之前接触的提示词模板、模型调用,以及后续将要深入探讨的 Memory(记忆)、Tools(工具)、RAG(检索增强生成)等模块,它们各自负责特定的功能。

2025-10-09 10:49:22 1096

原创 【LangChain】P15 大模型私有化部署:基于 Ollama 与 LangChain 的实践指南

Ollama 是 GitHub 上的一个明星开源项目,其定位是一个本地运行大模型的集成框架。主要针对主流的 Llama 架构开源大模型设计,完美支持 Qwen、DeepSeek、Llama、Mistral 等热门模型。实现模型下载、启动和本地运行的全自动化流程,完全脱离复杂配置。支持 macOS、Linux、Windows 三大主流操作系统。虽然 Ollama 为本地大模型部署提供了极大便利,我们也需客观认识它的一些局限性。功能相对简化。

2025-10-07 20:57:45 1036

【LangChain】P0 外部知识库案例

【LangChain】P0 外部知识库案例

2024-09-05

PIL案例图片 volvo-xc90.jpg

博文 【计算机视觉】PIL库-python图像处理类库 的案例图片 volvo_xc90.jpg 该图片大小为1920*1080,RGB图片

2022-10-28

rain.jpeg 图为香港街景图片,目标为消除该街景图片中的噪点

该图片为包含很多噪点的香港街景图片。博客中通过高斯平滑滤波消除噪点。

2022-10-20

4个变量的数据集,仅用于学习

4个变量的数据集,仅用于学习

2022-10-01

EVCapture 电脑录屏软件(免费)

仅用于个人学习,若需要删除请联系或留言。

2022-04-18

Bandicam录屏软件 包含Windows版本以及MacOS版本

仅用于个人学习

2022-04-18

HDF reader 读取HDF数据集文件专用轻量级软件

仅用于个人学习,软件为读取HDF数据集轻量级软件

2022-04-18

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

TA关注的人

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