自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 【LangChain 1.2 实战(八)】Agent Middleware 实战 —— 动态路由、监控、安全与容错

✅ 自适应模型选择(成本优化)✅ 全链路调用日志(可观测性)✅ 敏感词过滤与合规声明(安全性)✅ 工具/模型调用自动重试(鲁棒性)✅ 知晓 LangChain 开箱即用的中间件库,随时可扩展的生产级雏形。这一切只新增了两个中间件文件,并在agent.py中添加了几行配置。Agent 的核心逻辑、工具实现、入口脚本均保持原样。这就是 LangChain 1.2 中间件的设计哲学:把非功能需求从业务代码中剥离,以可组合、可排序、可拔插的方式“挂载”到 Agent 上。

2026-05-06 22:10:51 441

原创 【LangChain 1.2 实战(七)】 多工具调用

用户说的话AIMessage:模型的回复:工具执行后的结果,必须通过它送回模型然后用@tool装饰器定义两个工具。每个工具的函数文档字符串至关重要,模型会根据它来判断何时、如何调用该工具。@tool"""获取指定公司的股票价格信息Args:company: 公司名称(如:苹果公司, 微软公司, 谷歌公司)timeframe: 时间范围(today-今日, week-本周, month-本月)"""

2026-05-05 20:04:55 440

原创 【LangChain 1.2 实战(六)】 工具调用 (Function Calling)

