自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (189)
  • 收藏
  • 关注

原创 2.langchain中间件之常用内置中间件的使用

触发 → 裁剪 → 总结 → 保留最近消息 → 用摘要替换早期历史内置类型只覆盖通用场景。真实业务里的敏感信息——API Key、手机号、身份证号、内部订单号、病历号——都需要自己定义。detector函数形态的价值在于——可以做校验逻辑,不只是模式匹配。下面的例子会剔除掉"看起来像但不是真 SSN"的号码。import re# 校验:前三位不能是 000、666,也不能落在 900-999"start": match.start(), # ← 必填:命中位置。

2026-09-02 17:17:07

原创 1.langchain中间件之中间件概述

中间件(Middleware)是一组挂在执行流程固定位置的钩子函数(hook),用于在 Agent 运行的各个阶段拦截、检查、修改行为。它以列表形式传给*,middleware: Sequence[AgentMiddleware] = (), # ← 就是这里...# 官方释义:A sequence of middleware instances to apply to the agent.middleware=[ # ← 一串中间件,顺序很重要(第 4 章讲)

2026-09-02 17:01:51 1

原创 9. 实战:多功能智能助手

外部 API 调用、纯计算、联网检索、读写状态。注意每个工具的 docstring 都写清了"什么时候用"。# tools.py# ---------- 工具 1:天气查询(模拟外部 API,可能失败)----------@tool"""查询指定城市的当前天气。当用户询问任何城市的天气、气温、是否下雨/下雪、穿衣建议时使用。参数 city 为中文城市名,如'杭州'、'北京'。

2026-09-02 16:48:11 2

原创 8. Agent 的高级用法 4:流式输出及模式

官方定义:——在工具或节点内部主动推送任意数据(进度、日志、部分结果)。这是最灵活的一种,常用于长时间运行的工具。# ① 在 Agent 的工具里用 runtime.stream_writer 推送进度@toolwriter(f"正在查询 {city} 的数据...") # ← 立即推送给用户# ... 耗时操作 ...writer(f"数据获取完成,正在解析")# ② 消费端print("进度:", chunk["data"])# 进度: 正在查询 杭州 的数据...

2026-09-02 16:39:42

原创 7.Agent 的高级用法 3:结构化输出

结构化输出走工具调用路径,所以会在对话历史里留下一条 ToolMessage。默认内容是——这对用户毫无意义,还占据上下文。让你把它换成一句人话。tools=[],",),# ===== 设置了 tool_message_content 的历史 =====# ✅ 语义清晰# ===== 未设置(默认)的历史 =====# ⚠ 结果被重复写进了历史,白白多占 token① 用了做多轮会话时——历史会被反复重放,这条消息每次都占 token;

2026-09-02 15:06:07 1

原创 6. Agent 的高级用法 2:系统提示词

系统提示词是 Agent 的。它在每次调用模型时被放在消息列表最前面,——这跟"用户提示词"只在第一轮出现是完全不同的。实践中,它是性价比最高的一处调优点。如果提示词需要依赖(用户姓名、当前时间、会员等级),用中间件实现——LangChain 提供了装饰器,按装饰的函数接收一个1. 基于用户等级/身份动态调整语气2. 基于当前时间/日期动态调整3. 基于会话历史动态注入上下文4. 基于用户偏好动态调整输出格式。

2026-09-02 14:35:54

原创 5. Agent 的高级用法 1:设置 Agent 名称

一个请求会经过多个 Agent(主管 → 研究员 → 撰稿人)。没有名字,trace 里全是 "agent" 节点,排查时根本分不清是谁慢、谁错。:主管 Agent(supervisor)把各个专家 Agent 包装成工具来调用。当一个 Agent 作为节点嵌入更大的图时,元组返回,名字让你能区分事件来自哪一层。这是 v1 官方推荐的。——名字起得不好,路由就会错。给编译出来的图起个名字。流式输出时,事件会以。会成为其状态与事件的。

2026-09-02 14:21:30

原创 4.Agent 的基本用法 3:绑定工具

ToolRetryMiddleware 是一个“防故障”层级,它负责在 AI 调用外部工具(如 API、数据库)失败时,自动、安静地重新尝试调用,直到成功或达到最大重试次数,从而提升系统的稳定性和用户体验。max_retries=3, # 首次失败后再试 3 次(共 4 次)backoff_factor=2.0, # 每次等待 ×2initial_delay=1.0, # 第一次等 1 秒max_delay=60.0, # 退避上限,防止等太久。

2026-09-02 14:12:10 1

原创 3. Agent 的基本用法 2:如何调用 Agent

元素含义类比invoke()执行一个封装好的复杂任务按下一个“启动”按钮input你要问的问题或要处理的数据你放进机器里的原材料config控制这次执行过程的额外设置机器面板上的旋钮和开关(如速度、模式、记录日志)意思是:“启动这个任务,传入我的数据(input),并按照这些额外设置(config)来执行它。这个模式通常出现在一些现代 AI 框架或库中(比如 LangChain、某些 LLM API 封装库、或者自定义的流式处理框架),用于实现流式(streaming)数据生成。参数。

