自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1035)
  • 资源 (4)
  • 收藏
  • 关注

原创 面向OLAP的列式存储DBMS-17-[ClickHouse]常用查询语句join和select

常用查询语句

2026-09-22 15:38:47 47

原创 langchain1.X学习笔记-42-RAG之整体案例

基于LangChain提供的相关组件实现一个简易知识库,并结合Agent进行交互。涵盖了RAG的核心生命周期:文档加载,文本切分,向量化,向量数据库存储,相似度检索,大模型结合上下文生成回答。

2026-09-14 09:12:00 121

原创 langchain1.X学习笔记-41-RAG之文档嵌入模型和向量存储

文档嵌入模型和向量存储,向量数据库Milvus的使用。

2026-09-14 09:08:27 12

原创 langchain1.X学习笔记-40-RAG之文档切分器(二)按Token分割TokenTextSplitter和按语义分块SemanticChunker

按token分割,按语义分块,HTML文档分割,代码文本分割,markdown文本分割。

2026-09-07 14:13:03 194

原创 langchain1.X学习笔记-39-RAG之文档切分器(一)字符文本切分器CharacterTextSplitter和递归RecursiveCharacterTextSplitter

字符文本切分器。CharacterTextSplitter和递归字符文本切分器RecursiveCharacterTextSplitter。split_text(字符串),create_documents(字符串列表),split_documents(文档列表)。

2026-09-07 14:10:00 15

原创 langchain1.X学习笔记-38-RAG之文档加载器(二)pdf、word、markdown、html、文件夹

加载pdf(PyPDFLoader),加载Markdown(UnstructuredMarkdownLoader),加载HTML(UnstructuredHTMLLoader),加载File Directory(DirectoryLoader)。

2026-09-03 09:20:15 285

原创 langchain1.X学习笔记-37-RAG之文档加载器(一)txt、csv、json

加载txt(TextLoader),加载csv(CSVLoader),加载JSON(JSONLoader),JSONLoader使用指定的jq结构来解析JSON文件。jq是一个轻量级的命令行JSON处理器 ,可以对JSON格式的数据进行各种复杂的处理,包括数据过滤、映射、减少和转换,是处理 JSON 数据的首选工具之一 。

2026-09-03 09:17:04 105

原创 langchain1.X学习笔记-36-上下文与记忆Memory之长期记忆(四)静态运行时上下文(Static runtime Context)在工具中访问

tool参数列表中的ToolRuntime是Langchain/Langgraph运行时注入的,在工具schema中没有体现。工具函数通过runtime: ToolRuntime[UserContext, Any]参数自动获取runtime.context(用户ID)和runtime.store(存储实例),无需手动传递。

2026-09-02 09:30:38 124

原创 langchain1.X学习笔记-35-上下文与记忆Memory之长期记忆(三)静态运行时上下文(Static runtime Context)在中间件中访问

静态运行时上下文(Static runtime Context)表示不可变的数据,如用户元数据、工具和传递给应用程序的数据库连接对象。通常在运行开始时通过invoke/stream的context参数传递,此类数据在运行期间不会更改。

2026-09-02 09:20:04 55

原创 langchain1.X学习笔记-34-上下文与记忆Memory之长期记忆(二)在Agent运行图中访问长期记忆

在Agent运行图中访问长期记忆,即通过runtime.store接口可以在工具(Tools),通过request.runtime.store接口可以在中间件或钩子(Hooks)中访问长期记忆。

2026-08-31 09:34:14 93

原创 langchain1.X学习笔记-33-上下文与记忆Memory之长期记忆(一)基础API的使用

长期记忆记录的是用户特定或应用级别的数据,任何会话都可以随时访问。长期记忆的存储是store -> namespace -> key -> value的四层架构。相关的API有:put() :负责写入。get() :负责读取。search() :负责检索。

2026-08-31 09:15:17 19

原创 langchain1.X学习笔记-32-上下文与记忆Memory之短期记忆(二)记忆治理策略:消息裁剪、消息删除、摘要

