自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LangChain学习

除了预置工具,还可以用 @tool 装饰器创建自定义工具,把普通函数变成AI能用的工具Agent自动判断什么时候用,用哪个工具示例代码:实现了 AI 智能体 + 自定义加减乘工具,让 AI 能自动调用你写的函数完成计算任务。

2026-04-23 15:25:59 389

原创 Agent相关问题整理学习

关键指标之一是自定义的ProcessingMode评估器:比如用户问 “查余额” 这种简单问题,如果 Agent 调用了复杂的 Planner 链路,而非直接走 API 查询,即使答案正确,在测试中也会判定为失败,因为这浪费了 Token 和时间,影响系统整体效率。设计了一个while循环,当Code Interpreter 返回 Error时,不直接把错误抛给用户,而是把错误信息 + 之前的代码重新喂给LLM,提示它,这段代码报错了,

2026-04-21 14:06:33 313

原创 playwright学习

微软开发,基于Devtools协议的浏览器自动化工具,支持浏览器Chrome、Edge、Firefox、WebKit(Safari 内核)。支持多种语言,Node.js、TypeScript/JavaScript、Python、.NET、Java。官网:https://playwright.dev/

2026-04-16 17:52:31 310

原创 获取vector中最大值及索引

【代码】获取vector中最大值及索引。

2026-04-15 17:45:08 21

原创 Elasticsearch使用学习

Elasticsearch 可以理解为一个擅长检索和分析的分布式文档数据库,同时也是一款开源、高可扩展的分布式全文检索引擎,完全开源免费,非常适合海量文本数据的快速存储与检索。由于 ES 基于 Java 开发,传统安装需要预先配置 JDK 1.8 及以上环境。不过从 Elasticsearch 7.0 开始,安装包已内置适配的 OpenJDK,无需再单独安装和配置 Java 环境,部署更加简便。官网:https://www.elastic.co/cn/downloads/elasticsearch。

2026-04-09 13:44:35 249

原创 Qwen-Agent 内置RAG学习

Qwen-Agent的内置rag系统,默认基于BM25 关键词检索算法实现文档匹配,是轻量级内存式RAG,Assistant 传入files参数即激活内置 RAG,适合小批量文件处理。【内存加载流程】1、文档解析与分块doc_parser(qwen_agent\tools\simple_doc_parser.py)按文件后缀pdf、txt、docx等解析文件,按默认500字符将文本切分成多个文本块,生成{page_content, metadata}的字典列表2、内存存储。

2026-04-08 17:05:18 51

原创 LangSmith学习

LangSmith 是 LangChain 官方推出的 LLM 应用全生命周期开发平台,核心定位是为基于 LangChain/LangGraph 构建的大模型应用提供端到端的可观测性、调试、测试与评估能力,解决 LLM 应用开发中「黑盒难调试、性能难监控、效果难评估」的核心痛点。

2026-04-03 13:17:19 335

原创 Base64学习

2、后端把图片信息base64数据嵌入到API响应中,前端负责显示。1、邮件的附件,附件内容原始文件是base64编码。为了把二进制内容安全转成文本字符串。为什么会有base64呢?

2026-04-02 15:11:58 54

原创 MCP学习

FastMCP 是 Python MCP SDK 中的轻量级服务器框架,特点如下:自定义MCP server安装依赖:# 1. 初始化FastMCP服务(仅1行)# 2. 注册工具:文本统计(自动发现,无需额外配置)"""统计文本的字符数、行数、单词数:param text: 需要统计的文本内容:return: 结构化统计结果"""return (f"文本统计结果:\n"f"总字符数(含空格/标点):{char_count}\n"f"总行数:{line_count}\n"

2026-04-01 09:33:18 362

原创 Function Call学习

1、使用 @register_tool(工具名) 注册工具2、定义类继承BaseTool,自定义工具类必须继承这个基类,基类提供了call方法规范、参数解析、异常捕获能力3、description定义工具的描述,这是给大模型看的说明书,模型根据描述判断什么时候调用这个工具4、def call 是模型真正调用的函数,工具的执行入口,params模型传过来的参数(字典或json字符串),返回值必须是str。

2026-03-31 11:15:58 214

原创 RAG相关问题整理学习