2026-09-02 10:51:55 1

原创 2. Agent 的基本用法 1:模型的传入方式

时,先实例化模型对象再传入。

2026-09-02 09:59:27 6

原创 1. 开篇:Agent 不是“会聊天的模型“,而是“会干活的系统“

—Agent 是一个能够调用工具、观察结果、并自行决定下一步的模型。Agent 循环的完整流程(以"查天气 + 发邮件"为例)注意关键分支:模型自己决定"再调一个工具"还是"给最终答案"——这就是 Agent 与普通链路的本质区别。

2026-09-02 09:46:01 1

原创 LangChain 结构化输出

LLM 天生输出的是自然语言文本——为聊天而生,却不适合被程序消费。从一段简历文本里抽出姓名/邮箱/技能列表把用户评价分类成 positive/negative生成一份可入库的订单对象。结构化输出就是让模型"按契约输出",直接返回可以被程序使用的类型化数据。最小可运行示例(模型层)# ① 定义数据契约:我要什么形状的数据"""一个人的基本信息。""" # ← 类文档字符串会被送进模型的 schema 描述name: str = Field(description="姓名")

2026-08-31 15:26:37 391

原创 LangChain Tools 实践经验总结

前面四章讲的是「能做什么」,这一章讲「怎么做才不会在生产环境翻车」。全部来自真实项目的经验教训,可以直接当 Code Review 清单用。

2026-08-31 10:29:41 3

原创 LangChain Tools 完全讲义

从「工具是什么」到「怎么写好一个工具」,再到「如何让模型必须用某个工具」—— 一份可以直接当教程、也可以当检索手册的中文讲义。所有 API 与示例均对照 LangChain 官方文档最新版(v1.2+)编写。

2026-08-30 08:49:47 7

原创 LangChain 消息与提示词模板

历史越长,token 越贵、延迟越高、还会撞上下文窗口上限。(滑窗裁剪)、摘要压缩(summary)、(精确删除)。是一个用于管理 LLM 对话历史长度的实用工具/函数。它通过自动删除列表中较早的消息,确保总 Token 数不超过模型限制,同时尽量保留对当前对话最重要的信息(通常是最近的消息和系统提示)。如果你是在某个具体框架(如chainlit)或代码中看到这个函数,欢迎告诉我具体上下文,我可以为你进一步分析。

2026-08-28 22:43:30 456

2012 名企笔试真题精选 pdf

2012 名企笔试真题精选 pdf

2012-01-02

JAVA面试题解惑系列 PDF

JAVA面试题解惑系列 PDF

2012-01-02

Camel in action

Camel in action

2012-08-01

REST in Practice.pdf

THE WEB HAS RADICAlly TRAnSFORmED THE WAy we produce and share informa- tion. Its international ecosystem of applications and services allows us to search, aggre- gate, combine, transform, replicate, cache, and archive the information that underpins today’s digital society. Successful despite its chaotic growth, it is the largest, least formal integration project ever attempted—all of this, despite having barely entered its teenage years. Today’s Web is in large part the human Web: human users are the direct consumers of the services offered by the majority of today’s web applications. Given its success in managing our digital needs at such phenomenal scale, we’re now starting to ask how we might apply the Web’s underlying architectural principles to building other kinds of distributed systems, particularly the kinds of distributed systems typically implemented by “enterprise application” developers.

2012-01-21

SOA思想、技术与系统集成应用详解2 (共两个压缩包)

SOA思想、技术与系统集成应用详解2 (共两个压缩包)

2012-08-01

SOA思想、技术与系统集成应用详解1 (共两个压缩包)

SOA思想、技术与系统集成应用详解1 (共两个压缩包)

2012-08-01

正则表达式经典实例 中文版

正则表达式经典实例 中文版 正则表达式经典实例 中文版 正则表达式经典实例 中文版

2011-12-10

2011 各大IT公司面试题集合

各大IT公司的笔试面试题 包括联想 网易 华为 朗讯 IBM 百度 google 腾讯 普天 阿里巴巴 贝尔 思科 微软 网易 大唐

2012-01-02

Pro Spring MVC With Web Flow

Pro Spring MVC With Web Flow

2013-01-08

《Maven实战》配套源码

《Maven实战》是国内第一部关于Maven方面的权威资料,由Juven Xu编写,这是书中的源码,简单易懂,容易上手,是学习Maven的好资料

2012-12-31

Pro Spring MVC With Web Flow源代码

Pro Spring MVC With Web Flow源代码

2013-01-08

[疯狂Android讲义].李刚.高清扫描版.z02

[疯狂Android讲义].李刚.高清扫描版.z02

2012-03-21

疯狂Android讲义].李刚.高清扫描版.z01

疯狂Android讲义].李刚.高清扫描版.z01

2012-03-21

[疯狂Android讲义].李刚.高清扫描版

[疯狂Android讲义].李刚.高清扫描版

2012-03-21

[疯狂Android讲义].李刚.源码