消息裁剪:调用模型前裁剪上下文,目标是控制token用量,通常保留系统初始消息和最近若干消息。消息删除:强调模型调用完成后将某些消息从消息列表中移除。摘要:是更适合长会话的折中方案,保语义,不保原文。这三个策略都会永久改变消息列表。

2026-08-28 09:38:08 129

原创 langchain1.X学习笔记-31-上下文与记忆Memory之短期记忆(一)State(会话内部状态)+Checkpointer(持久化机制)+Thread ID(会话作用域)

LangGraph提供了三种管理上下文的方法:动态运行时上下文(state)、动态跨会话上下文(store)、静态运行时上下文(context)。记忆分为短期记忆(state)和长期记忆(store)。短期记忆可以使用InMemorySaver或SqliteSaver。

2026-08-28 09:07:40 252

原创 langchain1.X学习笔记-30-中间件Middleware之自定义中间件(三)装饰器和类的选择

当一个中间件只需要实现一个钩子函数时,直接使用装饰器最简单。当一个中间件需要实现多个钩子函数时,类写法更合适。

2026-08-25 13:24:05 39

原创 langchain1.X学习笔记-29-中间件Middleware之自定义中间件(二)包装风格钩子

Wrap-style(包装式):它们像洋葱一样完整包裹了模型或工具的实际调用过程。它们完全掌握被包裹函数的控制权,可以决定是调用0次(直接短路/缓存命中)、调用1次(正常透传),还是调用多次(实现重试逻辑)。

2026-08-24 16:00:14 136

原创 langchain1.X学习笔记-28-中间件Middleware之自定义中间件(一)节点风格钩子

Node-style(节点式):它们是在Agent执行流程的固定节点上按顺序触发。它们不掌握模型或工具调用的控制权,不能决定模型是否被调用。它们的作用是在到达该节点时,观察状态、修改状态或进行简单的拦截跳转。

2026-08-24 15:59:46 40

原创 langchain1.X学习笔记-27-中间件Middleware之其它内置中间件(四)LLMToolEmulator和ContextEditingMiddleware和中间件组合顺序

工具尚未开发完成,希望先测试工具调用,可以用LLM tool emulator模拟工具。 ContextEditingMiddleware,上下文编辑中间件,该中间件提供了上下文管理的一种方式,通过更改发送给模型的消息列表来控制成本。中间件的书写顺序十分重要。

2026-08-19 12:35:11 214

原创 langchain1.X学习笔记-26-中间件Middleware之其它内置中间件(三)ToolRetryMiddleware和ModelRetryMiddleware

ToolRetryMiddleware,基于指数退避算法,设置工具调用失败时的重试策略。ModelRetryMiddleware,模型调用失败时重试,策略和工具调用的重试一样。

2026-08-19 12:32:34 135

原创 langchain1.X学习笔记-25-中间件Middleware之其它内置中间件(二)ModelFallbackMiddleware和LLMToolSelectorMiddleware

ModelFallbackMiddleware,用于故障转移,当主模型无法访问时,启用备用模型。LLMToolSelectorMiddleware,智能工具筛选,当工具太多时,用子模型筛选最相关的几个工具。

2026-08-18 13:07:49 141

原创 langchain1.X学习笔记-24-中间件Middleware之其它内置中间件(一)ModelCallLimitMiddleware和ToolCallLimitMiddleware

ModelCallLimitMiddleware,限制模型调用次数,避免无限循环,控制调用成本。ToolCallLimitMiddleware,限制工具调用次数,可以限制所有工具调用的总次数,也可以限制特定工具的调用次数。

2026-08-18 13:05:32 13

原创 langchain1.X学习笔记-23-中间件Middleware常用内置中间件(二)PIIMiddleware和TodoListMiddleware

PII中间件用于检测和处理对话中的个人身份信息。TodoListMiddleware中间件赋予了Agent任务规划和追踪进度的能力,可以应对复杂的多步任务。

2026-08-17 10:29:46 44