向量检索是语义匹配,BM25是关键词匹配向量检索缺点:可能匹配不准1、对精确关键词匹配不敏感 (如产品型号、人名)比如产品型号、人名、编号、术语,只看语义相似度,不看字面是否完全一致。2、容易匹配不准,甚至漏掉字面完全匹配的内容语义相似但实际不是同一个东西,也会被召回混合检索 = 向量检索 + BM25匹配,结合向量检索和关键词匹配相结合。【示例】缺点 1:对精确关键词、编号、型号不敏感例子:文档里有:“苹果 15 Pro 电池容量 4400mAh”

2026-03-25 15:13:16 358

原创 用户帐户限制(例如,时间限制)会阻止你登录。请与系统管理员或技术支持联系以获取帮助。

核心原因是‌被远程的计算机账户密码为空‌,且系统安全策略默认禁止空密码账户进行远程登录。

2026-03-23 14:58:42 121

原创 RAG系统-高效召回学习

Vector (向量/语义检索, 如FAISS): 能够理解词语间的语义关系,即使查询词与文档用词不同,也能找到意思相近的内容。通过大模型将用户原始问题改写为多个语义等价、视角不同的查询,分别检索后合并结果,解决单一查询漏召回、用户表述不规范的问题。这个方案思路相当于用混合检索,比如检索了30个,再用Rerank模型精细匹配,提高召回精度。混合检索要快一些,rerank检索要慢一些,所以要先混合检索 再rerank检索。融合 BM25(关键词)和 FAISS 向量检索(语义),平衡召回率和精准度。

2026-03-20 11:02:37 450

原创 RAG系统知识库本身的能力建设学习

上海迪士尼乐园位于上海市浦东新区,是中国大陆首座迪士尼主题乐园,于2016年6月16日开园。乐园占地面积390公顷,包含七大主题园区:米奇大街、奇想花园、探险岛、宝藏湾、明日世界、梦幻世界和迪士尼小镇。解决思路:用AI为每个知识切片生成多样化的问题,通过用户提问与原文、生成的问题匹配,俩种检索方式,提高检索的准确率。(类型: 条件问, 难度: 中等)4. 与全球其他迪士尼乐园相比,上海迪士尼乐园有什么特别之处?(类型: 对比问, 难度: 中等)(类型: 间接问, 难度: 中等)

2026-03-20 10:39:54 44

原创 glog_v0.7编译及使用

glog是Google开源的C++日志库,线程安全的。

2026-03-19 11:15:16 722

原创 判断一个文件最后修改时间是否超出了指定天数

【应用场景】缓存管理: 用于验证缓存文件是否过期,决定是直接使用还是重新生成。数据备份: 用于识别新增或修改过的文件,以便执行增量备份。清理临时文件: 用于自动删除系统中超过保留期限的无用临时文件或日志。监控与告警: 用于检测关键文件是否长时间未更新,以判断服务或流程是否异常。任务调度: 用于确保下一个任务仅在必要的输入数据足够新时才被执行。软件授权: 用于检查授权文件的时效性,以验证许可证或试用期是否有效。

2026-03-17 16:33:37 21

原创 NoteBookLM学习

NotebookLM 是 Google推出的基于Gemini 模型的私人多模态知识库AI助手。网址:https://notebooklm.google.com/需要正确上网!!!!1、每个Notebook最多50个文件,每个文件最多包含50万字或200兆字节的数据。用户可以上传多达2500万字的文本来创建特定学习主题的笔记本。2、NotebookLM可以组织信息、总结关键事实,回答用户的问题,并制作成播客。

2026-03-17 11:27:00 613

原创 检测系统日期是否发生变化

【代码】检测系统日期是否发生变化。

2026-03-16 16:13:28 23

原创 基于Windows消息跨进程读取 TreeView 节点文本和矩形

代码基于windows消息TVM_HITTEST、TVM_GETITEMW、TVM_GETITEMRECT等跨进程读取TreeView节点文本和矩形。代码属于demo功能验证级别,可以跑通,主要实现如下功能:1、跨进程通过屏幕坐标定位 TreeView 控件指定节点;2、获取指定 TreeView 节点的文本内容;3、获取节点整体矩形区域及仅文本部分的矩形区域(含相对 / 屏幕坐标转换);4、遍历 TreeView 根节点下一级子节点,批量提取节点文本与矩形信息。

2026-03-13 17:26:47 28

原创 RAG学习、RAG问答demo搭建