[疯狂Android讲义].李刚.源码

2012-03-21

java算法大全源码包

java算法大全源码包

2012-01-02

悟透JavaScript

也许你正好是JavaScript的初学者,或者是使用过JavaScript语言的熟手,甚至是精通JavaScript语言的顶尖高手。但相信你在阅读完本书之后,一定会有不同的收获。你会发现,原来可以这样来理解,JavaScript,原来可以这样编写动态网页,原来可以这样来看待AJAX技术,原来可以这样地快乐编程。 本书采用独特语言风格,文章的内容并不象传统技术文章那样的严谨,而是将原理和技巧包含在故事以及许多小巧的实例当中,书中还配了许多幽默的漫画,这些漫画又可以让读者从另外的视角去看待技术思想。或许就在你不经意的微微一笑中,又多了一种对技术思想新的感悟。这也正是本书与众不同的风格,文字是天马行空,漫画又幽默搞笑,读起来十分有趣。 如果你已经准备好了,就请开始享受这轻松愉快的阅读之旅吧。

2012-01-14

Struts2技术内幕 深入解析Struts2架构设计与实现原理

Struts2+技术内幕——深入解析

2013-02-25

[疯狂Java:突破程序员基本功的16课].李刚.源代码

[疯狂Java:突破程序员基本功的16课].李刚.源代码 [疯狂Java:突破程序员基本功的16课].李刚.源代码

2012-03-21

Maven实战 (清晰完成版)

Maven实战 (清晰完成版)

2012-12-26

PowerDesigner基础入门.pdf

PowerDesigner基础入门.pdf

2013-09-26

2020学而思教学材料

2020学而思教学材料

2020-12-31

Spring 3.x企业应用开发实战[完整版+书签].pdf

Spring 3.x企业应用开发实战[完整版+书签].pdf

2013-07-30

30套应聘个人简历模板

30套应聘个人简历模板

2013-03-24

jbpm5.3各种例子

jbpm5.3各种例子

2013-10-30

JBPM5 完全例子(完全配置)

JBPM5 完全例子(完全配置)

2013-10-30

亿级流量电商缓存课程

亿级流量电商缓存课程:第01节-20节课件资料

2017-09-25

Extjs+SpringMVC+MyBaits财务管控系统

Extjs+SpringMVC+MyBaits财务管控系统

2013-03-09

Scala编程实战 函数式编程思维 Scala函数式编程

Scala编程实战 函数式编程思维 Scala函数式编程 三本书 都是高清版的

2018-06-29

跟老男孩学linux运维 核心系统命令实战-高清-完整-带目录

跟老男孩学linux运维 核心系统命令实战-高清-完整-带目录 上传大小:44.82MB linux 《跟老男孩学Linux运维:核心系统命令实战》是2018年1月1日机械工业出版社出版的图书,作者是老男孩、张瑶。 内容简介编辑 本书是一本较完整的、偏重实战的Linux命令图书,但并非大而全,很多命令讲解均取之于企业中解决问题的实战案例,并结合老男孩十几年的运维工作和教学工作进行了梳理。全书从脉络上共分为12章,具体分布如下。 [1] 第壹章为Linux命令行简介,第2章讲解的是文件和目录操作命令,第3章讲解的是文件过滤及内容编辑处理命令,第4章讲解的是文本处理三剑客,即grep、sed、awk。第5-6章讲解的是Linux信息显示与搜索文件、文件备份与压缩等命令。第7-8章讲解的是Linux用户管理及用户信息查询、磁盘与文件系统管理等命令。第9-11章讲解的是Linux进程管理、网络管理、系统管理等命令。第12章讲解的是Linux系统常用的Bash内置命令。

2018-06-04

新书 Oracle SQL高级编程(中文版 完整版 英文名 Pro Oracle SQL)

新书 Oracle SQL高级编程(中文版 完整版 英文名 Pro Oracle SQL)

2013-03-01

PowerDesigner系统分析与建模.pdf

PowerDesigner系统分析与建模.pdf

2013-09-26

[EJB.3.0.入门经典].黎活明.完整版

[EJB.3.0.入门经典].黎活明.扫描版

2013-07-02

EXT江湖_12867169_北京市:电子工业出版社_2012.01_大漠穷秋著_Pg779

EXT江湖_12867169_北京市:电子工业出版社_2012.01_大漠穷秋著_Pg779

2013-03-11

博客园精华集_Web标准之道.pdf

博客园精华集_Web标准之道.pdf

2013-09-26

Ext江湖源码

Ext江湖源码

2013-03-11

extjs4 MVC的例子

extjs4 MVC的例子

2013-03-20

Div.CSS.3.0网页布局案例精粹

Div.CSS.3.0网页布局案例精粹

2013-07-02

[精通JS脚本之ExtJS框架].赵俊昌

[精通JS脚本之ExtJS框架].赵俊昌

2013-07-02

Spring+3.x企业应用开发实战光盘源码(全).rar

Spring+3.x企业应用开发实战光盘源码(全).rar

2013-07-30

空空如也

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

TA关注的人

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