工具就是一个普通的 Python 函数,但我们用@tool装饰器标记它。函数的文档字符串至关重要,模型会根据它来理解工具的功能和使用方法。@tool"""查询指定城市的实时天气情况。参数 location:城市名称,例如 '北京'。""""北京": "晴,温度 22°C,湿度 40%","上海": "多云,温度 25°C,湿度 70%","深圳": "阵雨,温度 28°C,湿度 85%",return weather_data.get(location, f"未找到。

2026-05-05 19:00:44 385

原创 【LangChain 1.2 实战(五)】模型初始化与调用

LangChain 提供了两种方式来初始化聊天模型:传统的和官方推荐的**函数方式**。根据官方文档,是LangChain 1.2+版本中"开始使用独立模型的最简单方法"。

2026-05-04 19:06:45 311

原创 【 LangChain 1.2 实战(四)】构建一个模块化的天气查询 Agent

通过一个天气查询 Demo,实现如何使用 LangChain 1.2 的 create_agent新接口快速构建一个能够调用工具的智能助手。项目采用模块化设计,将配置、模型、工具、Agent 分层解耦,不仅易于理解,更便于未来扩展和维护。如何搭建一个结构优雅的 Python AI 项目如何使用 LangChain 1.2 的一键创建能使用工具的 Agent如何设计可扩展的工具目录,并让 Agent 自动调用为什么分层目录结构对长期项目至关重要。

2026-05-04 16:01:01 374

原创 【LangChain 1.2 实战(三)】从环境搭建到第一个 Agent

我们之前已经通过直接在 Windows 系统环境变量中配置 API Key,用最简单的方式运行了第一个 LangChain Demo,对它的基本调用流程有了初步感受。为了考虑不同项目间的依赖隔离、环境可复现以及密钥的安全性,我们现在使用 Anaconda 创建独立的 Python 虚拟环境,并改用 .env 文件来统一管理 API 密钥。这样做既避免了系统变量污染,也让项目分享和部署更加可靠。下面就从零开始,一步步完成基于 Windows + PyCharm 的 LangChain 快速上手。

2026-05-04 13:42:08 407

原创 【LangChain 1.2 实战(二)】快速 入门 Demo

这段 Demo 代码虽然短,但已经包含了 LangChain 1.2 最核心的三大功能模块:提示模板、模型交互和链式组合(LCEL)

2026-05-04 09:32:06 361

原创 【LangChain 1.2 实战(一)】 概述

LangChain是一个开源的开发框架,旨在帮助开发者高效构建和部署基于大型语言模型(LLM)的应用程序。它通过提供模块化组件和工具链,简化了LLM的集成、上下文管理、任务编排和外部工具调用。LangChain支持多种编程语言(如Python),广泛应用于聊天机器人、知识库系统、自动化代理等场景。其设计哲学是“可组合性”,开发者可灵活组合组件,快速构建可靠应用。

2026-05-03 22:06:18 305

原创 【经验分享(一)】Centos 7.9 安装 MySQL 8.0.32

这里需要修改以下安装目录的权限,由于我们使用 mysql 用户运行数据库,所以,要把安装目录的拥有者改为 mysql,如果系统没有,需要添加 mysql 用户及分组,我们只使用 mysql 运行程序,所以指定了 mysql 禁止登录,增加安全性。复制解压后的文件到到要安装的目录,我要把 MySQL 安装到 /usr/local/mysql,所以,运行以下命令,把解压后的文件复制过去。pid 文件 pid-file=/usr/local/mysql/mysqld.pid。配置目录 /etc/my.cnf。

2026-02-22 16:01:01 847

原创 统一用户测试环境虚拟机换环境IP之后改配置

一、/app/iam-apps/common.properties。二、将IP变更到iam数据库sys_company中。

2025-04-20 10:12:03 162

原创 idea中导入从GitHub上克隆下来的springboot项目解决找不到主类的问题

原文链接:https://blog.csdn.net/m0_74036731/article/details/146779040解决方法(idea中解决):①:打开idea ->Settings -> Build,Execution, Deployment -> java Compiler 选择对应的jdk版本②:Settings -> Project Strcture -> Project 选择对应的jdk。

2025-04-20 08:19:20 570

原创 【北京大学】徐高《金融经济学二十五讲》

一项资产是由过去的事件所形成的为某实体所掌握的资源,这一资源预计未来会给这一实体带来经济利益。

2024-03-14 17:06:44 2952

原创 Vue 中组件通讯的方式

Vue 中组件通讯的方式有多种,可以根据不同的场景选择合适的方式进行通讯。在实际应用中,根据具体的业务需求和组件关系,可以结合以上方式进行灵活的组件通讯,以实现数据传递和事件触发等功能。

2024-03-05 11:33:34 571

原创 【前后端分离的博客项目(一)】项目的概况

一、

2024-02-22 09:27:17 505

原创 【springboot+vue项目(十六)】基于Oauth2的SSO单点登录(三)Springboot+SpringSecurity+Jwt 整合Aouth2.0

处理回调请求:当第三方认证系统完成认证并将用户重定向回你的应用程序时,你需要处理回调请求。添加依赖项:在项目的构建文件(如Maven的pom.xml)中添加适当的依赖项,例如Spring Security OAuth2依赖。:如果你希望将第三方认证系统返回的用户信息映射到Spring Security的用户模型中,你可以实现。处理登录请求:在你的控制器中,处理用户登录请求,并使用Spring Security的。接口的类,用于加载用户信息。,并在其中配置授权服务器的细节,如客户端信息、令牌存储等。

2024-02-16 00:31:12 1236

原创 【springboot+vue项目(十五)】基于Oauth2的SSO单点登录(二)vue-element-admin框架改造整合Oauth2.0

第三步拿token放到请求头(在请求拦截器中),头信息根据约定好的具体修改,根据提供的接口发请求, 就会返回用户信息对象{},拿到用户放cookie。第一步前端拿到后端传来的token ,我们放到cookie里(用中间页存token,处理一些逻辑)第二步取cookie中的token 实现登录(permission.js中修改逻辑)还有一个前端实现登出,点击退出,删除用户信息以及token。第四步就是从cookie中拿到用户信息,渲染到页面上。

2024-02-16 00:26:01 2220 1

原创 【springboot+vue项目(十四)】基于Oauth2的SSO单点登录(一)整体流程介绍

温馨提示:此过程为大概流程,后面将分前端和后端部分详细介绍如何 改造原项目。温馨提示:如果是接入到。基于oauth2.0的。

2024-02-16 00:23:38 1745

原创 HDFS 常用shell命令

-h以人类友好的方式显示大小(过大时带单位)#注意./hosts是下载后保存到本地的位置。#注意:如果其中还有文件则不能删除。#修改文件名字或移动位置。#注意:只能查看文件文件。

2024-01-04 16:34:36 573

原创 【大数据(一)】hadoop2.4.1集群搭建(重点)

解压到 Hadoop/apps : tar -zxvf hadoop-2.6.4.tar.gz -C /home/hadoop/apps。进入目录:cd /home/hadoop/apps/hadoop-2.6.4/etc/hadoop。alt+p 后出现sftp窗口先上传hadoop的安装包到服务器上去/home/hadoop/直接修改 /etc/sysconfig/network-script/ifcfg-eth0。注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop。

2024-01-04 16:33:06 1188

原创 【springboot+vue项目(零)】开发项目经验积累(处理问题)

【代码】【springboot+vue项目(零)】开发项目经验积累(处理问题)

2024-01-02 11:17:28 623

原创 【springboot+vue项目(十二)】文件上传状态管理

通过上述方案,可以搭建一个完整的文件处理和实时日志展示系统。后端使用Spring Boot框架提供API接口和WebSocket功能,使用easyexcel库实现文件解析和数据校验,使用MySQL存储文件处理的结果和日志信息。前端使用Vue和Element UI构建用户界面,实现文件上传和实时日志展示。通过WebSocket实现实时日志的推送功能,并使用定时任务和Spring Security等辅助功能增强系统的性能和安全性。

2024-01-01 22:03:59 1101

原创 【springboot+vue项目(十一)】springboot整合EasyExcel

EasyExcel是阿里巴巴开源的一个Java库,用于操作Excel文件。它提供了简单易用的API,可以读取、写入和转换Excel文件,支持大量数据的导入和导出操作。

2024-01-01 10:10:12 1015 2

原创 【Python学习笔记(一)】安装Python和pycharm以及配置环境

一、学习项目王道系列课程(18、2022年王道python--百度云)二、安装解释器python-3.11.6-amd64.exe三、安装PytharmPyCharm 2023.1.zip四、设置主题One Dark theme五、第一个 Python 程序请参考Python开发者人手一份的最全Pycharm设置与创建 - 知乎Pycharm创建项目和Python文件 Pycharm相关设置 Pycharm第三方库安装

2023-12-01 15:37:45 413

原创 【springboot+vue项目(十)】springboot的增删改查

基于Spring Boot框架的上传日志表控制器,一些常见的CRUD(创建、读取、更新、删除)操作接口,UploadFileService继承自IService接口的一个服务接口。该控制器依赖于服务对象,通过Autowired注解进行注入。

2023-08-10 10:30:28 1596

原创 【springboot+vue项目(九)】 EasyCode代码模板

EasyCode 是一个可视化的编程工具,可以帮助快速生成代码,减少手动编写代码的工作量。它提供了模板、自动补全、拖拽等功能,使编码过程更加高效和便捷。

2023-08-10 09:56:18 598

原创 【前端VUE基础(九)】路由传参:params参数和query参数

当与后端进行数据交互时,前端常常需要将参数传递给后端API。参数传递方式有多种,其中包括params参数和query参数。本教程将介绍这两种参数传递方式,并提供示例和分析。

2023-08-04 10:38:13 1893

原创 CentOS7 离线安装 MySQL 8.0.32

CentOS7安装MySQL8(亲测无坑百分百安装成功)_李高飞的博客-CSDN博客

2023-07-25 22:06:56 352

原创 【springboot+vue项目(八)】VUE 与后端数据交互的3种方式

总的来说,该组件通过getPageList方法获取数据,使用$API.upload.reqListAllInfo方法 来请求服务器上的数据。如果请求成功,则将数据存储在uploadLogList数组中,如果 请求失败,则在控制台中输出错误信息。如果请求成功,则将数据存储在uploadLogList数组中,如果请求失败,则在控制台中输出错误信息。6、如果状态码为200,则将数据存储在uploadLogList数组中。该方法在组件创建时调用,通过将数据存储在uploadLogList数组中来更新组件的状态。

2023-07-21 11:09:16 6961

原创 【前端VUE基础(八)】Vuex 辅助函数

这些辅助函数可以帮助简化组件中访问和调用 Vuex 中的状态和方法的过程。在 Vuex 中,有几个辅助函数可以帮助你更方便地使用和管理状态、操作和获取器。将 Vuex store 中的变更方法(mutations)映射为组件的方法。将 Vuex store 中的获取器(getters)映射为组件的计算属性。将 Vuex store 中的动作方法(actions)映射为组件的方法。将 Vuex store 中的状态映射为组件的计算属性。映射为组件的方法,以及通过。映射为计算属性,并通过。

2023-07-19 20:35:35 475

原创 【前端VUE基础(七)】Vuex进行开发的一般流程

State是存储应用程序状态的地方。在Store中定义state对象,并初始化需要共享的数据。

2023-07-19 17:39:52 514

原创 【前端VUE基础(六)】组件发请求的几种方式

所以可以通过 this.$store.dispatch 来调用 Vuex 中的 actions,而不需要使用 mapActions 辅助函数将 actions 映射为组件的方法。这样可以减少代码的复杂度,使代码更加简洁。属性的对象作为参数,其中。时,需要传递一个包含。

2023-07-19 10:51:28 2384

原创 【springboot+vue项目(十三)】 Springboot整合Spring Security+JWT

Spring Security 14.2 JWT

2023-07-19 10:46:55 1234

原创 【springboot+vue项目(六)】Spring Boot项目基础配置(二)

Maven 多环境配置:使用 Maven 的 Profile 功能可以方便地在不同的环境中使用不同的配置文件,避免手工修改配置文件的问题。多环境配置文件:使用多环境配置文件可以方便地在不同的环境中使用不同的配置,如数据库连接信息、Redis 配置等。常用工具类:使用常用的工具类可以方便地实现一些常用的功能,如字符串处理、日期处理等,提高代码复用性和可读性。例如日期格式化工具、加密解密工具、字符串处理工具等,提供一些通用的方法,可以在项目中多次使用,避免重复编写。

2023-07-18 21:32:32 261

原创 【springboot+vue项目(二)】Vue(vue-cli)环境搭建

项目采用的是less样式,浏览器不识别less样式,需要通过less,less-loader【安装 六 版本的】进行处理less,把less样式变为css样式,浏览器才可以识别。因为项目大的时候src(源代码文件夹):里面目录会很多,找文件不方便,设置src文件夹的别名的好处,找文件会方便一些。(7)是否将刚才的选择保存起来,下次可以直接用,一般选择N,可以根据自己需要选择。cli5 已经设置完成,无需再次进行设置,如果旧的项目没有设置可以自己动手设置。代码格式校验(一般情况下默认勾选了,记得取消!

2023-07-18 21:27:39 1161

原创 【前端VUE基础(二)】Vue 项目中接口函数

在src/api目录下创建一个名为user.js的文件,并定义多个接口函数,例如等,使用上一步中定义的http实例发起 HTTP 请求,并返回 Promise 对象。上述代码使用 http 实例发起了 HTTP 请求,并返回 Promise 对象。可以根据项目需要定义不同的接口函数,使用不同的 HTTP 方法和 URL 端点。

2023-07-17 12:20:17 809

原创 【前端VUE基础(一)】统一接口管理

综上所述,统一接口管理的方式可以提高代码的可维护性和可读性,方便了代码的复用和管理,同时也方便了接口的测试和调试。在实际项目中,统一接口管理是一个非常好的实践方式,可以提高代码的质量和开发效率。

2023-07-17 12:03:44 1711

原创 【前端VUE基础(三)】ES6模块化语法

通过导入需要的模块,我们可以轻松地将它们组合在一起,形成更大、更复杂的应用程序。ES6 模块化使用静态解析,这意味着在编译阶段就能够确定模块的依赖关系,而不需要在运行时进行解析。使用ES6模块化语法,可以轻松地导出和导入这些工具函数。由于 ES6 模块化的静态解析特性,编译器可以在构建时就知道这个依赖关系,并正确地处理模块之间的引用。现在,我们需要在另一个模块中使用这些功能,可以通过导入这些函数并在需要时进行组合来实现代码重用。在Vue中,组件是核心的构建块之一,可以使用ES6模块化语法来导出和导入组件。

2023-07-17 11:27:23 873

原创 【前端VUE基础(四)】JavaScript箭头函数与普通函数

箭头函数(Arrow Functions)是ES6引入的一种新的函数定义方式,相对于传统的普通函数(Regular Functions),它有以下几个特点:语法简洁:箭头函数使用简洁的语法来定义函数,可以更加精炼地表达函数的意图。匿名函数:箭头函数没有自己的命名标识符,因此必须将其赋值给一个变量或者作为回调函数的参数进行使用。没有自身的this绑定:箭头函数没有自己的this绑定,它的this会继承并指向外部作用域的this,使得在箭头函数内部无法通过this访问到自身的上下文。

2023-07-13 16:20:57 771

原创 【前端VUE基础(五)】Axios 的常用语法

Axios 是一个常用的基于 Promise 的 HTTP 客户端库,可用于在浏览器和 Node.js 中发送 HTTP 请求,使用.then()来处理成功的响应,.catch()来处理错误。

2023-07-13 16:08:29 1305

原创 【springboot+vue项目(五)】Spring Boot 项目基础配置(一)

return msg;// getter/setter方法省略id:日志ID,主键,自增长。channel:日志所属的渠道,例如web、app等。name:请求的名称,例如登录、注册等。action:请求的操作,例如新增、修改、删除等。ip:请求的IP地址。method:请求的方法,例如GET、POST等。param:请求的参数。:日志的创建时间。id BIGINT NOT NULL AUTO_INCREMENT COMMENT '日志ID',

2023-07-04 15:52:12 1063

空空如也

空空如也

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

TA关注的人

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