- 博客(119)
- 资源 (6)
- 问答 (4)
- 收藏
- 关注
原创 LangGraph 实战:如何设计一个多 Agent 协作系统
LangGraph 实战教程:从核心抽象(State/Node/Edge)到 3-Agent 协作系统完整实现。详解链式/监督者/路由/群聊 4 种多 Agent 模式,附 Checkpoint 持久化、人机协作、流式输出与生产部署全流程。面向 AI 工程师的工程化实战指南。
2026-06-24 10:19:01
231
原创 2026 年 AI Agent 技术全景:12 大主流框架深度对比
2026年AI Agent框架全景横评:从架构设计、多Agent协作、工具调用、记忆管理、部署方式、生态成熟度6维度对比AutoGen/CrewAI/LangGraph/Dify/Coze/MetaGPT等12大框架,附选型决策树与实战代码对比
2026-06-23 09:13:30
395
原创 RAG 评估不再玄学:RAGAS / TruLens 量化你的 RAG 系统
本文系统讲解 RAG 系统评估的难点与开源方案:从 RAGAS 的 8 大核心指标(Context Precision/Recall、Faithfulness、Answer Relevancy/Correctness/Similarity)到 TruLens 的 RAG 三角(Context Relevance/Groundedness/Answer Relevance)反馈函数;含 4 段可运行代码、1 个完整评估流水线和 2 个企业级避坑清单,让你的 RAG 评估从凭感觉走向靠数据。
2026-06-22 22:31:05
213
原创 混合检索:向量检索 + BM25 双重保险实战
维度要点核心思想向量擅长语义,BM25 擅长关键词,双路互补才能覆盖所有查询类型融合策略优先用 RRF(无需归一化,效果稳定),加权打分适合有调参能力的团队技术选型轻量方案:LangChain EnsembleRetriever + 内存 BM25;生产方案:Milvus 2.4 原生混合检索权重经验技术文档 50:50,通用问答 30:70,电商搜索 60:40性能要求混合检索 P99 ≤ 200ms,双路可并行执行没有银弹检索,只有银弹组合。向量 + BM25,才是 RAG 检索的"标配双保险"。
2026-06-09 09:58:24
243
原创 Reranker 模型实战:让 RAG 检索精度再提升 20%
维度总结定位粗检索(Bi-Encoder)之后的精排环节核心价值利用 Cross-Encoder 捕捉 query-doc 细粒度交互,提升 Top-N 精度推荐模型BAAI/bge-reranker-v2-m3(中文开源首选)效果提升额外开销每个候选对 ~10-30ms(GPU),可控最佳实践粗检索 Top-30 + Reranker Top-5 + 阈值过滤RAG 检索质量 = 好的 Embedding + 合理的分块 + 充分的粗召回 + 精准的 Reranker四者缺一不可。
2026-06-08 10:03:45
209
原创 PDF/PPT/网页 全搞定:RAG 文档解析的 5 个难点与解法
"""Readability + BeautifulSoup 双重清洗"""# Step 1: Readability 提取正文 DOM# Step 2: BeautifulSoup 精细清洗# 移除无用标签# 移除广告容器(常见 class 名))):坑血泪教训正确做法直接用 PyPDF2 提取表格全废,公式全丢用 marker-pdf 或 Unstructured固定 512 token 切片段落截断,检索命中率暴跌标题感知 + 父子双索引图片不做描述搜不到图表。
2026-06-04 15:24:46
217
原创 干掉幻觉实战:如何构建企业级知识图谱增强 RAG
用户问:“我们公司 A 产品和 B 产品有什么区别?”——LLM 答非所问,把两个产品的特性混淆了用户问:“王总和李总分别负责哪些项目?”——LLM 编造了错误的责任关系用户问:“上季度营收下降的原因是什么?”——LLM 给出了貌似合理但实际错误的因果推断这些问题的根源不在于 LLM 不够强,而在于"向量检索"这件事本身的局限性。关系推理:A 和 B 之间是什么关系?多跳查询:A 的上级的下属有哪些?这就是为什么我们需要GraphRAG。
2026-06-03 14:53:13
195
原创 干掉“幻觉“实战:如何构建企业级知识图谱增强 RAG
用户问:“我们公司 A 产品和 B 产品有什么区别?”——LLM 答非所问,把两个产品的特性混淆了用户问:“王总和李总分别负责哪些项目?”——LLM 编造了错误的责任关系用户问:“上季度营收下降的原因是什么?”——LLM 给出了貌似合理但实际错误的因果推断这些问题的根源不在于 LLM 不够强,而在于"向量检索"这件事本身的局限性。关系推理:A 和 B 之间是什么关系?多跳查询:A 的上级的下属有哪些?这就是为什么我们需要GraphRAG。
2026-06-02 10:05:30
183
原创 RAG 加速指南:Faiss / Milvus / Qdrant 向量库选型与调优
向量数据库是 RAG(检索增强生成)系统的核心基础设施。当你的知识库从几千条增长到百万、千万级时,向量检索的性能瓶颈就会彻底拖垮你的 AI 应用响应速度。Faiss:Meta 出品的纯库,轻量但功能有限Milvus:云原生向量数据库,功能完整,生产级首选Qdrant:Rust 写的新一代向量库,性能出色,API 友好本文将从原理对比 → 性能实测 → 部署配置 → 调优指南四个维度,帮你做出最适合自己业务的技术选型。向量库最适合场景核心优势主要局限Faiss研究 / 原型验证。
2026-06-01 13:55:19
278
原创 RAG 2026 全面升级:从 Naive RAG 到 Agentic RAG
用户 Query → 向量化 → 向量库检索 Top-K → 拼接 Prompt → LLM 生成答案,每一代都是对上一代痛点的针对性解法。动态多轮检索:根据中间结果决定是否继续检索工具多样化:向量库、BM25、Web 搜索、数据库按需组合自我纠错:幻觉检测 + 自动重新生成多模态支持:不再受限于纯文本文档如果你的 RAG 系统还停留在 Naive 阶段,是时候升级了——从 Reranker 开始,逐步引入 HyDE 和混合检索,再考虑引入 LangGraph 构建 Agentic 能力。
2026-05-30 11:04:17
950
原创 RAG 2026 全面升级:从 Naive RAG 到 Agentic RAG
用户 Query → 向量化 → 向量库检索 Top-K → 拼接 Prompt → LLM 生成答案,每一代都是对上一代痛点的针对性解法。动态多轮检索:根据中间结果决定是否继续检索工具多样化:向量库、BM25、Web 搜索、数据库按需组合自我纠错:幻觉检测 + 自动重新生成多模态支持:不再受限于纯文本文档如果你的 RAG 系统还停留在 Naive 阶段,是时候升级了——从 Reranker 开始,逐步引入 HyDE 和混合检索,再考虑引入 LangGraph 构建 Agentic 能力。
2026-05-29 09:47:52
593
原创 一键部署私人 LLM:Ollama + Docker 极简指南
想用 GPT-4 级别的大模型,但不想每次都担心隐私泄露、API 费用爆表?2026 年,在自己电脑上本地跑一个媲美 GPT-3.5 的大模型,已经不是遥不可及的事情了。本文手把手带你用两种方式,10 分钟内把大模型跑在本地,全程离线,数据不出门。方式适合人群优点缺点Ollama 原生个人用户、开发者安装简单,上手快服务管理相对简单服务器部署、团队使用隔离性好,易于管理需要了解 Docker非技术用户图形界面,功能丰富占用资源更多推荐路线:新手:直接安装 Ollama →。
2026-05-28 18:57:15
294
原创 本地跑 LLM 哪家强?Llama / Qwen / DeepSeek 全方位对比
随着 Ollama、llama.cpp 等工具的成熟,在本地运行大语言模型已经不再是极客专属游戏。数据隐私:代码、文档不出本机,企业敏感数据无泄露风险零延迟:局域网调用,无网络往返,响应速度更稳定零费用:一次部署,无限调用,不再担心 API 账单可定制:可以微调、量化、魔改,随心所欲显存是瓶颈。本文的测评场景聚焦在消费级 GPU(RTX 3090/4090 24GB)和 Mac M 系列(32GB 统一内存),兼顾 CPU-only 用户。
2026-05-26 09:34:13
536
原创 LLM 输出不稳定的根因分析:温度 / Top-P / Top-K 调参指南
在实际 LLM 应用开发中,我们最常听到的抱怨之一是:“模型输出太不稳定了,同一个问题问了三次,三次结果都不一样!其实,这种"不稳定"本质上是可控的。Temperature(温度)、Top-P 和 Top-K。本文将从原理出发,结合实测数据和工程经验,帮你彻底搞清楚这三个参数该怎么调。参数作用推荐默认值控制整体随机性/多样性0.7(通用对话)Top-K固定候选集大小40(通用)/ 0(禁用,配合 Top-P)Top-P自适应候选集大小0.9(通用对话)防止重复输出。
2026-05-25 09:11:48
412
原创 我的 Prompt 踩坑日记:100 条错误用法与正确姿势
18个月AI落地项目真实踩坑记录,按指令表达、角色设定、上下文管理、输出控制、代码生成、CoT、Few-Shot、RAG、多语言、工程化、成本18个月AI落地项目真实踩坑记录,按指令表达、角色设定、上下文管理、输出控制、代码生成、CoT、Few-Shot、RAG、多语言、工程化、成本优化等12大维度,收录100个Prompt错误用法与正确姿势对比。附优化前后效果对比,帮你少走弯路。优化等12大维度,收录100个Prompt错误用法与正确姿势对比。附优化前后效果对比,帮你少走弯路。
2026-05-24 09:07:21
506
原创 7 个Prompt 框架汇总:从 Chain of Thought 到 ReAct + PoT
同样是问 AI,“帮我写个排序算法"和"用 Python 实现一个快速排序函数,要求原地排序、时间复杂度 O(n log n)”,得到的答案质量天差地别。差距在哪?Prompt 设计。2026 年,Prompt Engineering 已经从"聊聊天"进化为一门系统工程学科。本文不灌水,直接带你搞懂7 个核心 Prompt 框架,每个都附可复制的模板和实测对比。│ Prompt 工程进阶要点 ││ ││ 📌 基础功:Zero-Shot / Few-Shot 格式控制 │。
2026-05-23 09:10:12
536
原创 一文读懂 LLM 的 MoE 架构:为什么 GPT-4 和 DeepSeek 都用稀疏专家
如果你关注 2026 年的 LLM 进展,会发现一个绕不开的技术关键词——MoE(Mixture of Experts,混合专家)。GPT-4、DeepSeek-V3、Gemini 1.5、Mistral Large 2……几乎所有头部大模型都选择了 MoE 架构。为什么?它到底解决了什么问题?本文从核心原理 → 数学推导 → 工程实现 → 对比实验四个维度,带你彻底搞懂 MoE。每次只激活 Top-K 个专家。模型有 8 个专家Top-K = 2(每个 token 只用 2 个专家)
2026-05-21 09:25:29
736
原创 Cache与主存的映射方式
CPU访存过程(仅按照先访问Cache再访问主存的情况)实现简单,不够灵活,冲突概率最高,空间利用率最低1.现有主存块号为1,5,33,120要放入Cache,Cache总容量为640B,主存块大小为64B,求各个主存块对应的Cache行号?解:首先求有多少行?640B/64B = 10行;然后求对应的行号:1,5,3,0。
2025-04-16 08:21:22
601
原创 第三章 存储系统
采用DRAM芯片,地址线减半,10/2 + 8 + 2 + 2 = 17(5个地址线,8个数据线,2个读写线,1个行选通线,1个列选通线)不满足程序的局部性原理,但仍有可能在一个存储周期内连续访问多个模块。:采用DRAM芯片,地址线减半,22/2 + 8 = 19。:m = T/r,T是存储周期,r是总线传输周期。双端口存储器可以同时访问同一区间、同一单元。缺点:指令和数据在主存内必须是连续存放的。1.交叉存储器要求其模块数必须大于等于m。一、高位交叉编址(顺序方式)2.1 单体多字存储器。
2025-04-16 08:20:39
846
原创 页面置换算法
原理:每次选择淘汰的页面将是或的页面,可以保证最低的缺页率例一:系统给一个进程分配三个内存块,页面引用串[7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1]如何判断置换哪个页面?比如表一中第四列数据,前面已经占了三个内存块,当页面2需要进入时,向后查询7,0,1最久使用(甚至不再使用)的一个,此时为7,所以7换入2整个过程缺页中断9次,页面置换6次,缺页率:9/20=45%最佳置换算法,因为操作系统无法预判进程访问页面的序列。
2025-04-16 08:19:38
343
原创 gin框架精通篇(二)
导入模块:go get -u github.com/go-sql-driver/mysql安装数据库可能遇到的问题:(网上的方法基本可以解决)注意别漏了:_ “github.com/go-sql-driver/mysql” // 导入MySQL驱动。
2024-05-27 15:44:02
615
原创 gin框架精通篇(一)
注意别漏了:_ “github.com/go-sql-driver/mysql” // 导入MySQL驱动。导入模块:go get -u github.com/go-sql-driver/mysql。安装数据库可能遇到的问题:(网上的方法基本可以解决)
2024-05-14 15:38:46
701
原创 gin框架学习合集
import ("fmt""net/http""strconv"//r := gin.New() //没有任何中间件的路由引擎r := gin.Default() //默认路由引擎:Logger and Recovery middlewarer.Use(Middleware()) //先执行中间件,相当于过滤,减少不必要的服务器性能损耗fmt.Println("服务端开始执行...")Name string `json:"name"` //添加标签})
2024-04-19 18:04:02
1163
原创 gin框架提高篇(一)
import ("fmt""net/http""strconv"//r := gin.New() //没有任何中间件的路由引擎r := gin.Default() //默认路由引擎:Logger and Recovery middlewarer.Use(Middleware()) //先执行中间件,相当于过滤,减少不必要的服务器性能损耗fmt.Println("服务端开始执行...")Name string `json:"name"` //添加标签})
2024-04-02 16:17:40
269
原创 gin框架入门篇
gin.Default() 创建一个带有默认中间件的路由引擎GET方法ps: POST方法类似Run方法http.StatusOK 表示 状态码200,其他类似。
2024-03-21 17:14:22
205
原创 fatal: unable to access ‘https://github.com/xxx‘: Failed to connect to github问题解决
解决方法:打开代理设置,查看代理端口,并在git bash执行以下命令即可。在执行flutter pub get命令之后出现了无法连接的问题。
2024-01-29 10:13:52
1376
原创 第一章 绪论
系统架构(System Architecture)是系统的一种整体的高层次的结构表示架构设计师(System Architecture Designer)是负责系统架构的人、团队或组织基础研究阶段 → 概念体系和核心技术形成阶段 → 理论体系完善与发展阶段 → 普及应用阶段。
2024-01-25 15:43:41
752
原创 第一个出现两次的字母
比如表达式是hash = hash % 7,如果此时hash为8,那么最终的位置就是1。js里常用的两个函数:hash.add(ch)和hash.has(ch)它的原理就是一个表达式,最终得到的结果就是本次数据放在数组里的位置。表示往哈希表里添加数据和某个数据是否存在于哈希表中。直接使用哈希表就可以了,数据结构里也叫散列表。避免冲突常用的办法就是再散列,这里就不多说。
2023-01-01 20:07:16
232
原创 2011年408大题总结
这个可能是大题里面最难的了,第一遍基本没看懂在说什么,最终得分4分(第二小问第一空、第三小问、第四小问(RTT、源IP地址))这也是计算机网络的难点所在,太凌乱了,没有层次感。还有一个关键点,这样可以节省很多时间,而且就算代码里面有一些逻辑运行不成功的,关系也不会很大,只要你的思路能让阅卷的看懂,就够了(所以不能像我一样不写注释,多少得写点)知识不牢固的话,到这里其实也满足了,起码已经有8分左右了,前四个题已经拿下30多分了(如果今年也这么考就好了/(ㄒoㄒ)/~~),选择题大概60分,这波100稳了。
2022-11-19 20:48:41
1203
原创 2010年408大题总结
指令数量看OP位数,寄存器数量看Rs/Rd寄存器位数,MAR看主存地址,MDR看机器字长。前两个小问送分题,计组存储器那块学明白了,这个肯定也没有问题,判断好分别占几位就可以了。这种题得分析一下,因为没有图,很容易忘记一些信息点(别问我为啥知道),表示如果当前的下标被占据那就一直往下找,直到找到空位就放上。如果今年能考这个,直接烧高香(别直接给汇编,实在看不懂)这个要看懂的是他这个指令,按照指令格式来填充对应的机器码。这个考的是散列表(巧了,我没复习,这就去看)除了块内的,还有标记位28-9 = 19位,
2022-11-16 21:45:07
1701
原创 2009年408大题总结
这种题个人觉得比较难,但是可以捞分不至于全部不会,首先对于计组的第五章数据通路那一块要有“亿”点点的印象,不至于看不懂题目在问什么。然后就是不固定的指令执行阶段,我个人做的时候,其实很少看他讲的一大段内容,直接看主要部分——要你干嘛。这类问题是比较简单的,我的一般方法就是找1s中断/DMA执行了多少个时钟周期,然后除以主频。这个最容易想到的方法就是举反例,但是我们可以分析一下,每一次都取最短的路径,实际上就是。的应用——每次都是最优,但是最终的结果却一般不是最优,因此很容易想到这个方法是不可行的。
2022-11-15 21:41:24
1254
9
原创 二叉树的性质
如上a)图:2是4的双亲,5是2的孩子,4和5是兄弟,4和6是堂兄弟,1(根结点)是树中唯一没有双亲的结点,两个结点之间的路径由两个结点之间所经过的结点序列构成。,如上b)图:1的度是3,2的度是2,3的度是0。,如a)图中树的度为2,b)图中树的度为3。,如上a)图:1是4的祖先,4是1的子孙。分支结点度大于0的结点,又称非终端结点。叶子结点度等于0的结点,又称终端结点。树的高度\深度是树中结点的最大层数。根结点到该结点的唯一路径上的。分支结点 vs 叶子结点。结点的深度、高度、层次。
2022-11-06 16:37:32
514
红黑树的插入详细图解,直接拿下红黑树
2022-08-17
物联网通信技术期末复习
2022-06-07
物联网安全导论期末复习
2022-04-18
一个评论功能实现的demo
2020-07-12
专业期末实践周网站实验
2020-07-07
js正则案例及笔记.rar
2020-05-19
PAT乙级1027打印沙漏
2024-10-30
还有哪里没想到的吗,求点解
2024-10-02
uniapp的app运行一会后崩溃
2023-11-27
echarts横坐标间隔修改
2023-11-14
数组替换值出现的奇怪问题
2023-03-09
使用v-if来控制组件切换,出现不好的体验感
2023-03-03
promise.then()封装后拿返回的value
2023-02-18
uni-app项目中上传头像实时刷新的问题
2023-01-31
关于mutation的小疑问
2023-01-14
两个v-for需要在同一层
2023-01-14
v-for的内容希望在另一个标签的引用上
2023-01-14
写了一个js文件,导出之后怎么才能拿到两个函数的res数据呢
2023-01-12
微信小程序建立项目出现的问题
2022-05-31
uni-app小程序微信注销登录
2022-05-31
遇到vue的一个报错红色警告
2021-09-07
使用uview的操作菜单选项无法关闭
2022-02-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