收集并整理文档(pdf、doc、xlsx、txt等)、网页、数据库等数据,去除乱码、多余空格,统一编码、格式、标点、无效信息,确保数据完整性。1、大模型是有窗口大小限制的,比如:不能把几万、几十万页的文档及用户问题塞给LLM,必须通过检索出相关信息,再进行输入。2、知识是私有的,比如:公司的内部文档、业务数据,大模型是不知道的,此时可以做成一个RAG知识库,配合大模型使用。3、时效性问题,比如:大模型训练的数据是静态的,无法涵盖最新消息,RAG可以检索最新外部数据。

2026-03-11 17:18:22 333

原创 向量数据库FAISS学习

存储和查询向量的数据库,向量可以从文本、图片、音视频转化而来,核心能力是高效的相似性检索。向量数据库的价值1、为大模型提供长期记忆:弥补LLM上下文窗口长度限制和、解决知识过时问题。用户提问时,先去向量库搜索相关内容,把搜索到的内容和用户问题一起塞给大模型,模型回答用户问题。2、私有知识库问答、语义搜索:将企业内部文档、产品信息等转化为向量,实现基于语义的智能检索3、推荐系统、以图搜图等场景用向量相似度做召回、排序和传统数据库的区别:不精确匹配,找最像的。

2026-02-28 17:23:43 419

原创 word Embedding、Word2Vec学习

word Embedding 将自然语言单个词向量化,转换完向量可以进行计算了(比如:相似度计算)。word2vec是一个简化版的embedding训练工具,训练时语料越多、质量越高,训练后的模型越准确。百炼平台、魔搭平台上有预训练好的embedding模型,可以直接使用,不用自己从头训练,图片和文字的embedding模型是不同的,意味着你不能用文字的embedding模型去处理图片。embedding模型和LLM是完全不一样的,

2026-02-28 10:55:10 1137

原创 teamtalk登录用户名、密码写配置文件学习

在teamtalk登录界面中,当用户点击"登录"按钮时,系统将执行一系列操作,其中包括一个写配置文件的动作。此动作负责将用户在界面上输入或选择的信息保存到配置文件中(用户名、密码、记住密码勾选状态,服务器ip地址等信息)。这个配置文件的作用:程序下次启动时,能够自动从配置文件中读取并加载之前保存的信息,提升用户体验。登录按钮对应的代码如下,其中写配置文件的代码是。

2026-02-27 16:56:56 902

原创 计算字符串的md5值

调用openssl的接口实现。

2026-02-25 18:00:01 36

原创 YOLO学习

YOLO可以从给定的图片中找物体(比如:人、车、猫),用矩形框和类别标签,标出所有被识别出的物体,主流的YOLO代码实现是基于PyTorch框架编写的。最新版本YOLOv12,https://github.com/sunsmarterjie/yolov12。

2026-02-24 14:22:41 994

原创 TensorFlow学习

谷歌开发的开源机器学习框架,高效、便捷地实现神经网络。TensorFlow把前向传播、反向传播、参数更新这些复杂容易出错的底层步骤全部封装起来了,只需调用简洁的API,就能完成模型的搭建和训练。

2026-02-12 10:04:46 773 1

原创 用清华源安装python模块

i:指定一个镜像源。

2026-02-11 15:33:09 249

原创 单线程任务队列实现(C++代码)

【代码】单线程任务队列实现(C++代码)

2026-02-10 17:50:40 33

原创 TeamTalk登录流程学习

获取用户名、密码,封装成DoLoginServerHttpOperation,放到HTTP 处理线程池,交给工作线程处理。HTTP 处理线程池,是生产者-消费者模式,是生产者,向队列插入任务,高优先级插入队列头,其次插入队尾,_launchThread创建线程(如果已经达到了最大线程数,不会创建新的线程),发出信号,让工作线程执行任务。TTHttpThread::process是消费者,从队列头部获取任务执行。

2026-02-09 17:47:12 570

原创 创建代理、后台隐藏窗口(C++代码)

HWND_MESSAGE:CreateWindowEx 函数会创建一个不可见的窗口,这个窗口不会显示在屏幕上,也不会有 Z-order(堆叠顺序),但它仍然拥有自己的窗口过程 (WndProc),可以接收发送给它的消息。移除WS_EX_NOACTIVATE:该窗口不会获得焦点或激活,确保对用户不可见且不干扰交互。移除WS_EX_TOOLWINDOW: 用于吟唱窗口的样式,通常不会在任务栏显示。客户端编程中有时需要创建代理窗口,用于线程间通信、用于进程间通信。1、调用CreateWindow创建窗口。

2026-02-06 17:21:30 70