原创 langchain1.X学习笔记-22-中间件Middleware的常用内置中间件(一)SummarizationMiddleware和HumanInTheLoopMiddleware

SummarizationMiddleware中间件,对历史消息列表进行摘要&总结 ,达到压缩上下文的效果。HumanInTheLoopMiddleware(人在环中间件、人工审核中间件)在工具调用前中断Agent运行,等待用户对工具调用请求决策。

2026-08-17 10:26:00 104

原创 langchain1.X学习笔记-21-中间件Middleware之中间件的分类、钩子函数和横切关注点

Middleware(中间件),简单说就是Agent执行过程中的钩子函数。包含内置和自定义两类。在的Agent执行循环中,比如 “模型调用前”、“模型调用后”、“工具调用前后” 设置一些钩子(hooks),让你在不改Agent主体逻辑的情况下实现策略与治理。中间件的价值就在于把这些与业务无关、但与执行过程强相关的横切逻辑,从Agent主流程中分离出来。

2026-08-12 14:46:39 17

原创 langchain1.X学习笔记-20-智能体高级用法之多功能智能助手

创建Agent,绑定模型、工具、系统提示词。用户提问添加到自定义消息历史,调用agent,用返回的内容(包含全部历史信息)更新自定义消息历史。每次调用返回给用户最后一条AI消息即可。

2026-08-12 10:07:54 22

原创 langchain1.X学习笔记-19-智能体高级用法之流式输出及模式

流式输出有7种模式,并且根据场景可以组合使用。通过“agent.stream(stream_mode=指定模式) ”来指定。具体模式有:values、updates(默认)、messages、custom、checkpoints、tasks、debug。

2026-08-11 09:51:29 28

原创 langchain1.X学习笔记-18-智能体高级用法之详解ToolStrategy策略的tool_message_content参数和handle_errors参数

采用ToolStrategy策略处理结构化输出时,LangChain会在消息列表末尾追加一条Tool_message,让整个链路完整。但实际上没有实际的工具执行,这是一条伪消息。ToolStrategy通过其handle_errors参数 提供了结构化过程错误处理策略。

2026-08-11 09:48:46 138

原创 langchain1.X学习笔记-17-智能体高级用法之详解ToolStrategy策略的schema参数

schema参数支持Pydantic模型、TypedDict 、 JSON Schema、 数据类(@dataclass) ,同时还支持联合类型Union[类型1, 类型2] (允许模型根据输入内容选择最匹配的数据结构)。

2026-08-07 16:08:38 24

原创 langchain1.X学习笔记-16-智能体高级用法之名称、系统提示词和四种结构化输出的策略

create_agent(name,system_prompt,response_format)。设置Agent名称,可选地传入系统提示词(Str类型或SystemMessage类型),结构化输出的四种策略【ProviderStrategy、ToolStrategy(推荐)、AutoStrategy、None】。

2026-08-03 10:17:59 141

原创 langchain1.X学习笔记-15-智能体的基本用法

所有Agent的创建方式统一为一个入口:create_agent(),底层基于LangGraph实现,传入模型对象,调用invoke,返回完整的消息列表messages。只有接入了一些工具,create_agent创建Agent才算完整,支持静态和动态(借助中间件)绑定两种方式。

2026-08-03 09:58:06 98

原创 langchain1.X学习笔记-14-结构化输出对比四种schema定义方式在数据格式不匹配时的处理方式

用Pydantic定义schema,在接收到响应后会进行校验,字段不匹配则抛出异常,其余三种方式均输出字典并且不校验。

2026-08-02 14:31:28 30

原创 langchain1.X学习笔记-13-结构化输出模式2:TypedDict和模式3:JSON Schema和模式4:@dataclass

结构化输出的四种模式:Pydantic、TypedDict、JSON、@dataclass,模型绑定with_structured_output。

2026-08-02 14:28:59 174

原创 langchain1.X学习笔记-12-结构化输出模式1:Pydantic返回类实例

