基于亚马逊云科技构建音视频直播审核方案
1. 前言
随着互联网内容形态的多样化发展,用户生成内容(UGC)呈现爆发式增长。社交平台、直播、短视频、语聊房等应用场景中,海量的音视频内容需要进行实时审核,以维护平台安全与用户体验。
然而,企业在构建审核系统时通常面临以下挑战:
-
审核准确性:需要精准识别多种媒介中的违规内容,减少误判率
-
实时性要求:在直播等场景要求尽可能快地获取结果
-
成本压力:审核成本高昂,自建审核平台投入大
-
规则定制:不同场景下的审核标准各异,需要灵活配置
-
系统稳定性:需要支持高并发且保证服务可用性
基于此,我们将介绍如何利用开源项目,以及亚马逊云科技的服务,包括 Amazon Bedrock、Amazon Rekognition、Amazon SageMaker 等,构建一个性价比高、支持多模态内容审核、响应延迟低、规则可配置的直播、存量音视频审核解决方案。
2.直播审核简介
2.1 直播审核整体架构图
本方案支持基于实时视频流的审核,仅需提供播放链接,即可进行审核。
2.2 直播审核亚马逊云科技架构图
服务简介:
-
Amazon Lambda:是一项无服务器计算服务,可执行您的代码,可快速帮助您将想法转化为应用程序。
-
Amazon SQS:适用于微服务、分布式系统和无服务器应用程序的完全托管的消息队列。
-
Amazon DynamoDB:无服务器、NoSQL、完全托管的数据库,在任何规模下均具有个位数毫秒级的性能。
-
Amazon ECS:是一项完全托管式容器编排服务,可帮助您更高效地部署、管理和扩展容器化的应用程序。
-
Amazon Fargate:是一种无服务器的计算引擎,可让您专注于构建应用程序,而无需管理服务器。
-
Amazon Rekognition:利用机器学习技术自动执行图像识别和视频分析并降低成本,支持内容审核、人脸识别、面孔比较、名人识别等诸多功能。
-
Amazon Sagemaker:是一站式机器学习平台,支持大规模构建、训练和部署机器学习模型。我们可以在 Amazon SageMaker 中部署 ASR 模型(如 Whipser)。
-
Amazon Bedrock: 是一项完全托管的服务,通过 API 即可轻松调用 Amazon Nova、Anthropic Claude、Meta Llama、Stable Diffusion 等前沿的高性能基础模型。我们可以通过 Amazon Bedrock 调用 Amazon Bedrock Marketplace 中的 ASR 模型(如 Whisper)。
架构简介:
A. 通过 ApiGateway 发送审核请求到 CreateTask Lambda。
B. CreateTask Lambda 创建 ECS Fargate 任务用于处理直播流(为降低延迟 ECS 中可预置部分 Fargate)。
C. CreateTask Lambda 将审核任务信息(播放链接、用户信息等)存入 ModerationTaskSQS 以及 DynamoDB。
D. ECS 中的 Fargate 服务从 ModerationTaskSQS 获取消息,并处理直播流。
E. ECS 从直播流中截取图片/视频(直播视频的视觉审核,可通过截取直播视频中的图片或者短视频进行审核)、音频文件存入 S3,并将音频/图片/视频审核信息存入 SQS。
F. 图片/视频审核的 SQS 触发 Image/Video ModerationLambda,调用 Bedrock 中的模型/Rekogniton 进行审核。
G. 音频审核的 SQS 触发 Audio ModerationLambda,首先调用 SageMaker 中的 Whisper 进行语音识别,然后调用 Bedrock 中的模型进行审核。
H. 音频/图片/视频审核审核完成后,会将信息存入 Dynamodb,将违规素材存入 S3,同时将信息存入 MessagePush SQS。SQS 会调用 MessagePush Lambda 给用户的回调服务器推送消息。
方案费用:
本方案采用无服务器架构,只需为用量付费,并可享受部分免费套餐。其中部分费用如下:
-
Amazon Nova Micro:进行文本审核,每 1000token 仅需 $0.000035。
-
Amazon Nova Lite:进行图片/视频审核,每 1000token 仅需 $0.00006。
-
Amazon DynamoDB:免费提供 25GB 的存储量以及每月最多 2 亿次读/写请求(永久)。
-
Amazon SQS:每月免费提供 100 万的请求(永久)。
-
Amazon Api Gateway:每月接收 100 万次 API 调用(12 个月内)。
-
Amazon Lambda:每月免费提供 100 万个请求(永久)。
-
Amazon Rekognition:每月可以免费使用 Rekognition 分析 1000 张图像(12 个月内)。
直播审核涉及的技术点主要有直播流处理、音频审核、文本审核、图像审核。
2.3 直播流处理
我们可以通过 FFmpeg 处理直播流。针对直播中的声音,可以通过 FFmpeg 截取音频。针对直播中的图像,可以通过 FFmpeg 截取图片或视频(无声)。
FFmpeg 是一个强大的多媒体处理工具,常用于音视频转码、剪辑、格式转换等。在 AWS 上,除传统虚拟机外,还支持通过 Lambda 或 Fargate 等 Serverless 服务来部署 FFmpeg。通过 Lambda 和 Fargate 部署 FFmpeg 的区别如下:
-
Amazon Lambda 部署 FFmpeg:适用于短时、低频的处理任务,按使用量计费,无需管理服务器,支持高并发。但受 15 分钟执行时间限制,适用于短音视频处理。
-
Amazon Fargate 部署 FFmpeg:适用于长时间、高性能处理任务,自动扩展计算资源。无需管理容器。相比 Lambda,适合复杂和大规模需求的处理。
通过 FFmpeg 从直播流中截取音频的代码如下:
#音频截帧时长
audio_segment_duration=10
audio_dir ="audio"
media_url="lee.mp4"
stream = ffmpeg.input(media_url,)
audio_output_pattern = os.path.join(audio_dir, '%06d.wav')audio_output = ffmpeg.output(stream['a:0'], audio_output_pattern,acodec='pcm_s16le',ar=16000,ac=1,f='segment',segment_time=audio_segment_duration,reset_timestamps=1)
通过 FFmpeg 从直播流中截取图片的代码如下:
#图片截帧频率
snapshot_interval=1
img_dir = "image"
stream = ffmpeg.input(media_url,)
image_output_pattern = os.path.join(img_dir, '%06d.jpg')image_output = ffmpeg.output(stream['v'], image_output_pattern,vf=f'fps=1/{snapshot_interval}',start_number=0
)
通过 FFmpeg 从直播流中截取无声视频的示例代码如下:
#### 小标题
video_output = ffmpeg.output(stream.video, output_pattern,c='copy',f='segment',segment_time=segment_duration,reset_timestamps=1)
下一步我们需要分别对音频及图像(图片或无声视频)进行审核。
2.4 音频审核
音频审核通常需要先将语音转换为文本,再利用文本审核技术识别违规内容。
在本方案中我们在 Audio Moderation Lambda 中调用 SageMaker 中的 Whipser 进行语音识别获取文本。然后调用 Bedrock 中的 Nova/Claude 对文本进行审核。
在亚马逊云科技有多种方式均可实现语音识别,我们以 SageMaker 部署自定义 ASR 模型(如 Whisper)为例。首先在 SageMaker 中创建笔记本实例。
然后在 SageMaker Notebook 中运行以下代码即可部署 Whipser 推理端点。
import sagemaker
import boto3
from sagemaker.huggingface import HuggingFaceModeltry:role = sagemaker.get_execution_role()
except ValueError:iam = boto3.client('iam')role = iam.get_role(RoleName='sagemaker_execution_role')['Role']['Arn']hub = {'HF_MODEL_ID':'openai/whisper-large-v3-turbo','HF_TASK':'automatic-speech-recognition'
}huggingface_model = HuggingFaceModel(transformers_version='4.37.0',pytorch_version='2.1.0',py_version='py310',env=hub,role=role
)my_endpoint_name="content-moderation-endpoint-whisper"predictor = huggingface_model.deploy(initial_instance_count=1, instance_type='ml.g4dn.xlarge' ,endpoint_name=my_endpoint_name
)
在审核项目中使用以下代码即可以调用 SageMaker Endpoint 中的 Whisper 将音频转为文本。
with open(local_file, 'rb') as audio_file:audio_data = audio_file.read()sagemaker_runtime = boto3.client('sagemaker-runtime', REGION_NAME)response = sagemaker_runtime.invoke_endpoint(EndpointName=WHISPER_ENDPOINT_NAME,ContentType='audio/x-audio',Body=audio_data)print(json.loads(response['Body'].read().decode()))
为了提高 Whisper 转录的效率以及提高 Whisper 的准确率,可以在调用 Whisper 之前将音频使用 VAD 进行预处理,从音频中提取人声,然后再将音频文件交给 Whisper 进行识别。
除在 SageMaker 中部署 ASR 模型的方式外,亚马逊云科技还提供多种语音识别(ASR)相关的服务,助力高效音频审核:
-
Amazon Transcribe:完全托管的语音识别服务,基于强大语音模型,为流式或录制音频提供高精度转录,适用于大规模、高实时性场景。
-
Amazon Bedrock:支持通过 API 访问领先的模型,无需管理基础设施,即可调用模型(如 Whisper)。
2.5 文本审核
通过语音识别获取到音频文本后,可以通过 Amazon Bedrock 调用 Nova/Claude 等大语言模型对文本审核。
通过大语言模型进行文本审核的示例提示词如下:
你是一个论坛的审核员,需要维护网络环境,请对下面用户提供的内容进行文本审核,判断是否涉及色情、仇恨、赌博、辱骂等违规内容。我们会根据你反馈的内容,选择是否封禁这段内容。用户提供的内容为:
xxxxxxxxxxxxxxx
通过 Amazon Bedrock 进行文本审核的优势在于高效性、准确性和可扩展性。
-
它能快速处理海量文本,识别敏感信息、违规内容及潜在风险。
-
LLM 具备上下文理解能力,能更精准地判断语境,减少误判率。
-
LLM 支持多语言,适应性强
-
LLM 能根据规则通过修改提示词的方式自定义优化审核标准。
此外,使用 Amazon Bedrock 进行审核,极具性价比。使用 Nova Micro 进行文本审核,每 1000token 仅需 $0.000035。
*许多基础模型在 API 调用中会重复使用提示词的某些部分。通过提示缓存,可允许在请求中缓存这些重复的提示前缀。该缓存允许模型跳过重新计算匹配前缀的步骤。对于支持的模型,Amazon Bedrock 中的提示缓存可将成本降低多达 90%,并将延迟减少高达 85%。
2.6 图像审核
在亚马逊云科技上我们有两种技术路线可以用来进行图像审核:Amazon Bedrock 中的多模态 LLM 或 Amazon Rekognition 服务,他们的大致特点如下:
Amazon Rekognition:
-
利用机器学习技术自动执行图像识别和视频分析并降低成本,支持内容审核、人脸识别、面孔比较、名人识别等诸多功能。
-
Rekognition 默认支持 31 个类别的图片审核,并支持用户自定义标签。
-
Rekognition 根据用量每张图审核的价格为 001-0.00025。
Amazon Bedrock:
-
Bedrock 中的 Nova/Claude 模型支持对图片进行批量审核。
message_list = [{"role": "user","content": [{"text": "下方图片为image 1"},{"image": {"format": "png","source": {"bytes": "base64_string"}}},{"text": "下方图片为image 2"},{"image": {"format": "png","source": {"bytes": "base64_string"}}},{"text": "请对图片进行审核."}]}
]
-
Bedrock 中的 Nova Lite/Pro 模型支持视频(无声)进行审核。
#方式1:直接上传视频进行审核
message_list = [{"role": "user","content": [{"video": {"format": "mp4","source": {"bytes": base64_string},}},{"text": "请对该视频进行审核."},],}
]
#方式2:支持直接审核S3中的视频
{"video": {"format": "mp4","source": {"s3Location": {"uri": "s3://my_bucket/my_video.mp4"}}}
}
LLM 审核支持自定义提示词,对审核的规则进行调整。
-
Amazon Nova Lite 每 1000 token $0.00006。
-
Amazon Nova Pro 每 1000 token $0.0008。
*通过 Nova 进行视频审核,极具性价比。下表列出了每个视频长度的帧采样和令牌使用率的一些近似值:
3. 存量音视频审核简介
本方案除直播审核外,同样支持存量音视频的审核。
3.1 长视频/音频审核
如果音视频时长大于 15 分钟,建议使用 ECS 进行对音视频进行截取。
A. 将文件存入 S3,S3 通过事件触发 ModerationTaskSQS。
B. ModerationTaskSQS 触发 CreateTask Lambda。
C. CreateTask Lambda 创建 ECS 任务用于处理音视频文件。
D. AudioVideo ProcessECS 将截取后的音视频文件存入 S3,并将审核信息存入 DynamoDB,同时将审核任务信息存入图像/视频/音频审核的 SQS。
E. 音频/图片/视频审核审核完成后,会将信息存入 DynamoDB。
3.2 短视频/短音频审核
如果音视频时长小于等于 15 分钟,建议使用 Lambda 进行对音视频进行审核。
A. 将文件存入 S3,S3 通过事件触发图像/视频/音频审核的 SQS,然后调用 Lambda 进行审核。
B. 音频/图片/视频审核审核完成后,会将信息存入 DynamoDB。
4. 部署与测试
本方案支持通过 CDK 进行部署。
4.1 直播审核测试
4.1.1 准备直播流
1、在 IVS 控制台创建直播通道
2、在直播通道详情页面,获取推流地址、流密钥与播放地址
3、在 OBS 等推流软件,配置推流密钥/推流地址
*Amazon IVS :互动视频服务,采用与全球知名直播流媒体平台 Twitch 相同的技术,只需几分钟即可构建流媒体互动直播。
4.1.2 直播审核
1、在 OBS 软件点击开启直播
2、调用直播审核接口即可进行直播审核
curl --location 'https://xxxxxx/api/submit_moderation' \
--header 'user_id: [YOUR_USER_ID]' \
--header 'token: [YOUR_TOKEN]' \
--header 'Content-Type: application/json' \
--data '{"url":"https://xxxxxx/xxx/xxx.m3u8"
}'
4.2 存量音视频审核测试
在 S3 存储桶中创建 s3_audio_moderation、s3_video_moderation 文件夹。将音视频文件放入对应的目录即可实现审核。
5. 总结
本文介绍了一种基于亚马逊云服务、ffmpeg 的音视频审核方案。该方案为音视频审核提供了完整的端到端解决方案和参考实现。基于 AWS Serverless 服务,在确保高可用的同时,用户只需为实际用量进行付费。基于 Amazon Bedrock 等服务,可以实现高效的审核,有效帮助用户实现降本增效。
希望本文能够为大家进行音视频审核时提供灵感。如果你对该项目感兴趣,欢迎关注、试用并提出宝贵建议,共同推动审核技术的发展!
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。
参考链接
内容审核项目地址:https://github.com/aws-samples/sample-for-content-moderation
Amazon Bedrock:使用基础模型构建生成式人工智能应用程序 – Amazon Bedrock – AWS
Amazon Nova:https://aws.amazon.com/cn/ai/generative-ai/Nova
Amazon Rekogniton:Amazon Rekognition 图像识别_图片识别服务-AWS云服务
Amazon Sagemaker:Amazon SageMaker 机器学习_机器学习模型构建训练部署-AWS云服务
Amazon IVS:交互式直播流 — Amazon Interactive Video Service — Amazon Web Services
Prompt Caching:缓存请求之间的提示 – Amazon Bedrock 提示缓存 – AWS
本篇作者
本期最新实验《多模一站通 —— Amazon Bedrock 上的基础模型初体验》
✨ 精心设计,旨在引导您深入探索Amazon Bedrock的模型选择与调用、模型自动化评估以及安全围栏(Guardrail)等重要功能。无需管理基础设施,利用亚马逊技术与生态,快速集成与部署生成式AI模型能力。
⏩️[点击进入实验] 即刻开启 AI 开发之旅
构建无限, 探索启程!
相关文章:
基于亚马逊云科技构建音视频直播审核方案
1. 前言 随着互联网内容形态的多样化发展,用户生成内容(UGC)呈现爆发式增长。社交平台、直播、短视频、语聊房等应用场景中,海量的音视频内容需要进行实时审核,以维护平台安全与用户体验。 然而,企业在构…...
Vue3 组件之间传值
在 Vue3 中,组件之间的数据传递主要有以下几种方式,适用于不同的场景: 一、父组件向子组件传值:props 1. 子组件定义 props <!-- ChildComponent.vue --> <script setup> // 组合式 API(推荐)…...
深入理解用于中断控制的 NVIC 寄存器
NVIC 中有多个用于中断控制的寄存器(异常类型 16~255),这些寄存器位于系统控制空间(SCS)地址区域。下表是这些寄存器的概览: 除了软件触发寄存器(STIR)外,所有这些寄存器…...
Podman(Pod Manager)简介
Podman 简介 Podman(Pod Manager)是一个开源的容器管理工具,由红帽(Red Hat)开发,用于替代 Docker,支持运行、管理 OCI(Open Container Initiative)容器和容器镜像。它设…...
HarmonyOS NEXT端云一体化工程目录结构
视频课程学习报名入口:HarmonyOS NEXT端云一体化开发 端云一体化开发工程由端开发工程(Application)和云开发工程(CloudProgram)两大核心模块构成。 1)端开发工程目录结构 端开发工程主要用于开发应用端侧的业务代码,通用云开发模板的端开发工程目录结构如下图所示: …...
【C++ 真题】P1075 [NOIP 2012 普及组] 质因数分解
P1075 [NOIP 2012 普及组] 质因数分解 题目描述 已知正整数 n n n 是两个不同的质数的乘积,试求出两者中较大的那个质数。 输入格式 输入一个正整数 n n n。 输出格式 输出一个正整数 p p p,即较大的那个质数。 输入输出样例 #1 输入 #1 21输…...
力扣热题100,力扣148.排序链表力扣.26找出字符串中第一个匹配项的下标力扣146.LRU缓存序列管理器
目录 力扣148.排序链表 力扣.26找出字符串中第一个匹配项的下标 力扣146.LRU缓存 序列管理器 力扣148.排序链表 那个O1,暂时我没有考虑,但是这个nlogn,我就想什么时候会有log呢,应该是2的次幂方向思考,一说2,是否能想到2分呢&…...
防火墙高可靠性
防火墙高可靠性技术概述 防火墙高可靠性技术分为两类:设备高可靠性和链路高可靠性 防火墙双机热备 双机热备概述及相关协议 HRP协议:即Huawei Redundancy Protocol,主要用于实现防火墙双机之间关键配置命令和状态化信息的备份,…...
C++ stack对象创建、入栈、获取栈顶
stack对象创建直接调用C对应的<stack>,进行创建 #include<iostream> #include<stack>using namespace std;int main() {// 1 默认构造函数stack<int> stk1;// 2 拷贝构造函数stack<int> stk2;stk1 stk2;return 0;} 入栈操作有一条…...
x-cmd install | Pillager:Go 语言打造的敏感信息文件系统扫描利器
目录 Pillager 的独特优势安装Pillager 的应用场景Pillager 的核心功能 还在为文件系统中潜在的敏感信息泄露而担忧吗?Pillager 是一款由 Go 语言编写的强大工具,旨在帮助你轻松扫描文件系统,发现隐藏的密钥、密码、API 令牌等敏感信息。 Pil…...
第9.1讲、Tiny Encoder Transformer:极简文本分类与注意力可视化实战
项目简介 本项目实现了一个极简版的 Transformer Encoder 文本分类器,并通过 Streamlit 提供了交互式可视化界面。用户可以输入任意文本,实时查看模型的分类结果及注意力权重热力图,直观理解 Transformer 的内部机制。项目采用 HuggingFace …...
asp.net web form nlog的安装
一、安装NuGet包 核心包安装 NLog提供日志记录核心功能 NLog.Config自动生成默认配置文件模板 配置NLog文件 配置文件创建 项目根目录自动生成NLog.config文件(通过NuGet安装NLog.Config时创建) <?xml version"1.0" encoding&…...
定时器的两种实现方式
1、基于优先级队列/堆 队列是先进先出,优先级队列是优先级越高就存放在队列之前,我们可以将过期时间越早设置为优先级越高,那么临近过期时间的任务就会在队列前面,距离过期时间越晚的任务就在队列后面。 可以分配一个线程&#…...
2025.05.21华为暑期实习机考真题解析第一题
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 01. 智能云任务分发系统 问题描述 卢小姐负责一家云计算公司的任务分发系统开发。该系统需要根据任务优先级和到达顺序进行智能调度,支持以下两种操作: 添加任务 add task_id pri…...
计算机网络-MPLS VPN报文转发
上一章学习了MPSL VPN的路由交互过程,VPN间学习到路由之后可以进行报文的转发了。 一、MPLS VPN报文转发过程 以图中用户X的站点B访问站点A的192.168.1.0/24网段为例,报文转发过程如下: 1.CE3上存在到192.168.1.0/24网段路由,发…...
关于sql 查询性能优化的小经验
最近接到一些sql优化的任务。数据库类型:DB2 有一个长sql查询效率低,大概要几十秒,大概查询逻辑如下: select * from tableA a where exists (select 1 from tableB b where a.idb.id ) or exists (select 1 from tableC c whe…...
Pandas:数据分析步骤、分组函数groupby和基础画图
本文目录: 一、概念(一)数据分析的基本步骤(二)两个属性:loc[行标签,列标签 ] 和 iloc[行索引位置,列索引位置 ]1.基本规则2.两属性的相同和不同对比 二、加载数据(一)按列加载数据&…...
游戏引擎学习第302天:使用精灵边界进行排序
在 game_render_group.cpp 中:正确计算 GetBoundFor() 里的 SpriteBound 值 我们正在进行游戏的排序问题调试。虽然这是一个二维游戏,但包含一些三维元素,因此排序变得比较复杂和棘手。混合二维和三维元素时,需要依赖一些比较主观…...
【完整版】基于laravel开发的开源交易所源码|BTC交易所/ETH交易所/交易所/交易平台/撮合交易引擎
功能说明 源码简介与安装环境说明: 开源交易所,基于laravel开发的交易所 | BTC交易所 | ETH交易所 | 交易所 | 交易平台 | 撮合交易引擎。本项目有完整的撮合交易引擎源码、后台管理(后端前端)、前台(交易页面、活动页…...
DeepSeek赋能智能家居:构建高智能、低延迟的物联网生态
一、DeepSeek技术架构解析 DeepSeek采用分层架构设计,兼容边缘计算与云端协同,核心模块包括: 1. 设备接入层 多协议适配:支持MQTT、CoAP、Zigbee、WiFi等主流协议,内置设备描述语言(DDL)解析器,可自动发现并注册新设备。数据预处理:对传感器数据(如温度、光照、加速…...
鸿蒙开发:应用上架第二篇,申请发布证书
前言 本文基于Api13 通过第一篇文章,我们拿到了密钥库.p12文件和证书请求csr文件,这两个文件都是非常重要的,一定要保存好,我们也基本知道了应用的打包,签名信息文件是必须的,而对于签名信息,也…...
Android Framework开发环境搭建
本文分享下在Windows和ubuntu系统搭建framework 开发环境的过程。 Window系统版本win11 一.在windows搭建android framework开发环境。 到下面网站下载android studio 。 developer.android.google.cn/studio?hlzh-cn 在as 的sdk manager 中安装SDK Platform和SDK Tools。 2…...
关于收集 Android Telephony 网络信息的设计思考
需求 收集service state change、ims fail 等相关无线移动网络状态的信息,并保存,对外提供数据查询、删除、更新的功能。 架构设计与实现建议 1. 架构设计建议 针对在 Android Telephony 数据模块中实现网络状态信息收集并调用 Provider App 存储的需求,建议采用 分层的…...
弱网服务器群到底有什么用
在当今数字化的时代,大家都在追求高速、稳定的网络体验,但你是否想过,弱网服务器群其实也有着不可小觑的作用。让我们来聊聊什么是弱网服务器群。简单来说,它是一组在网络条件相对较差情况下运行的服务器集合。 弱网服务器群组是一…...
如何提高独立服务器的安全性?
独立服务器相对于其它服务器来说,整体的硬件设备都是独立的同时还有着强大的服务器性能,其中CPU设备能够决定着服务器的运算能力,所以独立服务器的安全性受到企业格外的重视,严重的话会给企业造成巨大的资金损失。 那么࿰…...
ubuntu 搭建FTP服务,接收部标机历史音视频上报服务器
1.安装vsftpd 1.1.安装命令 sudo apt update sudo apt install vsftpd 1.2.备份原始配置文件 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak 1.3.配置 vsftpd 编辑配置文件 /etc/vsftpd.conf: sudo vim /etc/vsftpd.conf 将以下参数修改为对应值ÿ…...
在离线 OpenEuler-22.03 服务器上升级 OpenSSH 的完整指南
当然可以!以下是一篇结构清晰、语言通俗易懂的技术博客草稿,供你参考和使用: 在离线 OpenEuler-22.03 服务器上升级 OpenSSH 的完整指南 背景介绍 最近在对一台内网的 OpenEuler-22.03 服务器进行安全扫描时,发现其 SSH 版本存在…...
用java实现内网通讯,可多开客户端链接同一个服务器
创建一个客户端:package Socket;import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.nio.charset.StandardCharsets; import java.util.Scanner;/* 聊天案例客户端 */ public class Client {private Socket socket;/**…...
蓝耘服务器部署ppocr-gpu项目
一、存在的问题。 conda install 总是访问失败。 二、云服务器选择 三、安装Anaconda3 进入云服务器后删除minconda文件夹 官网: https://repo.anaconda.com/archive/ 在里面找到自己系统的安装包,然后右击复制链接安装。 一定要选择Anaconda,因为…...
离线服务器算法部署环境配置
本文将详细记录我如何为一台全新的离线服务器配置必要的运行环境,包括基础编译工具、NVIDIA显卡驱动以及NVIDIA-Docker,以便顺利部署深度学习算法。 前提条件: 目标离线服务器已安装操作系统(本文以Ubuntu 18.04为例)…...
现代人工智能系统的实用设计模式
关键要点 AI设计模式是为现代AI驱动的软件中常见问题提供的可复用解决方案,帮助团队避免重复造轮子。我们将其分为五类:提示与上下文(Prompting & Context)、负责任的AI(Responsible AI)、用户体验&…...
数据集下载并保存本地进行加载
一、huggingface 1、下载数据集 #数据集下载 from datasets import load_datasetds load_dataset("FreedomIntelligence/medical-o1-reasoning-SFT", "zh",cache_dir ./dir)输出测试 2、保存数据集 #数据保存 ds.save_to_disk("./local_datase…...
物流项目第六期(短信微服务——对接阿里云第三方短信服务JAVA代码实现、策略模式 + 工厂模式的应用)
前五期: 物流项目第一期(登录业务)-CSDN博客 物流项目第二期(用户端登录与双token三验证)-CSDN博客 物流项目第三期(统一网关、工厂模式运用)-CSDN博客 物流项目第四期(运费模板列…...
嵌入式学习的第二十五天-系统编程-文件相关函数-标准I0+文件IO
一、文件的读和写 1.fwrite(读) size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); 功能:从指定的stream流对象中获取nmemeb个大小为size字节的数据块到ptr所在的本地内存中。 参数:ptr 要存储数据的本地…...
MySQL 8.0 OCP 1Z0-908 171-180题
Q171.Examine this MySQL client command to connect to a remote database: mysql-h remote-example.org-u root–protocolTCP–ssl-mode Which two–ss1-mode values will ensure that an X.509-compliant certificate will be used to establish the SSL/TLS connection to …...
实现动态增QuartzJob,通过自定义注解调用相应方法
:::tip 动态增加Quartz定时任务,通过自定义注解来实现具体的定时任务方法调用。 ::: 相关依赖如下 <!-- 用来动态创建 Quartz 定时任务 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start…...
Linux网络 网络基础一
1. 计算机网络背景 1.1 网络发展 独立模式:计算机之间相互独立。 网络互联:多台计算机连接在一起,完成数据共享。 局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起。 广域网WAN:将远隔千里的…...
auto关键字解析
前言 在11标准之前,auto在c中是声明存储器类型的关键字。而在11标准中它的功能变为了类型推导。 对此, 在这里引入Cprimer中的原句: 编程时常常需要把表达式的值赋给变量,这就要求在声明变量的时候清楚的知道表达式的类型。然而…...
[实战]用户系统-1-基础功能完善
[实战]用户系统-1 目标响应格式化新建lib-interceptor增加res拦截器新建lib-filter完善异常处理日志处理新建lib-logger新增mongodb的model代码进度目标 我们的用户系统实战,将会实现以下功能,登录,注册,登出,修改用户信息,上传头像,响应的格式化,请求拦截,vip标识。…...
C#SQLServer数据库通用访问类
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace thinger.cn.ADO.NETTeach { /// /// 数据库的通用类 /// public class SQLHelperBase…...
Linux中进程控制(上)
目录 进程创建 写时拷贝 fork常用场景 fork调用失败的原因 进程终止 进程退出场景 退出码 _exit函数 exit函数 进程等待 进程等待必要性 进程等待方法 wait方法 编辑 waitpid方法 获取⼦进程status 阻塞和非阻塞等待 进程创建 在linux中fork函数是⾮常重要的…...
为什么服务器突然变慢?从硬件到软件的排查方法
服务器突然变慢是许多系统管理员和网站运维人员经常遇到的问题。这种情况可能会影响网站性能、用户体验以及整个业务流程。了解服务器变慢的原因并采取相应的排查措施是至关重要的。本文将介绍服务器突然变慢的可能原因,从硬件到软件方面逐一排查,并提供…...
碳交易系统九大构成
碳交易系统九大构成 碳排放权交易系统的核心要素包括覆盖范围、配额总量、配额分配、排放监测、报送与核查,履约考核、抵消机制、交易机制、市场监管及配套的法律法规体系。 图源《中国碳排放权交易市场:从原理到实践》 1、覆盖范围 碳排放权交易体系…...
第9.2讲、Tiny Decoder(带 Mask)详解与实战
自己搭建一个 Tiny Decoder(带 Mask),参考 Transformer Encoder 的结构,并添加 Masked Multi-Head Self-Attention,它是 Decoder 的核心特征之一。 1. 背景与动机 Transformer 架构已成为自然语言处理(NLP…...
Java接口P99含义解析
假设你开了一家奶茶店(接口就是你的奶茶制作流水线),每天要处理100杯订单: 🚀 P99是什么? 平均响应时间:就像说"平均每杯奶茶2分钟做好",但可能有10杯让客人等10分钟P99…...
【Oracle 专栏】清理用户及表空间
Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 今天需要清理一台服务器中之前的库,目前不再使用,以便释放空间。 如:清理 NH_MCRO_COLLECT 用户 2. 实验清理 2.1 查询:清…...
Qt功能区:Ribbon控件
控件 1. 按钮1.1 多选按钮1.2 2. 下拉列表框SARibbonComboBox2.1 简介2.2 代码实现 1. 按钮 1.1 多选按钮 软件功能:用于实现Category的名称居中。 SARibbonCheckBox继承于QCheckBox,使用方法完全相同。 SARibbonCheckBox* checkBox new SARibbonChe…...
eclipse 生成函数说明注释
在Eclipse中生成函数说明注释(JavaDoc风格)可以通过以下方法实现: 快捷键方式: 将光标放在函数上方输入/**后按回车键Eclipse会自动生成包含参数和返回值的注释模板 菜单方式: 选中函数点击菜单栏 Source > Gen…...
【Qt】QImage实战
QImage::Format_Mono, QImage::Format_RGB32, QImage::Format_ARGB32, QImage::Format_ARGB32_Premultiplied, 和 QImage::Format_RGB555 是 Qt 中不同的图像像素格式,它们在存储方式、颜色深度、是否支持透明通道以及适用场景上各有不同。下面是它们的详细对比&…...
tomcat知识点
1. JDK JDK是 Java 语言的软件开发工具包,JDK是整个java开发的核心,它包含JAVA工具还包括完整的 JRE(Java Runtime Environment)Java运行环境,包括了用于产品环境的各种库类,以及给开发人员使用的补充库。 JDK包含了一批用于Java开发的组件,其中包括: javac:编译器,将…...