MCP学习笔记
模型上下文协议 (MCP) 深度技术架构与生态演进研究报告执行摘要随着大语言模型(LLM)从单纯的文本生成工具向具备自主行动能力的智能体(Agents)演进,人工智能系统工程面临着前所未有的挑战:上下文隔离(Context Isolation)。尽管模型本身具备广博的通用知识,但它们在本质上与企业专有数据、实时业务系统以及本地操作环境是断开连接的。传统的解决方案通常依赖于碎片化的、点对点的集成代码(Glue Code),这种模式不仅维护成本高昂,且难以扩展。 Anthropic 于 2024 年底推出的 模型上下文协议(Model Context Protocol, MCP),代表了一种旨在打破这种碎片化局面的范式转移。正如 USB-C 接口标准化了电子设备之间的数据与电力传输,MCP 旨在标准化 AI 宿主应用(Host)与外部数据源或工具(Server)之间的连接。 本报告基于用户提供的架构图表(图1-6)及广泛的技术文档,对 MCP 进行了详尽的解构。我们将从协议的底层架构出发,深入探讨其生命周期管理、核心原语(Primitives)、通信机制、安全性设计以及开发实战,旨在...
UV环境管理
这是一份关于使用 uv 进行 Python 依赖管理的详细指南。 uv 是由 Astral(Ruff 的开发者)开发的一个极其快速的 Python 包和项目管理器,使用 Rust 编写。它旨在替代 pip、pip-tools、pipx、poetry 和 pyenv,提供统一且极速的开发体验。 1. 安装 uv首先,你需要在你的系统上安装 uv。 macOS / Linux: Bash 1curl -LsSf https://astral.sh/uv/install.sh | sh Windows: PowerShell 1irm https://astral.sh/uv/install.ps1 | iex 通过 pip (首选): Bash 1pip install uv 2. 核心工作流:项目管理 (推荐)这是 uv 现代化的“项目级”工作流,类似于 Poetry 或 npm,它使用 pyproject.toml 和 uv.lock 来管理依赖。 第一步:初始化项目创建一个新目录并初始化。 Bash 123mkdir my-projectcd my-project...
docker笔记
1. Docker基础概念Docker概述 Docker是一种成熟高效的软件部署技术,利用容器化技术为应用程序封装独立的运行环境。每个运行环境即为一个容器,承载容器运行的计算机称为宿主机。 技术原理Docker 的技术原理主要是基于 Linux 内核的 Namespace(命名空间) 实现资源隔离、Control Groups(控制组/cgroups) 实现资源限制,以及 UnionFS(联合文件系统) 实现分层存储,从而在宿主机操作系统之上构建出一个轻量级、相互独立且高度可移植的虚拟化运行环境。 核心技术拆解 Namespace:负责“隔离”,确保容器内的进程看不见其他容器或宿主机的网络、用户和文件系统。 cgroups:负责“分配”,规定一个容器能使用多少 CPU、内存等物理资源。 UnionFS:负责“存储”,将多层增量内容合并为一个完整的文件系统,这也是 Docker 镜像占用空间小的原因。 容器本质上还是一个进程,但是容器内部可以看做一个独立的系统 容器与虚拟机的区别:Docker容器: 多个容器共享同一个系统内核。虚拟机: 每个虚拟机包含一个操作系统的完整内核。 ...
Git与GitLab的实战
Git与GitLab的企业实战第1章 Git概述Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 Git易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion(svn)、CVS、Perforce和ClearCase等版本控制工具。 1. 何为版本控制版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。 2. 为什么需要版本控制个人开发过渡到团队协作。 3. 版本控制工具 集中式版本控制工具 CVS、SVN(Subversion)、VSS…… 集中化的版本控制系统诸如 CVS、SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。 这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个...
SFT调优参数
PackingSFT Packing详解 传统数据集构建方式大语言模型(LLM)微调中两种常见的数据构建与训练方式:单轮对话数据和多轮对话数据 单轮:prompt+response端到端的:模型接受的输入是prompt,需要预测的结果是response,最后计算response上token的loss。 如果输入文本的 Token 数量未达到 --max_length (4096),系统会根据 --padding_free false 参数的设置,自动在序列末尾填充(Padding)占位符,以保证 Batch 内所有序列长度一致。 多轮:为了让模型在对话的任何阶段都能正确回答,会将一条长对话拆分成多个训练样本 第一阶段:只看 p1,预测 r1。 第二阶段:将第一轮作为上下文,看 [p1, r1, p2],预测 r2。 第三阶段:看整个历史 [p1, r1, p2, r2, p3],预测 r3。 这样数据层面没有损失,但是数据量大了N倍,训练的效率比较低 什么是Packing?核心定义Packing 是指将多条不同的文本序列(短样本)合并、打包到同一个样本序列(固定长度的容...
RAG优化策略汇总
数据层——chunks策略优化经典RAG系统面临接受文档长度有限的问题,当私有数据量过大时,传入所有context信息可能导致提示词过长,从而影响模型的处理效率或达到长度上限。在这个流程中,要实现高质量的检索,需要对原始知识文档进行有效的预处理,这也就引出了 RAG 流程中一个至关重要的准备工作——文档分块 (Chunking)。 固定大小分块按照预先设定的固定长度( 最大 token 数)将文本进行切割。为了尽量减少信息损失,通常会在相邻的块之间保留一部分重叠内容(Overlap)。 语义分块将语义关联紧密的句子或段落聚合在一起。 先将文本分成基础单元(如句子),然后计算相邻单元的语义相似度(例如通过嵌入向量的余弦相似度),如果相似度高于某个阈值,则合并这些单元,直到相似度显著下降时才创建一个新的块。 递归分块优先按段落等大语义标识切割,对超限部分逐级降维、递归细化(如换行、句点),直至全部分块达标,实现“大块优先、语义保护、按需精分。 基于文档结构的分块直接利用文档本身固有的、明确的结构元素(如标题层级、章节、列表项、表格、代码块、Markdown 标记等)来定义块的边...
Qwen3-vl-embedding测评报告
一、前言在网络安全场景,多模态数据:恶意邮件截图、钓鱼网站 UI、C2 服务器仪表盘、入侵视频监控、流量可视化图表、漏洞 PoC 界面等。传统 RAG 常因视觉信息丢失而失效(如无法识别“这个登录页 logo 高度相似于某银行”或“这个图表显示的 DNS 隧道流量模式”)。 传统RAG嵌入主要依赖纯文本向量,在多模态场景下存在严重信息丢失(需OCR转换视觉内容,导致布局、颜色、空间关系等细节缺失)、文本查询难召回图像/视频、语义对齐不足等问题,Qwen3-VL-Embedding通过文本、图像、视频直接映射到同一向量空间,语义相似的内容自然“聚类”。文本查询可直接召回相关图像/视频,从而显著降低安全场景中的漏报风险、增强自动化分析能力,并助力构建更可靠的多模态RAG系统。 二、部署(官方推荐uv,也可以自定义conda)项目地址:/data/test_project/qwen_vl_embedding/Qwen3-VL-Embedding 依次执行下面指令 开启代理 1export http_proxy=http://127.0.0.1:10808 抓项目 12git clone...
MOE,量化,蒸馏,剪枝
MOE(混合专家架构) 传统模型架构的问题在传统的 Dense(稠密)模型 中,参数量增加一倍,训练和推理所需的算力几乎也要增加一倍,即每次推理都需要动用模型全部参数,正面临着计算成本和能耗的巨大瓶颈。 MoE架构的核心思想MoE 架构通过稀疏激活机制,让模型在拥有巨量参数(高容量)的同时,每次计算只调用极少数专家模块,从而以极低的算力成本将一个复杂的任务分解为多个子任务,每个子任务由一个专门的专家来处理。 MoE结构一个典型的MoE层通常嵌入在Transformer架构中,用于替代其中的前馈网络(Feed-Forward Network, FFN)层。 阶段 核心组件 输入来源 主要操作与逻辑 输出结果 1. 输入接收 Token 表征 前一层 (如 Self-Attention) 接收序列中每个 Token 的高维向量表示。 待处理的 Token 向量 2. 路由分发 门控网络 Token 表征 轻量级计算:通过线性层和 Softmax 计算权重,决定 Token 该去哪个“专家”那里。 专家分配权重 (Routing Weights) 3. 专家计...
memory开源项目调研
前言 在网络安全领域,大模型需要处理很多和安全有关的文字、图片、视频、音频等信息,比如日志片段、流量特征、威胁情报、攻击链图谱等。为了更准确地找到相关内容和匹配威胁,这些数据通常会被转成向量存入向量数据库。 不过,向量数据库虽然在语义检索方面表现出色,但并不适合管理那些需要频繁更新、覆盖或按照时间顺序维护的安全内容,比如策略变更、最新的 IOC(入侵指标)、用户行为画像等。于是,引入了 Memory,为安全领域的大模型代理提供了一个智能记忆层。它可以持续记住特定用户或团队的操作习惯、威胁偏好、常用的分析路径,并且会随着时间自动更新。这样一来,安全助手就能更好地理解分析者的工作方式,快速关联历史情报,从而提供更有针对性、更高效的安全分析和响应支持。 最关键的是,Memory 还解决了传统 RAG 的一些痛点。传统 RAG 只能检索静态的内容,它没办法理解用户上下文,也处理不了那些频繁变动的数据,甚至是跨会话记忆用户的推理方式和历史判断。而加入了可持续演化的 Memory 层后,大模型在检索事实的同时,还能保留长期经验,让安全助手真正具备了“持续学习、持续适应”的能力...
HunyuanOCR调研报告
前言在网络安全实践中,大量关键线索以图像形式存在,如钓鱼页面截图、日志截图、恶意广告、凭证凭证等。传统OCR工具虽能提取文字,但面对低质量截图、变形字体、多语言混排或对抗干扰时识别率低,且缺乏语义理解能力——无法结构化提取“伪造发件人”“C2地址”等安全要素。 本文围绕腾讯开源的轻量级视觉语言模型 HunyuanOCR,评估其在安全场景下的实用性。该模型通过提示词驱动,支持端到端的文字检测、信息抽取、表格/公式解析与视觉问答,在卡证票据、带噪截图、多语种文档等复杂图像中表现出优于主流OCR的识别准确率。 调研表明,HunyuanOCR 能有效支持安全运营中的自动化情报提取,但仍存在局限:当前版本仅能识别文字区域,无法直接定位图形、颜色或非文本元素,未来需结合行为上下文或辅助模型,进一步提升在对抗性网络环境中的可用性。 一、部署模型地址:tencent/HunyuanOCR 参数量:1B 模型大小:2.5G 环境:Python 3.12 + CUDA 12.8 + + PyTorch 2.7.1 + vLLM nightly 部署设备:RTX 3090(24GB) * 1 使...

