文本自动标注系统设计文档
前言在网络安全运营中,安全团队每天要处理大量非结构化的文本信息,包括告警日志、威胁情报、工单描述等,这些内容往往语言表达多样、标签层级复杂,传统依赖规则或监督学习的方法难以高效应对。本系统聚焦于解决实际运营中几类典型问题:例如自动识别一段文本是否来自外部研究机构的情报,判断其中是否描述了特定攻击手法,并能将其准确归入“威胁情报 → 情报来源类型 → 外部订阅 → research_feed”这样的嵌套标签路径中,从而支撑后续研判、归因与响应。 目前系统仍有不少问题尚未覆盖: 生成样本的质量受限于大模型提示词的单一性,可能存在事实错误或语义偏差; 置信度评估机制较为简化,对边界模糊或语义接近但标签不同的情况缺乏可靠的不确定性判断能力。 该系统的设计遵循以下流程,总的概括为几个步骤: 调用大模型接口生成初始文本切片以及标注数据 将切片数据embedding后连同原文本和标签一同存入Milvus数据库 基于ANN对用户输入的结构化标签进行四层分层检索策略 将检索后返回的最相似的文本标签作为输入切片的标签 计算新标签的置信度confidence 将新数据存入数据库 一、原始向量...
探究通过各种绕过网易易盾人工验证的方法
前言:在网络安全与情报分析工作中,自动化抓取互联网信息成为关键手段。然而,越来越多网站为防范爬虫和批量操作,部署了多样化、高难度的人工验证机制,包括滑块拼图、汉字点选、障碍躲避等类型。这些验证码不仅包含图形干扰,还融入语义理解(如“点击包含交通标志的图片”)、逻辑判断(如“按成语顺序点选汉字”)甚至动态行为分析,使得传统的自动化绕过方法(如基于 OpenCV 的模板匹配、OCR 识别)难以应对——前者在面对旋转、变形、动态干扰时失效,后者在复杂背景或非标准字体下识别率骤降。 为突破这一瓶颈,本文聚焦于滑块验证(含旋转干扰)、文字点选(成语/顺序类)与障碍躲避三类典型验证码,调研基于视觉语言大模型的智能识别与交互新方法。通过结合Playwright与多模态大模型的语义理解能力,构建了一套能理解验证任务语义、定位目标元素、模拟人类操作的自动化流程。 对于高度动态、行为特征强绑定(如鼠标轨迹分析)或需上下文记忆的验证形式,当前方法仍存在局限,需进一步融合行为模拟与上下文推理能力。 一个自动化登录的demo 一、VL大模型1.1 定义视觉-语言大模型(Vision-Language M...
开源项目DeepAnalyze部署历程
前言DeepAnalyze 是由中国人民大学数据与智能实验室推出的首个面向自主数据科学的智能体大语言模型(Agentic LLM),能够无需人工干预,端到端自动完成包括数据准备、分析、建模、可视化和报告生成在内的完整数据科学流程,支持结构化、半结构化和非结构化等多种数据源,并完全开源模型、代码、训练数据与演示系统,便于本地部署和二次开发。 本地部署配置GPU:RTX 3090(24GB) * 1 CPU:12 vCPU Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz 内存:43GB 硬盘:系统盘:30 GB 部署步骤1,将DeepAnalyze-8B下载到DeepAnalyze-main/models文件夹 2,更改max_tokens(降低模型性能,视情况) 3,下载依赖包(可以把数据分析常用的依赖包也加进去,因为webUI运行代码时可能不会自动下载依赖包,会导致运行失败,后续也需要手动pip) 1pip install -r requirements.txt 4,如果需要构建 OpenAI 风格的 API,那么修改demo/bac...
GraphRAG的构建
前言:经典RAG应用的范式与架构已经非常流行,我们可以在很短的时间内借助成熟框架开发一个简单能用的RAG应用。 但是传统RAG需要对文本进行分块,然后进行向量化存储,这种处理模式就会天然导致RAG在全局查询或总结上的表现不会太好。比如面对这样的问题,“《跨越鸿沟》这本书整体上讲了什么?请撰写一份2000字的总结”,传统RAG大概率会表现不及格。并且在对文本分块之后,可能会丢失一些信息之间的关系和因果性 这正是知识图谱和GraphRAG可以发挥作用的场景 一、neo4j的搭建Neo4j安装与配置以及JDK安装与配置教程(超详细)-CSDN博客 二、积累一些专用名词实体(Entity) 知识图谱中的“点”,代表现实世界中的事物,例如“华为”“张三”“北京大学”。 关系(Relation / Edge) 实体之间的联系,图中的“边”,例如“张三–就读于–北京大学”。 属性(Attribute / Property) 实体或关系的特征值,例如“张三–年龄–25岁”。 三元组(Triple) 知识图谱的基本单元,形式为 (头实体, 关系, 尾实体),如 (张三, 就读于, 北京大学)。 知...
RAG的评估(RAGAS)和检索优化
前言:评估RAG有效性主要采用两种方法:独立评估和端到端评估。这两种方法从不同角度检验RAG系统的效能,确保其在各个组成部分均表现出色。 一、独立评估独立评估侧重于对RAG系统中检索模块和生成模块的单独评估,以确保每个模块都能有效地完成其任务 1.1 检索模块评估检索模块能够从知识库中检索到与输入查询最相关的内容的能力,这些指标衡量了系统在给定查询或任务下的项目排名效能,包括命中率(Hit Rate)、平均排名倒数(MRR)、归一化折损累积增益(NDCG)、精度(Precision)等。 1.1.1 命中率(Hit Rate)很好理解,就是看总的查询里面有几次查到了文档 举例: 检索系统命中率计算示例: 假设我们有一个简单的检索系统和以下的查询记录: 总共有10次查询。 在这10次查询中,有7次查询检索到了至少一个相关的文档。 命中率计算公式: 结果解释:在所有查询中,有 $70\%$ 的查询至少检索到了一个相关文档,显示出检索系统对用户查询有较好的响应能力。 1.1.2 平均排名倒数(MRR) 在文档A、文档B、文档C、文档D中,我们人工标注文档C...
vLLM的优势——KV cache与PageAttention
前言参考文章: (19 封私信) 长篇白话解读vLLM:让大模型推理快得飞起的“黑魔法” - 知乎 (19 封私信) 一文详解八款主流大模型推理框架 - 知乎 训练好的大模型本质上就是一堆参数文件(权重)+ 结构定义,它自己不能直接对外服务。要真正让别人(前端、业务系统、APP 用户)用起来,就必须把它部署成一个可调用的系统。 理解为: 训练完的模型 = 一本厚厚的书,放在你电脑里,别人看不到。 部署好的模型服务 = 建了一个图书馆窗口,别人能来借书、问问题。 目前主流的大模型推理框架有Hugging Face(国外),ModelScope(国内),Ollama,以及本篇文章要着重介绍的vLLM。 对于获取句子嵌入向量的大模型,可以使用更加便捷的Sentence Transformers库,我们在后面的文章中会介绍。 一、Hugging Face/ModelScope(魔塔社区)这两个平台本质都差不多,都是通过调用 API 或 SDK 来下载、加载和推理模型,适合用来下载到本地部署和运行推理,只是 Hugging Face 更国际化、生态更全,而 ModelScope 在中文...
RAG——检索增强生成
前言:大模型在生成回答的时候,有时总是会词不达意,甚至毫无根据的乱说一通,我们把这种现象称为大模型的幻觉 产生幻觉问题主要是因为其基于大量数据和复杂算法进行概率性预测来生成内容,当遇到训练数据中未充分覆盖或模糊不清的情境时,容易生成看似合理但实际错误或无根据的信息,且难以自我验证内容的真实性,然而大模型的生成机制是计算出下一个最有可能出现的词或短语。这种概率生成的方式本身没有绝对的对错判断机制。** 另外,在实际生产中,还需要面临时效性和可解释性的问题,更具具体业务来生成有针对性的回答,实现这个功能似乎微调能够办到,但是不可能每次有需要更新的内容都微调一次,这样成本太高了 因此我们在大模型中引入RAG技术,通过丰富大模型上下文来大幅提高模型输出质量 一、什么是RAG?通俗点来讲,就是相当于给大模型提供了一个专属图书馆,前期通过数据预处理,把原始文档(PDF、Word、图片等)处理成机器能理解的 “知识片段”,并存储到向量数据库中,在客户向大模型提问(Query)时,大模型通过分析Query,在数据库中检索到与之相关的知识块添加到上下文一起作为prompt传入大模型 R: Ret...
大模型的端到端全栈部署思路
前言该项目是一个依托Django服务器为调度中心,链接客户端、MySQL数据库端、大模型端以及RAG系统端的全栈部署,后续开发可以依据这个部署思路实现一个可控,可追溯,低幻觉的大模型对话平台。 当然这里只是用作学习,整个系统保留躯干部分 一、项目整体架构1.1 技术栈Qwen-7B(基座模型) + LLaMA-Factory + QLoRA + vLLM + GraphRAG + Milvus + Sentence Transformers + Django + MySQL + uniApp + Langchain + HuggingFace Qwen-7B:核心大语言模型 uniApp:前端交互 Django:后端服务 GraphRAG:知识图谱检索 Milvus:向量数据库 vLLM:高效推理部署 MySQL:日志和历史存储 Sentence Transformers:文本向量化 LLaMA-Factory:模型管理 QLoRA:低秩微调 Langchain / HuggingFace:链式调用和接口管理 1.2 架构图 二、系统链路说明1. 用户输入问题 用户在客户...
基于AutoDL云服务器的大模型LoRA微调原理及实战
前言大模型微调是指在预训练好的大型语言模型(如GPT、文心一言等)的基础上,针对特定的任务或领域数据,对模型的参数进行进一步的调整和优化,使其更好地适应特定的应用场景,提高模型在特定任务上的性能和准确性。 大模型微调是实现行业落地、提升性能精度、满足个性化需求、节省算力资源并保障数据安全的关键路径,是大模型走向实际应用的“最后一公里”。 NLP的三个分支 ★ NLU(Natural Language Understanding):自然语言理解,是让机器理解人类语言的过程,包括意图识别、实体抽取等。 NLG(Natural Language Generation):自然语言生成,是让机器生成人类语言的过程,用于撰写文本、生成描述等。 NLI(Natural Language Inference):自然语言推理,是判断两个句子之间逻辑关系的过程,用于文本分析和语义理解。 一、LoRA基础知识大模型微调分类包括: 全量微调:对大模型的所有参数进行全面调整,精度高但计算成本大。 高效微调:采用轻量化方法(如LoRA、Adapter)仅调整部分参数,计算效率高且资源消耗少。 强化学习...
基于AutoDL云服务器的VLLM大模型部署以及本地调用
前言vLLM 是一个专注于大语言模型(LLM)的高速推理框架。它的核心目标是通过优化技术,显著提升语言模型在实时场景下的服务吞吐量和内存使用效率。适合大规模大语言模型部署,实现CUDA的加速 部署需求: AutoDL算力云平台租用一台GPU(本文租用3080),良好的网络环境(需要下载超过10G的内容) 一、VLLM安装与验证这一步其实在云服务器上可以省略,因为选择镜像的时候我们可以选择一个带有VLLM的镜像 如果需要自行下载,在终端运行如下命令,下载过程比较漫长,耐心等待 12345# 安装最新版vLLM(耗时较长)pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple# 验证安装python -c "import vllm; print(vllm.__version__)" 选择无卡模式开机后进入终端查看VLLM版本号,这里是0.4.0.post1 接下来我们就可以开始模型部署了 二、模型部署2.1 启动模型然后把自己的模型传输到服务器上,这里我使用Xftp传输提前在HuggingFac...