原创 激活窗口,窗口前置(C++代码)

如果你的窗口线程不是前台线程,直接调用SetForegroundWindow大概率会失败。做了严格限制:只有当前前台窗口所在的线程,才能随意激活其他窗口。Windows 系统为了防止窗口恶意抢占焦点,

2026-02-05 17:47:57 53

原创 查询glibcxx版本

【代码】查询glibcxx版本。

2026-02-05 17:38:10 135

原创 分析式AI学习

AI分为分析AI、生成式AI有什么区别呢分析式AI,通过现有数据训练模型,让模型有能力预测新数据的决策。生成式AI,让AI生成某种结果,比如:写一段代码,生成一段文字。

2026-02-05 15:27:46 551

原创 设置socket选项SO_REUSEADDR

服务器监听 socket 设置 SO_REUSEADDR,是为了解决重启服务器时,端口因 TIME_WAIT 状态被占用,导致监听失败的问题。第四步,主动关闭放(A),收到FIN包,回复ACK包,A进入TIME_WAIT状态,通常2MSL,B收到ACK包直接关闭。第二步,被动关闭方(B),收到FIN,回复ACK包,B进入CLOSE_WAIT状态。第五步,2MSL超时后,A从TIME_WAIT进入CLOSED状态,端口释放。第一步,主动关闭方(A),先发送FIN包,进入FIN_WAIT_1状态。

2026-02-04 18:16:56 246

原创 TeamTalk-msg_server学习

消息服务器:提供客户端大部分信令处理,直接处理或转发给其他服务(比如:聊天、传输文件等)可以在部署在不同机器上,通过RouteServer(路由服务器),为登录在不同MsgServer的用户提供消息转发功能。

2026-02-04 17:34:18 695

原创 Chromium-141代码拉取编译(windows平台)

Extended: 长期支持版本,面向企业和需要长期稳定的用户Stable:稳定版,普通用户默认使用的版本Beta:测试版本dev:开发版本,面向开发者版本,更新频率高,功能变化大Canary/Canary (DCHECK):金丝雀版本,chromium最前沿的版本,每日构建,包含最新的实验性代码,仅用于开发测试,不适合日常使用。1、一台配备至少 8GB 内存的 x86-64 架构计算机,强烈建议内存超过 16GB。

2026-02-02 15:30:36 1084

原创 GetTickCount

time(nullptr):获取1970/1/1到当前的时间戳(秒数),是utc时间,受系统时间影响。GetTickCount()类函数:获取系统启动到当前的毫秒数,是单调递增的,不受系统时间修改影响。有些业务中需要计算时间,比如:心跳包场景、业务代码运行时长。

2026-01-28 15:09:09 58

原创 Docker Desktop 启动报错“Virtualization support not detected“

1、勾选适用于Linux的Windows子系统 或 Hyper-V(启用一个就可以,建议:适用于Linux的Windows子系统)参考链接:https://blog.csdn.net/u014650004/article/details/154840897。3、管理员运行powshell,执行如下命令,能看到相关开关状态,如果没开就去开下。4、至此,Docker Desktop 启动成功。

2026-01-28 11:23:39 488

原创 TeamTalk-login_server学习

LoginServer 承担登录请求分发器的角色,核心职责是为客户端匹配并返回当前负载最小的可用 MsgServer连接信息,同时实时维护集群中所有 MsgServer 的运行负载数据(含最大连接容量、当前在线用户数);当前时间 > 最后一次发送数据时间(m_last_send_tick) + 心跳间隔(SERVER_HEARTBEAT_INTERVAL),立即向对端发送心跳包。1、init_login_serv_conn连接login_server。8100端口:监听msg_server的连接。

2026-01-27 17:32:30 498

原创 *:端口 & 127.0.0.1:端口

监听本机所有ip地址(包括127.0.0.1、内网ip、外网ip),本机 + 其他机器都能通过ip连接。只监听本机回环地址,只能本机连接,其他机器无法连接。

2026-01-27 16:45:59 99

Dependencies在win10下查看exe、dll依赖文件

1、微软官方有提供depends,可以查看exe文件的依赖库,win10下使用会卡死 2、Dependencies在win10下使用是正常的 3、下载后,运行DependenciesGui.exe

2026-04-09

C++ 使用 ActiveX 控件构建 Windows RDP 客户端