四种输出的schema模式:(1)Pydantic(类实例)、(2)TypedDict(字典)、(3)JSON Schema(字典)、(4)dataclass(字典)。模型对象可以调用with_structured_output()绑定输出模式(schema),稳定性高度依赖于底层模型是否原生支持Structured Outputs(结构化输出)。

2026-07-31 10:01:42 43

原创 langchain1.X学习笔记-11-工具Tools的如何强制使用工具和实践经验总结

bind_tools可以传递参数tool_choice ,用于控制是否强制使用工具,国内模型对其的支持并不是特别好。有一些实践的经验总结:(1)工具需要描述清晰、(2)功能要单一、(3)处理失败的情况、(4)要返回字符串、(5)同步或异步的选择。

2026-07-31 09:40:26 118

原创 langchain1.X学习笔记-10-工具Tools的应用案例

create_agent之所以比单纯使用model.bind_tools()效果好,单纯绑定工具,模型只是一个被动的“工具调用器”;而 create_agent将其升级为了一个主动的“问题解决者”。

2026-07-30 10:44:25 398

原创 langchain1.X学习笔记-9-工具Tools的定义方式2使用@tool

@tool(description="",parse_docstring=True,name_or_callable="",args_schema=None)。description定义工具描述;parse_docstring是否解析docstring;name_or_callable定义工具名称,可以与函数名称不一致;args_schema定义复杂的参数说明(两种方式:Pydantic或JSON)。

2026-07-30 09:43:25 144

原创 数据分析-88-手把手教你在WSL中部署IotDB的AINode之最新版本2.0.10相关时序模型介绍

介绍了DataNode的数据模型:树模型和表模型。AINode中内置两类模型:传统时序模型和时序大模型。开源版 2.0.10 对内置大模型,无论树模型还是表模型,都是单变量预测。介绍了两种数据模型下的调用语法。

2026-07-29 15:37:18 21

原创 langchain1.X学习笔记-8-工具Tools的定义方式1不使用@tool

步骤1:模型绑定工具,步骤2:模型生成工具调用请求,步骤3:开发者手动执行工具,步骤4:将工具执行结果ToolMessage传递给模型生成最终结果。不使用@tool修饰的函数,需要手动拼接ToolMessage。Agent通过工具的这些注释docstring(遵循Google风格)来理解工具的用途和调用时机,因此清晰、准确的文档字符串是工具能被正确调用的前提。

2026-07-29 09:58:58 241

原创 langchain1.X学习笔记-7-提示词模板

在LangChain开发中,构造提示词既可以直接使用Python字符串拼接(如f-string、format()或+),也可以使用LangChain提供的PromptTemplate或ChatPromptTemplate【推荐】。

2026-07-29 09:33:23 130

原创 langchain1.X学习笔记-6-消息的四种类型和两种格式

四种消息类型:系统消息system、用户消息user、助手消息assistant、工具调用消息tool。两种消息格式:JSON格式和对象格式。对话历史优化,只保留最近N轮对话。如果需要发送的不只是文本,如多模态内容,则需要content的字典列表形式。

2026-07-28 10:44:16 244

原创 langchain1.X学习笔记-5-LangSmith的使用

LangSmith是LangChain生态系统中专门用于LLM(大语言模型)应用调试、监控、评估和管理的平台。配置环境变量即可自动向平台推送相关信息,然后访问SaaS版本的https://smith.langchain.com/。

2026-07-28 10:32:40 123

U盘安装Windows7系统步骤.docx

制作系统盘,安装操作系统,同时对系统进行分区操作。主要是用于解决windows操作系统出问题的情况下,以最简单的方式,安装需要的操作系统。

2020-07-07

网络协议7层模型和4层模型

网络协议7层模型和4层模型

2021-02-17

数据库-MySQL中文显示问题.docx

创建mysql数据库中的表时,因为没有设置编码方式,导致数据库中的中文出现乱码,影响查询时显示的效果,通过文中的方式,解决此问题。

2020-07-01

空空如也

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

TA关注的人

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