【人工智能】Transformers之Pipeline(概述):30w+大模型极简应用
目录
一、引言
二、pipeline库
2.1 概述
2.2 使用task实例化pipeline对象
2.2.1 基于task实例化“自动语音识别”
2.2.2 task列表
2.2.3 task默认模型
2.3 使用model实例化pipeline对象
2.3.1 基于model实例化“自动语音识别”
2.3.2 查看model与task的对应关系
三、总结
一、引言
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为语音(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
本文对pipeline进行整体介绍,之后本专栏以每个task为主题,分别介绍各种task使用方法。
二、pipeline库
2.1 概述
管道是一种使用模型进行推理的简单而好用的方法。这些管道是从库中抽象出大部分复杂代码的对象,提供了专用于多项任务的简单 API,包括命名实体识别、掩码语言建模、情感分析、特征提取和问答
。在使用上,主要有2种方法
- 使用task实例化pipeline对象
- 使用model实例化pipeline对象
2.2 使用task实例化pipeline对象
2.2.1 基于task实例化“自动语音识别”
自动语音识别的task为automatic-speech-recognition:
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["CUDA_VISIBLE_DEVICES"] = "2"from transformers import pipelinespeech_file = "./output_video_enhanced.mp3"
pipe = pipeline(task="automatic-speech-recognition")
result = pipe(speech_file)
print(result)
2.2.2 task列表
task共计28类,按首字母排序,列表如下,直接替换2.2.1代码中的pipeline的task即可应用:
"audio-classification"
:将返回一个AudioClassificationPipeline。"automatic-speech-recognition"
:将返回一个AutomaticSpeechRecognitionPipeline。"depth-estimation"
:将返回一个DepthEstimationPipeline。"document-question-answering"
:将返回一个DocumentQuestionAnsweringPipeline。"feature-extraction"
:将返回一个FeatureExtractionPipeline。"fill-mask"
:将返回一个FillMaskPipeline:。"image-classification"
:将返回一个ImageClassificationPipeline。"image-feature-extraction"
:将返回一个ImageFeatureExtractionPipeline。"image-segmentation"
:将返回一个ImageSegmentationPipeline。"image-to-image"
:将返回一个ImageToImagePipeline。"image-to-text"
:将返回一个ImageToTextPipeline。"mask-generation"
:将返回一个MaskGenerationPipeline。"object-detection"
:将返回一个ObjectDetectionPipeline。"question-answering"
:将返回一个QuestionAnsweringPipeline。"summarization"
:将返回一个SummarizationPipeline。"table-question-answering"
:将返回一个TableQuestionAnsweringPipeline。"text2text-generation"
:将返回一个Text2TextGenerationPipeline。"text-classification"
("sentiment-analysis"
可用别名):将返回一个 TextClassificationPipeline。"text-generation"
:将返回一个TextGenerationPipeline:。"text-to-audio"
("text-to-speech"
可用别名):将返回一个TextToAudioPipeline:。"token-classification"
("ner"
可用别名):将返回一个TokenClassificationPipeline。"translation"
:将返回一个TranslationPipeline。"translation_xx_to_yy"
:将返回一个TranslationPipeline。"video-classification"
:将返回一个VideoClassificationPipeline。"visual-question-answering"
:将返回一个VisualQuestionAnsweringPipeline。"zero-shot-classification"
:将返回一个ZeroShotClassificationPipeline。"zero-shot-image-classification"
:将返回一个ZeroShotImageClassificationPipeline。"zero-shot-audio-classification"
:将返回一个ZeroShotAudioClassificationPipeline。"zero-shot-object-detection"
:将返回一个ZeroShotObjectDetectionPipeline。
2.2.3 task默认模型
针对每一个task,pipeline默认配置了模型,可以通过pipeline源代码查看:
SUPPORTED_TASKS = {"audio-classification": {"impl": AudioClassificationPipeline,"tf": (),"pt": (AutoModelForAudioClassification,) if is_torch_available() else (),"default": {"model": {"pt": ("superb/wav2vec2-base-superb-ks", "372e048")}},"type": "audio",},"automatic-speech-recognition": {"impl": AutomaticSpeechRecognitionPipeline,"tf": (),"pt": (AutoModelForCTC, AutoModelForSpeechSeq2Seq) if is_torch_available() else (),"default": {"model": {"pt": ("facebook/wav2vec2-base-960h", "55bb623")}},"type": "multimodal",},"text-to-audio": {"impl": TextToAudioPipeline,"tf": (),"pt": (AutoModelForTextToWaveform, AutoModelForTextToSpectrogram) if is_torch_available() else (),"default": {"model": {"pt": ("suno/bark-small", "645cfba")}},"type": "text",},"feature-extraction": {"impl": FeatureExtractionPipeline,"tf": (TFAutoModel,) if is_tf_available() else (),"pt": (AutoModel,) if is_torch_available() else (),"default": {"model": {"pt": ("distilbert/distilbert-base-cased", "935ac13"),"tf": ("distilbert/distilbert-base-cased", "935ac13"),}},"type": "multimodal",},"text-classification": {"impl": TextClassificationPipeline,"tf": (TFAutoModelForSequenceClassification,) if is_tf_available() else (),"pt": (AutoModelForSequenceClassification,) if is_torch_available() else (),"default": {"model": {"pt": ("distilbert/distilbert-base-uncased-finetuned-sst-2-english", "af0f99b"),"tf": ("distilbert/distilbert-base-uncased-finetuned-sst-2-english", "af0f99b"),},},"type": "text",},"token-classification": {"impl": TokenClassificationPipeline,"tf": (TFAutoModelForTokenClassification,) if is_tf_available() else (),"pt": (AutoModelForTokenClassification,) if is_torch_available() else (),"default": {"model": {"pt": ("dbmdz/bert-large-cased-finetuned-conll03-english", "f2482bf"),"tf": ("dbmdz/bert-large-cased-finetuned-conll03-english", "f2482bf"),},},"type": "text",},"question-answering": {"impl": QuestionAnsweringPipeline,"tf": (TFAutoModelForQuestionAnswering,) if is_tf_available() else (),"pt": (AutoModelForQuestionAnswering,) if is_torch_available() else (),"default": {"model": {"pt": ("distilbert/distilbert-base-cased-distilled-squad", "626af31"),"tf": ("distilbert/distilbert-base-cased-distilled-squad", "626af31"),},},"type": "text",},"table-question-answering": {"impl": TableQuestionAnsweringPipeline,"pt": (AutoModelForTableQuestionAnswering,) if is_torch_available() else (),"tf": (TFAutoModelForTableQuestionAnswering,) if is_tf_available() else (),"default": {"model": {"pt": ("google/tapas-base-finetuned-wtq", "69ceee2"),"tf": ("google/tapas-base-finetuned-wtq", "69ceee2"),},},"type": "text",},"visual-question-answering": {"impl": VisualQuestionAnsweringPipeline,"pt": (AutoModelForVisualQuestionAnswering,) if is_torch_available() else (),"tf": (),"default": {"model": {"pt": ("dandelin/vilt-b32-finetuned-vqa", "4355f59")},},"type": "multimodal",},"document-question-answering": {"impl": DocumentQuestionAnsweringPipeline,"pt": (AutoModelForDocumentQuestionAnswering,) if is_torch_available() else (),"tf": (),"default": {"model": {"pt": ("impira/layoutlm-document-qa", "52e01b3")},},"type": "multimodal",},"fill-mask": {"impl": FillMaskPipeline,"tf": (TFAutoModelForMaskedLM,) if is_tf_available() else (),"pt": (AutoModelForMaskedLM,) if is_torch_available() else (),"default": {"model": {"pt": ("distilbert/distilroberta-base", "ec58a5b"),"tf": ("distilbert/distilroberta-base", "ec58a5b"),}},"type": "text",},"summarization": {"impl": SummarizationPipeline,"tf": (TFAutoModelForSeq2SeqLM,) if is_tf_available() else (),"pt": (AutoModelForSeq2SeqLM,) if is_torch_available() else (),"default": {"model": {"pt": ("sshleifer/distilbart-cnn-12-6", "a4f8f3e"), "tf": ("google-t5/t5-small", "d769bba")}},"type": "text",},# This task is a special case as it's parametrized by SRC, TGT languages."translation": {"impl": TranslationPipeline,"tf": (TFAutoModelForSeq2SeqLM,) if is_tf_available() else (),"pt": (AutoModelForSeq2SeqLM,) if is_torch_available() else (),"default": {("en", "fr"): {"model": {"pt": ("google-t5/t5-base", "686f1db"), "tf": ("google-t5/t5-base", "686f1db")}},("en", "de"): {"model": {"pt": ("google-t5/t5-base", "686f1db"), "tf": ("google-t5/t5-base", "686f1db")}},("en", "ro"): {"model": {"pt": ("google-t5/t5-base", "686f1db"), "tf": ("google-t5/t5-base", "686f1db")}},},"type": "text",},"text2text-generation": {"impl": Text2TextGenerationPipeline,"tf": (TFAutoModelForSeq2SeqLM,) if is_tf_available() else (),"pt": (AutoModelForSeq2SeqLM,) if is_torch_available() else (),"default": {"model": {"pt": ("google-t5/t5-base", "686f1db"), "tf": ("google-t5/t5-base", "686f1db")}},"type": "text",},"text-generation": {"impl": TextGenerationPipeline,"tf": (TFAutoModelForCausalLM,) if is_tf_available() else (),"pt": (AutoModelForCausalLM,) if is_torch_available() else (),"default": {"model": {"pt": ("openai-community/gpt2", "6c0e608"), "tf": ("openai-community/gpt2", "6c0e608")}},"type": "text",},"zero-shot-classification": {"impl": ZeroShotClassificationPipeline,"tf": (TFAutoModelForSequenceClassification,) if is_tf_available() else (),"pt": (AutoModelForSequenceClassification,) if is_torch_available() else (),"default": {"model": {"pt": ("facebook/bart-large-mnli", "c626438"),"tf": ("FacebookAI/roberta-large-mnli", "130fb28"),},"config": {"pt": ("facebook/bart-large-mnli", "c626438"),"tf": ("FacebookAI/roberta-large-mnli", "130fb28"),},},"type": "text",},"zero-shot-image-classification": {"impl": ZeroShotImageClassificationPipeline,"tf": (TFAutoModelForZeroShotImageClassification,) if is_tf_available() else (),"pt": (AutoModelForZeroShotImageClassification,) if is_torch_available() else (),"default": {"model": {"pt": ("openai/clip-vit-base-patch32", "f4881ba"),"tf": ("openai/clip-vit-base-patch32", "f4881ba"),}},"type": "multimodal",},"zero-shot-audio-classification": {"impl": ZeroShotAudioClassificationPipeline,"tf": (),"pt": (AutoModel,) if is_torch_available() else (),"default": {"model": {"pt": ("laion/clap-htsat-fused", "973b6e5"),}},"type": "multimodal",},"image-classification": {"impl": ImageClassificationPipeline,"tf": (TFAutoModelForImageClassification,) if is_tf_available() else (),"pt": (AutoModelForImageClassification,) if is_torch_available() else (),"default": {"model": {"pt": ("google/vit-base-patch16-224", "5dca96d"),"tf": ("google/vit-base-patch16-224", "5dca96d"),}},"type": "image",},"image-feature-extraction": {"impl": ImageFeatureExtractionPipeline,"tf": (TFAutoModel,) if is_tf_available() else (),"pt": (AutoModel,) if is_torch_available() else (),"default": {"model": {"pt": ("google/vit-base-patch16-224", "3f49326"),"tf": ("google/vit-base-patch16-224", "3f49326"),}},"type": "image",},"image-segmentation": {"impl": ImageSegmentationPipeline,"tf": (),"pt": (AutoModelForImageSegmentation, AutoModelForSemanticSegmentation) if is_torch_available() else (),"default": {"model": {"pt": ("facebook/detr-resnet-50-panoptic", "fc15262")}},"type": "multimodal",},"image-to-text": {"impl": ImageToTextPipeline,"tf": (TFAutoModelForVision2Seq,) if is_tf_available() else (),"pt": (AutoModelForVision2Seq,) if is_torch_available() else (),"default": {"model": {"pt": ("ydshieh/vit-gpt2-coco-en", "65636df"),"tf": ("ydshieh/vit-gpt2-coco-en", "65636df"),}},"type": "multimodal",},"object-detection": {"impl": ObjectDetectionPipeline,"tf": (),"pt": (AutoModelForObjectDetection,) if is_torch_available() else (),"default": {"model": {"pt": ("facebook/detr-resnet-50", "2729413")}},"type": "multimodal",},"zero-shot-object-detection": {"impl": ZeroShotObjectDetectionPipeline,"tf": (),"pt": (AutoModelForZeroShotObjectDetection,) if is_torch_available() else (),"default": {"model": {"pt": ("google/owlvit-base-patch32", "17740e1")}},"type": "multimodal",},"depth-estimation": {"impl": DepthEstimationPipeline,"tf": (),"pt": (AutoModelForDepthEstimation,) if is_torch_available() else (),"default": {"model": {"pt": ("Intel/dpt-large", "e93beec")}},"type": "image",},"video-classification": {"impl": VideoClassificationPipeline,"tf": (),"pt": (AutoModelForVideoClassification,) if is_torch_available() else (),"default": {"model": {"pt": ("MCG-NJU/videomae-base-finetuned-kinetics", "4800870")}},"type": "video",},"mask-generation": {"impl": MaskGenerationPipeline,"tf": (),"pt": (AutoModelForMaskGeneration,) if is_torch_available() else (),"default": {"model": {"pt": ("facebook/sam-vit-huge", "997b15")}},"type": "multimodal",},"image-to-image": {"impl": ImageToImagePipeline,"tf": (),"pt": (AutoModelForImageToImage,) if is_torch_available() else (),"default": {"model": {"pt": ("caidas/swin2SR-classical-sr-x2-64", "4aaedcb")}},"type": "image",},
}
2.3 使用model实例化pipeline对象
2.3.1 基于model实例化“自动语音识别”
如果不想使用task中默认的模型,可以指定huggingface中的模型:
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["CUDA_VISIBLE_DEVICES"] = "2"from transformers import pipelinespeech_file = "./output_video_enhanced.mp3"
#transcriber = pipeline(task="automatic-speech-recognition", model="openai/whisper-medium")
pipe = pipeline(model="openai/whisper-medium")
result = pipe(speech_file)
print(result)
2.3.2 查看model与task的对应关系
可以登录https://huggingface.co/tasks查看
三、总结
本文为transformers之pipeline专栏的第0篇,后面会以每个task为一篇,共计讲述28+个tasks的用法,通过28个tasks的pipeline使用学习,可以掌握语音、计算机视觉、自然语言处理、多模态乃至强化学习等30w+个huggingface上的开源大模型。让你成为大模型领域的专家!
期待您的3连+关注,如何还有时间,欢迎阅读我的其他文章:
《AI—工程篇》
AI智能体研发之路-工程篇(一):Docker助力AI智能体开发提效
AI智能体研发之路-工程篇(二):Dify智能体开发平台一键部署
AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署
AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署
AI智能体研发之路-工程篇(五):大模型推理服务框架LocalAI一键部署
《AI—模型篇》
AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用
AI智能体研发之路-模型篇(二):DeepSeek-V2-Chat 训练与推理实战
AI智能体研发之路-模型篇(三):中文大模型开、闭源之争
AI智能体研发之路-模型篇(四):一文入门pytorch开发
AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比
AI智能体研发之路-模型篇(六):【机器学习】基于tensorflow实现你的第一个DNN网络
AI智能体研发之路-模型篇(七):【机器学习】基于YOLOv10实现你的第一个视觉AI大模型
AI智能体研发之路-模型篇(八):【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战
AI智能体研发之路-模型篇(九):【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
《AI—Transformers应用》
【AI大模型】Transformers大模型库(一):Tokenizer
【AI大模型】Transformers大模型库(二):AutoModelForCausalLM
【AI大模型】Transformers大模型库(三):特殊标记(special tokens)
【AI大模型】Transformers大模型库(四):AutoTokenizer
【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构
相关文章:

【人工智能】Transformers之Pipeline(概述):30w+大模型极简应用
目录 一、引言 二、pipeline库 2.1 概述 2.2 使用task实例化pipeline对象 2.2.1 基于task实例化“自动语音识别” 2.2.2 task列表 2.2.3 task默认模型 2.3 使用model实例化pipeline对象 2.3.1 基于model实例化“自动语音识别” 2.3.2 查看model与task…...

Jenkins中Node节点与构建任务
目录 节点在 Jenkins 中的主要作用 1. 分布式构建 分布式处理 负载均衡 2. 提供不同的运行环境 多平台支持 特殊环境需求 3. 提高资源利用率 动态资源管理 云端集成 4. 提供隔离和安全性 任务隔离 权限控制 5. 提高可扩展性 横向扩展 高可用性 Jenkins 主服务…...

Leetcode3200. 三角形的最大高度
Every day a Leetcode 题目来源:3200. 三角形的最大高度 解法1:模拟 枚举第一行是红色还是蓝色,再按题意模拟即可。 代码: /** lc appleetcode.cn id3200 langcpp** [3200] 三角形的最大高度*/// lc codestart class Solutio…...
docker运行nginx挂载前端html页面步骤
1.常用docker命令 1.docker ps -a 查看所有容器 2.docker ps查看存活的容器 3.docker rm 删除容器 4.docker stop 停止容器运行 5.docker logs 容器id 查看容器日志 6.docker images 查看镜像 7.docker rmi 删除镜像 8.docker exec nginx nginx -s reload 重新加载conf文件…...
kafka部署以及常用命令详细总结
1环境准备 1.1ip规划 ip: 192.168.1.200 1.2配置主机名 #设置主机名 hostnamectl set-hostname node11.3配置hosts [rootnode1 ~]# cat >> /etc/hosts << EOF192.168.1.200 node1 EOF2部署 2.1安装包准备 将以下安装包从官网下载到本地 jdk-8u371-linux-x6…...

代码随想录算法训练营第29天|LeetCode 134. 加油站、135. 分发糖果、860.柠檬水找零、406.根据身高重建队列
1. LeetCode 134. 加油站 题目链接:https://leetcode.cn/problems/gas-station/description/ 文章链接:https://programmercarl.com/0134.加油站.html 视频链接:https://www.bilibili.com/video/BV1jA411r7WX 思路: 贪心ÿ…...

代理模式(大话设计模式)C/C++版本
代理模式 C #include <iostream> using namespace std;class Subject // Subject 定义了RealSubject和Proxy的共用接口..这样就在任何使用RealSubject的地方都可以使用Proxy { public:virtual void func(){cout << "Subject" << endl;} };class R…...

本人学习保存-macOS打开Navicat提示「“Navicat Premium”已损坏,无法打开。 你应该将它移到废纸篓。」的解决方法
新安装了macOS Ventura,打开Navicat Premium,发现会提示: “Navicat Premium”已损坏,无法打开。 你应该将它移到废纸篓。 遇到这种情况,千万别直接移到废纸篓,是有办法解决的。在这里记录一下解决方案。 …...
《Cross-Image Pixel Contrasting for Semantic Segmentation》论文解读
期刊:TPAMI 年份:2024 摘要 研究图像语义分割问题。目前的方法主要集中在通过专门设计的上下文聚合模块(如空洞卷积、神经注意力)或结构感知的优化目标(如iou样损失)挖掘"局部"上下文,即单个图像中像素之间的依赖关系。然而&…...

技术周总结 2024.07.08~07.14(算法,Python,Java,Scala,PHP)
文章目录 一、07.13 周六1.0)算法题:字符串中的单词反转1.1) 问题01:可靠性计算中的MTTR MTTF MTBF 分别指什么?他们之间有什么联系?MTTR (Mean Time to Repair)MTTF (Mean Time to Failure)MTBF (Mean Time Between F…...
UnityECS学习中问题及总结entityQuery.ToComponentDataArray和entityQuery.ToEntityArray区别
在Unity的ECS(Entity Component System)开发中,entityQuery.ToComponentDataArray<T>(Allocator.Temp) 和 entityQuery.ToEntityArray(Allocator.Temp) 是两种不同的方法,用于从实体查询中获取数据。除了泛型参数之外&#…...

[python]基于yolov10+gradio目标检测演示系统设计
【设计介绍】 YOLOv10结合Gradio实现目标检测系统设计是一个结合了最新目标检测技术和快速部署框架的项目。下面将详细介绍这一系统的设计和实现过程。 一、YOLOv10介绍 YOLOv10是YOLO(You Only Look Once)系列的最新版本,由清华大学的研究…...

浏览器开发者视角及CSS表达式选择元素
点击想要查看的接口,然后点击检查,便可以切换到该接口对应的html代码 如果F12不起作用的话,点击更多工具,然后选择开发者工具即可 ctrlF可以去查阅相关的CSS表达式选择元素 如果没有加#t1,那么表示的是选择所有的p 使用…...

GuLi商城-商品服务-API-品牌管理-统一异常处理
每个方法都加这段校验太麻烦了 准备做一个统一异常处理@ControllerAdvice 后台代码: package com.nanjing.gulimall.product.exception;import com.nanjing.common.exception.BizCodeEnum; import com.nanjing.common.utils.R; import lombok.extern.slf4j.Slf4j; import org…...
VUE+Spring Flux实现SSE长连接
VUE代码 // 初始化EventSourceinitEventSource(url) {const token getAccessToken();const eventSource new EventSourcePolyfill(url, {headers: {Authorization: Bearer ${token},tenant-id: getTenantId(),}});eventSource.onerror (e) > {console.log("SSE连接错…...
C#实现Winform程序右下角弹窗消息提示
前言 消息通知在应用程序中,是一种非常有用的功能,实现对一些重要信息、提醒或警告及时向用户展示。我们在使用软件时,通常会收到一种从桌面右下角弹出的(提示信息或广告)信息框。本文将介绍使用 C# 实现此种方式的信息…...
Java三剑客:封装、继承、多态的魔法世界
第一章:封装的艺术 —— 保护你的宝藏 案例分析:银行账户系统 想象一下,你正在构建一个银行账户系统。每个账户都有一个余额,这个余额需要受到严格的保护,不能被随意修改。我们可以通过封装来实现这一目标。 示例代…...
0145__Linux的capability
https://zhuanlan.zhihu.com/p/693896673 Linux的capability深入分析(1)_linux 设置进程capprm-CSDN博客 cap_init(3) - Linux manual page...

# Redis 入门到精通(一)数据类型(4)
Redis 入门到精通(一)数据类型(4) 一、redis 数据类型–sorted_set实现时效性任务管理 1、sorted_set 类型数据操作的注意事项 score 保存的数据存储空间是64位,如果是整数范围是-9007199254740992~9007199254740992…...

西邮计科嵌入式复习
西邮嵌入式复习 一、第一章复习二、第二章复习三、第三章复习四、第四章复习 一、第一章复习 二、第二章复习 三、第三章复习 四、第四章复习...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...