1、Windows 平台上使用 C++ 和 WTL 库,封装 Microsoft 远程桌面 ActiveX 控件 (MsRdpClient),构建一个轻量级的 RDP 客户端 2、利用 COM (Component Object Model) 接口(如 IMsRdpClient9, IMsRdpClientNonScriptable5, IMsTscAxEvents)来创建、配置 RDP 控件,并管理其生命周期和事件 3、通过实现 IMsTscAxEvents 接口,创建事件监听器 (RdpSessionSink),以异步方式捕获并处理远程桌面会话的关键状态变化(如连接中、已连接、断开等)

2026-03-31

glog-v0.7.0 改造:统一日志文件 + 自定义文件名 + 新增时间滚动规则

【修改源码如下】 1、所有日志都写到info日志文件中,不再生成waring、error日志文件 2、优化生成文件名,如下 原逻辑:日志文件名为:[程序名].[主机名].[用户名].log.[级别].[时间戳].[进程ID] 新逻辑:日志文件名为:进程名 + 进程id + 日期 3、生成新日志文件,添加条件:"当系统时间发生变化,生成新的日志文件" 4、改动文件是logging.cc,可以和线上的文件对比,就知道改什么了 编译及使用可以看我的文章: https://blog.csdn.net/GHL284271090/article/details/159169334?sharetype=blogdetail&sharerId=159169334&sharerefer=PC&sharesource=GHL284271090&spm=1011.2480.3001.8118

2026-03-20

resource-hacker

是一款免费工具,用于查看、编辑、提取 Windows 可执行文件(.exe、.dll 等)中的资源,如图标、位图、对话框、字符串、版本信息等。常用于修改程序图标或调试资源问题。 官网下载地址: http://www.angusj.com/resourcehacker/#download

2025-12-02

apimonitor-x86 apimonitor-x64

apimonitor可以监听api调用 这里提供的x86、x64版本

2025-11-05

使用zlib静态库封装压缩、解压缩接口(C++源码)

1、使用zlib静态库封装压缩、解压缩接口(C++源码) 2、这个只是个demo,可以拷贝到项目中直接使用 3、带vs工程配置文件

2025-10-27

实现窗口全屏、退出全屏的demo

1、实现窗口全屏、退出全屏的demo 2、vs2017编译、调用Win32 API实现 3、可下载,直接编译运行 4、窗口风格可根据实际业务场景调节

2025-10-27

nginx的windows编译,用vs2017编译nginx,带vs工程配置文件,可直接调试 有想学习nginx源码或http相关流程,可下载在windows上用vs调试学习学习

1、用vs2017编译nginx,带vs工程文件,可直接调试 2、想学习nginx的http相关代码,可下载调试学习学习 3、nginx监听端口号,我修改为8080了 4、用vs启动nginx,在http相关接口中下断点;在浏览器中输入http://127.0.0.1:8080回车,断点会命中,即可学习 5、nginx版本是1.26.3 6、vs工程配置文件在根目录/build/nginx 7、如果报错 error MSB8036: 找不到 Windows SDK 版本10.0.26100.0。右键vs工程配置文件,修改下Windows SDK版本,可能10.0.26100.0你本地未安装,换成你本地安装的版本。

2025-07-26

使用Windows API和WTL技术,实现在屏幕上创建透明的、置顶的、鼠标穿透的窗口,并在该窗口上绘制一个中空矩形(源码)

1、在屏幕上创建透明的、置顶的、鼠标穿透的窗口,并在该窗口上绘制一个中空矩形 2、带vs工程文件,可编译调试 3、使用Windows API和WTL技术 4、多线程安全的 5、使用vs2017及以上版本编译 6、如有需要可把相关模块,直接移入项目中 7、如果编译报错:error MSB8036: 找不到 Windows SDK 版本10.0.26100.0 解决方案:请安装所需的版本的 Windows SDK 或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更改 SDK 版本。

2025-07-23

breakpad源码(有windows工程配置文件,可以直接用vs2010打开编译)

breakpad源码,有windows工程配置文件,可以直接用vs2010打开编译, 不需要用gyp工具在重新生成;

2018-05-31

vs2015 运行时库

vs2015生成的exe运行时所依赖的运行时库,以及运行环境,包含x86,x64

2018-02-24

chrome68 原生安装包.exe

1、chrome68 原生安装包 2、win7 win10 xp 都可以正常安装

2019-10-31

procexp.exe

比系统自带任务管理器强大很多,可以查看各进程资源,可以查看线程运行情况,很好用

2018-03-06

空空如也

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

TA关注的人

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