DeepResearch智能体方案
DeepResearch智能体方案 通义dr的解读: https://zhuanlan.zhihu.com/p/1953262318352863784 关键在于训练一个专门的模型,为DR而生。 为什么通义DeepResearch不需要 chunk?RAG正在被Agent改写 https://zhuanlan.zhihu.com/p/1968442243783294997 CPT->SFT->RL DeepResearch 之所以不需要传统 RAG 的Chunking,是因为它从根本上改变了范式。 传统 RAG 是一个静态系统,模型是被动缝合你喂给它的碎纸片 (Chunks)。 DeepResearch 是一个动态系统。模型是研究员,它主动去获取完整的信息(网页/文档),然后利用IterResearch范式(压缩笔记)来管理自己的认知焦点,再利用RL来优化自己的研究策略。 所以,RAG 不会被取代,而是正在被 DeepResearch 这样的 Agent 框架吸收和升维——检索不再是一个外部模块,而是 Agent 工具箱里一个最基础的动作而已。 JINA 看jina...
LangGraph 八股
LangGraph 八股 官方文档:https://docs.langchain.com/oss/python/releases/langchain-v1 https://zhuanlan.zhihu.com/p/1914230995034564014 langchain&laanggraph 1.0: https://zhuanlan.zhihu.com/p/1966891862062265076 https://zhuanlan.zhihu.com/p/1968427472388335014 langchain新特性: 全新create_agent接口:默认运行在 LangGraph 引擎之上。 中间件定义了一组钩子,允许您自定义代理循环中的行为,从而实现代理采取的每个步骤的细粒度控制;支持自定义中间件 ,这些中间件可以连接到代理循环中的多个点。 钩子函数 触发时机 应用场景 before_agent 在调用代理之前 加载记忆数据、验证输入 before_model 在每次大模型调用之前 更新提示词、精简消息历史 wrap_mod...
多智能体系统工作前沿汇总
多智能体系统工作前沿汇总 https://zhuanlan.zhihu.com/p/1950212759796049358 AgentDropout:Dynamic Agent Elimination for Token-Efficient, High-Performance Collaboration(ACL 2025) 这篇论文提出在多轮对话与推理过程中动态“淘汰”冗余 agent 与通信边,从而压缩推理成本。该机制在不同任务中节省了约 20% 以上的 token 使用,同时保持甚至提升性能,并展现良好的迁移性。 链接:https://arxiv.org/abs/2503.18891 。 上面这篇还挺有意思 Chain of Agents: Large Language Models Collaborating on Long-Context Tasks(2025) 这篇论文提出了 Chain-of-Agents (CoA) 框架,把长文本任务拆分给一系列顺序衔接的智能体处理,每个智能体只需关注自己的一小块内容,并通过通信单元传递关键信息,最后由管理智能体整合输出。这样既能避...
多模态RAG检索
多模态RAG检索 ColPali和DSE解读:https://zhuanlan.zhihu.com/p/826088920 colbert模型(ColPali):在视觉encoder,也是利用多模态的视觉大模型来生成图片端的向量,但不仅仅只生成单个向量。而是利用VIT的patch embedding,来生成多个向量。直觉上确实是会有收益,因为一整页的pdf,你就压缩在一个固定维度的向量中,那肯定有信息损失,而且以patch为单位生成embedding,真的很make sensen,比文本的colbert都make sense。 实践:https://zhuanlan.zhihu.com/p/1975243477060167021 加载所有文档,使用 http://unstructured.io 等文档加载器(document loader)提取文本块、图像和表格。 如需转换,*将 HTML 表格转为 Markdown 格式* —— 这种格式对大型语言模型(LLM)通常非常有效。 将每个文本块、图像和表格传入 GPT-4o 等多模态大型语言模型(multimodal LLM)...
深入理解Megatron-LM
深入理解Megatron-LM 基础知识:https://zhuanlan.zhihu.com/p/650234985 原理介绍:https://zhuanlan.zhihu.com/p/650383289 megatron中的pipeline并行https://zhuanlan.zhihu.com/p/432969288 代码结构:https://zhuanlan.zhihu.com/p/650237820 并行设置:https://zhuanlan.zhihu.com/p/650500590 张量并行:https://zhuanlan.zhihu.com/p/650237833 流水线刷新机制:https://zhuanlan.zhihu.com/p/651341660 1F1B流水线并行负载不均衡:https://zhuanlan.zhihu.com/p/693425934 进程模型: 当你使用 torch.distributed.launch 或 torchrun 启动训练时,会启动 N 个独立的 Python 进程(N = GPU 数量),每个进程绑定到一个 GPU,...
verl框架学习
verl框架学习 https://zhuanlan.zhihu.com/p/24682036412 https://zhuanlan.zhihu.com/p/27676081245 verl资源管理:https://zhuanlan.zhihu.com/p/1943781624954192493 核心概念: Ray: Ray 是一个分布式计算框架,现在流行的RL框架如VeRL和OpenRLHF都依托Ray管理RL中复杂的Roles(比如PPO需要四个模型)和分配资源。以下是一些核心的概念: Ray Actor:有状态的远程计算任务,一般是被ray.remote装饰器装饰的Python类,运行时是一个进程(和PPO等Actor-Critic算法的Actor不要混淆了); Ray Task:无状态的远程计算任务,一般是被ray.remote装饰器装饰的Python函数,创建的局部变量仅在当前可见,对于任务的提交者不可见,因此可以视作无状态; 资源管理:Ray可以自动管理CPU、GPU、Mem等资源的分配(通过ray.remote装饰器或者启动的options参数可以指定指定的ray...
Agent框架集成多模态能力底层实现
Agent框架集成多模态能力底层实现 该项目处理多模态RAG返回图片的完整流程: 架构概述 该项目采用分层架构处理多模态RAG: 前端接口层:通过schema.py中的ImageContent和ImageUrl模型支持base64和HTTPS两种图片URL格式 RAG核心层:rag.py中的RagClient提供统一的向量检索接口 多模态嵌入层:multi_model.py中的AliyunEmbeddings使用阿里云DashScope的多模态嵌入API 数据存储层:使用Qdrant向量数据库存储图片和文本的嵌入向量 图片处理流程 1. 图片存储阶段 在feishu-crawler子项目中,图片处理流程如下: 图片下载:DownloadImageTransform从飞书下载图片到本地文件系统 图片摘要生成:GenerateImageSummaryTransform使用VLLM模型为图片生成文字描述 多模态嵌入:EmbedImageTransform调用MultiModelEmbedder生成图片+文字的联合嵌入向量 向量存储:将base64编码的图片数据、文字描述和嵌入向量...
多路召回+Graph RAG调研和实践
多路召回+Graph RAG调研和实践 简介 多路召回简单来说就是指的通过多种途径——包括从已有的Qdrant、Memgraph甚至是web上等去拿到与query相关的上下文信息的过程。 Graph RAG这里有一些文档可以看看: memgraph+spacy构建知识图谱:https://memgraph.com/blog/extract-entities-build-knowledge-graph-memgraph-spacy 从知识图谱到 GraphRAG:探索属性图的构建和复杂的数据检索实践:https://cloud.tencent.com/developer/article/2441475 利用 LlamaIndex 和 Memgraph 构建知识图谱并查询:https://www.llamaindex.ai/blog/constructing-a-knowledge-graph-with-llamaindex-and-memgraph 一篇RAG+知识图谱的博客:https://qiankunli.github.io/2024/07/12/llm_graph.htm...
LangGraph 中 checkpoint_id 的更新时机:每个对话轮次还是每个节点流转?
LangGraph 中 checkpoint_id 的更新时机:每个对话轮次还是每个节点流转? 在使用 LangGraph 构建多轮对话或工作流时,我们经常会遇到 checkpoint(检查点)的概念。每个检查点都有一个唯一的 checkpoint_id,用于标识该次状态快照。一个常见的问题是:checkpoint_id 是在每个对话轮次更新一次,还是在节点(node)之间流转时就会更新一次? 本文将通过分析 LangGraph 源码(基于 langgraph==0.2.0 左右版本)来回答这个问题,并解释其背后的设计逻辑。 1. checkpoint_id 是如何生成的? 首先,我们来看 checkpoint_id 的生成方式。在 langgraph/checkpoint/base/__init__.py 中,有一个 create_checkpoint 函数: 12345678910111213141516171819def create_checkpoint( checkpoint: Checkpoint, channels: Mapping[str, BaseC...
从知识图谱到 GraphRAG:探索属性图的构建和复杂的数据检索实践
从知识图谱到 GraphRAG:探索属性图的构建和复杂的数据检索实践 为什么知识图谱+RAG>RAG:https://mp.weixin.qq.com/s?__biz=MzIyOTkzNDczMw==&mid=2247508213&idx=1&sn=a1d3505a55ef8456cdceaea64fb66091&chksm=e8b9f317dfce7a01be4827a834d09141608762ad7109d79a05ae3bf82ebfaf130cfd46df0b6e&scene=21#wechat_redirect 比如query:感冒了吃什么?db:1、感冒了可能会发烧和头痛。2、对乙酰氨基酚是一种退烧和止疼药物。相似度搜索极难查询到第2个结果,而Graph方法可以将对1和2连接在一起,从而在检索到1结点的时候将相邻结点一起检索出来。 当你问:“这个数据集的主题是什么?”这类高级别、概括性的问题时,传统的RAG可能就会束手无策。为什么呢?那是因为这本质上是一个聚焦于查询的总结性任务(Query-Focused Summa...





