AI作曲DiffRhythm原理及本地部署
1.原理简介
最近AI在音乐生成方面的进展引起了极大的关注,但现有的方法面临着严重的限制。一些当前的生成模型只能合成人声或伴奏轨道。虽然一些模型可以生成组合的人声和伴奏,但它们通常依赖于精心设计的多阶段级联架构和复杂的数据管道,阻碍了可扩展性。此外,大多数系统仅限于生成短音乐片段而不是全长歌曲。此外,广泛使用的基于语言模型的方法受到推理速度慢的困扰。DiffRhythm是第一个基于潜在扩散模型的歌曲生成模型,能够在短短 10 秒内合成具有人声和伴奏的完整歌曲,持续时间长达 4m45s,保持高音乐性和可理解性。
尽管 DiffRhythm 具有卓越的功能,但它的设计简单而优雅:它无需复杂的数据准备,采用简单的模型结构,并且在推理过程中只需要歌词和样式提示。此外,其非自回归结构确保了快速的推理速度。这种简单性保证了 DiffRhythm 的可扩展性。
模型结构如下:

有兴趣的同学可以阅读这篇论文:DiffRhythm: Blazingly Fast and Embarrassingly Simple
End-to-End Full-Length Song Generation with Latent Diffusion。
简单总结一下原理:
DiffRhythm 是一种基于潜在扩散的端到端歌曲生成模型,它能够以 44.1 kHz 的采样率生成长达 4 分 45 秒的完整立体声音乐作品,并通过歌词和风格提示进行引导。该模型的主要特点如下:
- 端到端生成: 与许多现有模型不同,DiffRhythm 能够同时生成人声和伴奏,无需复杂的级联架构或数据管道。
- 简单高效: 模型结构简洁,数据预处理简单,推理速度快,使其易于扩展和应用。
- 高质量输出: 即使生成完整的歌曲,DiffRhythm 也能保持高水平的音乐性和可理解性。
DiffRhythm 的关键组件:
-
变分自动编码器 (VAE): 用于学习音频的紧凑潜在表示,同时保留感知音频细节,从而降低扩散模型训练的计算需求。
-
扩散 Transformer (DiT): 在 VAE 学习到的潜在空间中生成歌曲,通过迭代去噪的方式完成。具体过程如下:初始化: DiT 接收来自 VAE 编码器的潜在表示作为输入,并添加随机噪声。条件输入: DiT 的输入除了潜在表示外,还包括风格提示、时间步长和歌词信息。风格提示用于控制歌曲的风格,时间步长指示当前的去噪步骤,歌词用于控制人声内容。Transformer 解码器: DiT 由多个 LLaMA 解码器层堆叠而成,每个层包含注意力机制和前馈网络。去噪: 在每个时间步长,DiT 预测潜在表示中噪声的分布,并使用该分布更新潜在表示,逐步去除噪声。重复步骤: DiT 重复进行注意力机制和前馈网络计算,以及去噪步骤,直到潜在表示中的噪声被完全去除,最终生成完整的歌曲。
-
歌词到潜在对齐机制: 用于解决全歌曲生成中的歌词和人声对齐问题,通过句级对齐方式实现高可理解性。具体步骤为:歌词预处理: 将歌词转换为音素序列,并与时间戳信息关联起来。音素到潜在对齐:初始化一个与潜在表示等长的潜在对齐序列,将其转换为音素序列。将音素序列覆盖到 对应的时间位置。
2.安装部署
安装需要的库:
sudo apt-get install espeak-ng
克隆项目:
git clone https://github.com/ASLP-lab/DiffRhythm.git
cd DiffRhythm
创建虚环境:
conda create -n diffrhythm python=3.10
conda activate diffrhythm
安装依赖:
pip install -r requirements.txt
简单运行源码示例:
bash scripts/infer_wav_ref.sh
或者输入提示进行音乐创作:
bash scripts/infer_prompt_ref.sh
用文字prompts示例:
azzy Nightclub Vibe, Pop Emotional Piano or Indie folk ballad, coming-of-age themes, acoustic guitar picking with harmonica interludes
无需音频参考!
生成纯音乐:
"Arctic research station, theremin auroras dancing with geomagnetic storms"
3.编写图形界面
源码没有带着图形界面,使用不方便,这里我用gradio写了一个简单的界面:
import gradio as gr
import subprocess
import os
import shutil
from datetime import datetime
import sys sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
# 配置参数
OUTPUT_DIR = "gradio_outputs"
os.makedirs(OUTPUT_DIR, exist_ok=True)def generate_music(lrc_text,ref_audio,ref_prompt,use_chunked
):"""核心音乐生成函数"""# ====== 输入验证 ======# 处理歌词输入if not lrc_text.strip():raise gr.Error("❗ 请输入歌词内容")lrc_content = lrc_text# 验证风格输入if not (ref_audio or ref_prompt):raise gr.Error("❗ 需要音频参考或文字描述")if ref_audio is not None and ref_prompt.strip() != "":raise gr.Error("❗ 请选择音频参考或文字描述中的一种方式")# ====== 创建临时目录 ======timestamp = datetime.now().strftime("%Y%m%d%H%M%S")temp_dir = os.path.join(OUTPUT_DIR, timestamp)os.makedirs(temp_dir, exist_ok=True)try:# ====== 保存歌词文件 ======lrc_path = os.path.join(temp_dir, "input.lrc")with open(lrc_path, "w", encoding="utf-8") as f:f.write(lrc_content)# ====== 处理参考音频 ======ref_audio_path = Noneif ref_audio:if isinstance(ref_audio, dict): # 适配新版Gradioref_audio_path = ref_audio["name"]else:ref_audio_path = ref_audioref_prompt = "" # 强制清空文字描述# 验证逻辑if not ref_audio_path and not ref_prompt.strip():raise gr.Error("❗ 必须提供参考音频或风格描述!")if ref_audio_path and ref_prompt.strip():raise gr.Error("❗ 请选择一种风格参考方式!")# ====== 构建执行命令 ======cmd = ["python3", "infer/infer.py","--lrc-path", lrc_path,"--audio-length", "95","--repo_id", "ASLP-lab/DiffRhythm-base","--output-dir", temp_dir]if use_chunked:cmd.append("--chunked")if ref_audio_path:cmd += ["--ref-audio-path", ref_audio_path]else:cmd += ["--ref-prompt", ref_prompt]# ====== 执行生成命令 ======result = subprocess.run(cmd,capture_output=True,text=True,check=True)# ====== 获取输出结果 ======output_path = os.path.join(temp_dir, "output.wav")if not os.path.exists(output_path):raise FileNotFoundError("生成结果文件不存在")# 返回两个相同的路径给音频组件和文件下载组件return output_path, output_pathexcept subprocess.CalledProcessError as e:error_detail = f"""🚨 生成失败!命令: {' '.join(e.cmd)}错误信息: {e.stderr}"""raise gr.Error(error_detail)except Exception as e:raise gr.Error(f"🚨 发生未知错误: {str(e)}")# ====== 界面布局 ======
with gr.Blocks(title="AI音乐工作室", theme=gr.themes.Soft(), css=".dark {background: #f0f2f6}") as demo:gr.Markdown("""<div style="text-align: center; padding: 20px;"><h1 style="color: #2563eb;">🎵 AI音乐工作室</h1><p style="color: #4b5563;">通过人工智能生成个性化音乐作品</p></div>""")with gr.Row(variant="panel"):# 输入区with gr.Column(scale=1):# 歌词输入lrc_text = gr.Textbox(label="直接输入歌词(LRC格式)",placeholder="""示例格式:
[00:00.00] 开始你的音乐之旅
[00:05.00] 用代码创造旋律
[00:10.00] 人工智能生成音乐""",lines=8,max_lines=20,visible=True)# 风格控制区with gr.Tabs():with gr.Tab("🎧 音频参考"):ref_audio = gr.Audio(label="上传参考音频(支持WAV/MP3)",type="filepath",sources=["upload"],waveform_options={"show_controls": True})with gr.Tab("📝 文字描述"):ref_prompt = gr.Textbox(label="音乐风格描述(英文)",placeholder="例如:epic orchestral, dramatic strings, choir vocals",lines=3)# 高级选项with gr.Accordion("⚙️ 高级设置", open=False):use_chunked = gr.Checkbox(label="启用分块解码(推荐生成长音频)",value=True)generate_btn = gr.Button("🚀 开始生成", variant="primary")# 输出区with gr.Column(scale=1):gr.Markdown("### 🎧 生成结果")audio_output = gr.Audio(label="试听音频",interactive=False,waveform_options={"show_controls": True})output_file = gr.File(label="下载文件",file_types=[".wav"],visible=True)# ====== 交互逻辑 ======generate_btn.click(fn=generate_music,inputs=[lrc_text, ref_audio, ref_prompt, use_chunked],outputs=[audio_output, output_file])# ====== 启动应用 ======
if __name__ == "__main__":demo.launch(server_name="0.0.0.0",server_port=7860,show_error=True,share=False)
4.测试
用DeepSeek按照DiffRhythm要求的风格生成歌词,prompts:
请你帮我生成一首能用于作曲的歌词,表现出大学生积极向上,热爱学习,报效祖国的斗志。为了使生成的歌词能用于后面作曲,请你参考如下格式作词,格式参考如下:“00:16.53]我一大早 起不来
[00:19.82]我的眼睛 都没睁开
[00:22.69]蝴蝶 都飞起来
[00:26.61]畅快
[00:28.18]忽然听见
[00:29.20]好听的音乐
[00:32.35]就继续用力
[00:33.29]闭上 我的眼睛 baby
[00:39.37]这音乐 太动听 我怎么办
[00:43.05]我太开心 所有烦恼 被洗干净
[00:51.61]我一大早 就起来
[00:54.85]我的声音 都没放开
[00:57.79]歌声 却飞起来
[01:26.28]一道光 两支花 三个人 四分五裂
[01:29.58]六六大顺 七上八下”
生成的歌词:
# 青春的旋律
[00:00.00]清晨的阳光 洒在脸上
[00:03.25]唤醒沉睡的 梦想
[00:06.45]校园里回荡 知识的声浪
[00:09.70]我们心向远方
[00:12.90]教室里的灯光 闪烁希望
[00:16.15]书本散发墨香
[00:19.35]智慧的种子 在心中生长
[00:22.60]未来由我们开创
[00:25.80]实验室里 探索真相
[00:29.05]代码在指尖流淌
[00:32.25]创新的火花 点亮夜的迷茫
[00:35.50]真理等待丈量
[00:38.70]运动场 上挥洒汗水
[00:41.95]青春的力量无法掩盖
[00:45.15]团结拼搏 是我们的风采
[00:48.40]梦想展翅豪迈
[00:51.60]啊 祖国母亲 我们时刻准备着
[00:54.85]用知识为您添砖加瓦
[00:58.05]在时代的舞台上大放光芒
[01:01.30]让世界见证我们的力量
风格设置为:
Inspirational Rock
上传参考音频重新作曲,这里我用的是“那条街”做参考音频:
相关文章:
AI作曲DiffRhythm原理及本地部署
1.原理简介 最近AI在音乐生成方面的进展引起了极大的关注,但现有的方法面临着严重的限制。一些当前的生成模型只能合成人声或伴奏轨道。虽然一些模型可以生成组合的人声和伴奏,但它们通常依赖于精心设计的多阶段级联架构和复杂的数据管道,阻…...
农业电商|基于SprinBoot+vue的农业电商服务系统(源码+数据库+文档)
农业电商服务系统 目录 基于SprinBootvue的农业电商服务系统 一、前言 二、系统设计 三、系统功能设计 5.1系统功能实现 5.2后台模块实现 5.2.1管理员模块实现 5.2.2商家模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码…...
深度学习有哪些算法?
深度学习包含多种算法和模型,广泛应用于图像处理、自然语言处理、语音识别等领域。以下是主要分类及代表性算法: 一、基础神经网络 多层感知机(MLP) 最简单的深度学习模型,由多个全连接层组成,用于分类和回…...
鸿蒙开发-一多开发之媒体查询功能
在HarmonyOS中,使用ArkTS语法实现响应式布局的媒体查询是一个强大的功能,它允许开发者根据不同的设备特征(如屏幕尺寸、屏幕方向等)动态地调整UI布局和样式。以下是一个使用媒体查询实现响应式布局的实例: 1. 导入必要…...
历年华中科技大学计算机考研复试上机真题
历年华中科技大学计算机考研复试上机真题 2022华中科技大学计算机考研复试上机真题 2021华中科技大学计算机考研复试上机真题 2019华中科技大学计算机考研复试上机真题 在线评测:https://pgcode.cn 八进制 题目描述 输入一个整数,将其转换成八进制数…...
卷积神经网络(CNN)的主要架构
卷积神经网络(CNN, Convolutional Neural Networks)是深度学习中最重要的模型之一,广泛应用于计算机视觉、目标检测、语义分割等任务。自 LeNet 诞生以来,CNN 结构经历了多个重要发展阶段,出现了许多经典架构ÿ…...
IDEA:项目结构不见了,项目文件消失解决
IDEA:看不见目录结构了。 1、确认项目是否仍存在:检查项目文件夹是否仍然存在于磁盘上。如果项目文件夹被删除或移动了,您需要将其还原或重新导入到IDEA中。 2、重新导入项目:如果项目文件存在,在 IDEA 中找到项目文…...
基于ssm的宠物医院信息管理系统(全套)
一、系统架构 前端:html | layui | vue | element-ui 后端:spring | springmvc | mybatis 环境:jdk1.8 | mysql | maven | tomcat | idea | nodejs 二、代码及数据库 三、功能介绍 01. web端-首页1 02. web端-首页…...
How to install a package in offline scenario in Ubuntu 24.04
概述 做过信创项目的兄弟们在工作上每天可能面对很多需要解决的问题,不过,有一类问题可能是大家经常遇的,比方说,有时候我们不得不硬着头皮在离线生产环境中安装某些软件包,相信很多兄弟被这种细碎的小事搞得焦头烂额…...
将pdf或者word转换成base64格式
废话不多说直接上代码: function fileToBase64(file) {return new Promise((resolve, reject) > {const reader new FileReader();reader.readAsDataURL(file);reader.onload function (event) {const base64Data event.target.result.split(,)[1];resolve(b…...
使用Nodejs基于DeepSeek加chromadb实现RAG检索增强生成 本地知识库
定义 检索增强生成(RAG)的基本定义 检索增强生成(Retrieval-Augmented Generation,简称RAG)是一种结合了信息检索技术与语言生成模型的人工智能技术。RAG通过从外部知识库中检索相关信息,并将其作为提示&…...
乐观锁VS分布式锁实现抢单服务
司机开始接单,乘客填写出发地——目的地,开始下单 service-order模块 Operation(summary"司机抢单") GetMapping("/robNewOrder/{driverId}/{orderId}") public Result<Boolean> robNewOrder(PathVariable Long driverId,P…...
通过特征值和特征向量实现的图像压缩和特征提取
前文,我们在学习人工智能的线性代数基础的时候,就了解到,矩阵在人工智能中被广泛使用,接下来我们就从大家非常常见的图像开始,深度理解矩阵在人工智能中的应用。有关线性代数基础的文章可以看的我CSDN:人工智能中的线性…...
ranger集成starrock报错
org.apache.ranger.plugin.client.HadoopException: initConnection: Unable to connect to StarRocks instance, please provide valid value of field : {jdbc.driverClassName}.. com.mysql.cj.jdbc.Driver. 可能的原因 JDBC 驱动缺失:运行环境中没有安装 MySQL …...
第J2周:ResNet50V2算法实现01(Tensorflow硬编码版)
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标 使用tensorflow实现ResNetV50V2的网络结构。本次根据第一层的细节手动硬编码,没有任何的优化,只为了更好的理解细节。 目录结构&…...
论文分享 | HE-Nav: 一种适用于复杂环境中空地机器人的高性能高效导航系统
阿木实验室始终致力于通过开源项目和智能无人机产品,为全球无人机开发者提供强有力的技术支持,并推出了开源项目校园赞助活动,助力高校学子在学术研究与技术创新中取得更大突破。近日,香港大学王俊铭同学,基于阿木实验…...
【mysql】centOS7安装mysql详细操作步骤!—通过tar包方式
【mysql】centOS7安装mysql详细操作步骤! linux系统安装mysql版本 需要 root 权限,使用 root 用户进行命令操作。使用tar文件包,安装,gz包也可以但是还需要配置用户,tar包虽然大,但是全啊! 1. …...
java学习笔记1
程序编译步骤 java程序执行步骤 相关代码及解释: /* 对第一个java程序进行总结 1. java程序编写-编译-运行的过程 编写:我们将编写的java代码保存在以".java"结尾的源文件中 编译:使用javac.exe命令编译我们的java源文件。格式&am…...
强大的数据库DevOps工具:NineData 社区版
本文作者司马辽太杰, gzh:程序猿读历史 在业务快速变化与数据安全日益重要的今天,生产数据库变更管理、版本控制、数据使用是数据库领域的核心挑战之一。传统的解决方式往往采用邮件或即时通讯工具发起审批流程,再通过堡垒机直连数…...
「Unity3D」UGUI运行时设置元素的锚点Anchor,维持元素Rect的显示不变,即待在原处
在编辑器中,通过设置Raw edit mode,可以切换两种,元素锚点的改变模式: 一种是锚点单独改变,即:不开启原始模式,保持原样,改变anchoredPosition与sizeDelta。一种是锚点联动显示&…...
深入解析大语言模型的 Function Call 实现—— 以 Qwen2.5为例
引言 在现代大语言模型(LLM)中,Function Call(函数调用)能力极大地提升了模型的实用性,使其能够调用外部 API、执行复杂计算或获取实时数据。例如,在 OpenAI API 和 Qwen2.5-7B-Instruct 这样的…...
鸿蒙路由 HMrouter 配置及使用一
1、学习链接 HMRouter地址 https://gitee.com/hadss/hmrouter/blob/dev/HMRouterLibrary/README.md 2、工程配置 下载安装 ohpm install hadss/hmrouter 添加编译插件配置 在工程目录下的build-profile.json5中,配置useNormalizedOHMUrl属性为true (我这项目创…...
驾驭 DeepSeek 科技之翼,翱翔现代学习新天际
在当今这个信息爆炸的时代,学习的方式和途径正在经历着前所未有的变革。人工智能技术的飞速发展,为我们的学习带来了全新的机遇和挑战。DeepSeek 作为一款强大的大语言模型,凭借其卓越的性能和丰富的功能,为现代学习注入了新的活力…...
[Windows] 轻量级景好鼠标录制器 v2.1 单文件版,支持轨迹+鼠标键盘录制复刻
[Windows] 轻量级景好鼠标录制器 链接:https://pan.xunlei.com/s/VOLHz0rPyqdhV4bgyTYuW6W7A1?pwd98uj# 软件特性: 高效播放控制:动作间隔优化至100 ms,进度条可视化,支持随机循环/多次播放。 深度自定义࿱…...
C#生产型企业ERP系统管理软件PCB行业ERP进销存MRP管理系统BOM管理
背景 本软件为为苏州某生产型电子科技企业开发的ERP管理软件。 功能说明 希哲管理系统v1.0是一款在流览器上使用的企业管理软件,使用上与客户端版的优势是: 1.安装更新部署方便,只需服务器部署了软件,其它客户端的用户无需安装&am…...
【Linux内核系列】:文件系统
🔥 本文专栏:Linux 🌸作者主页:努力努力再努力wz ★★★ 本文前置知识: 文件系统初识 那么在我们此前关于文件的学习中,我们学习的都是进程与打开的文件之间的关系,以及打开的文件如何进行管理…...
工程化与框架系列(35)--前端微服务架构实践
前端微服务架构实践 🏗️ 引言 随着前端应用规模的不断扩大,微服务架构在前端领域的应用越来越广泛。本文将深入探讨前端微服务架构的实现方案、最佳实践和相关工具。 微服务架构概述 前端微服务架构主要包括以下方面: 应用拆分…...
多条件下的免杀webshell
前言 在做webshell免杀的时候,很多情况下都是对system,eval等命令执行函数进行匹配,如果说把变量当做一个函数来使用的话,那是不是可以bypass了呢?这今天刚好看见有一个回调函数有这样的功能,而且也不会报毒ÿ…...
【算法】动态规划
⭐️个人主页:小羊 ⭐️所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 动态规划总结1、常见动态规划Fibonacci数列杨辉三角最小花费爬楼梯孩子们的游戏 2、组合方案李白打酒加强版(lqb&…...
MySQL事务及索引复习笔记
本文参考小林coding,地址事务隔离级别是怎么实现的? | 小林coding 事务 一、事务是什么? 比如一个程序是转账,你要扣减a的余额,增加b的余额,但是如果程序执行扣减成功然后挂了,就会出现a的余额…...
API调用大模型推理与第三方API实现业务整合
基于Python实现大模型推理与第三方API调用的集成,需要结合Function Call机制与提示词工程。 一、技术架构设计 双阶段流程 推理阶段:大模型解析用户意图,生成结构化API调用指令执行阶段:Python代码解析指令并触发第三方API # 示例…...
GreenKGC: A Lightweight Knowledge Graph Completion Method(论文笔记)
CCF等级:A 发布时间:2023年7月 代码位置 25年3月17日交 目录 一、简介 二、原理 1.整体 2.表示学习 3.特征修剪 4.决策学习 三、实验性能 1.主要结果 2.消融实验 四、结论和未来工作 一、简介 传统知识图谱补全方法中,嵌入维度…...
Android Composable 与 View 的联系和区别
在 Android 开发中,Composable(Jetpack Compose)与View(传统 View 系统)是两种不同的 UI 构建范式。本文将从核心联系、核心区别、代码实现三方面展开对比,并通过实例代码帮助开发者理解其应用场景…...
微信小程序wx.request接口报错(errno: 600001, errMsg: “request:fail -2:net::ERR_FAILED“)
来看看报错 报错如下: 请求发送部分,代码如下: uni.request({url: self.serverUrl "/getRealName",method: GET,data: {"code": self.info.code,},header: {"Authorization": uni.getStorageSync(tokenHead) uni.getStorageSync(token)}}…...
多线程与并发编程 面试专题
多线程与并发编程 面试专题 线程的基础概念基础概念线程的创建线程的状态线程的终止方式start 与 run 区别线程的常用方法 锁锁的分类深入synchronized深入ReentrantLock死锁问题 阻塞队列线程池 线程的基础概念 基础概念 进程与线程 进程:指运行中的程序。 比如我…...
大语言模型-1.2-大模型技术基础
简介 本博客内容是《大语言模型》一书的读书笔记,该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的…...
【C++】每日一练(轮转数组)
本篇博客给大家带来的是用C语言来解答轮转数组! 🐟🐟文章专栏:每日一练 🚀🚀若有问题评论区下讨论,我会及时回答 ❤❤欢迎大家点赞、收藏、分享! 今日思想:不服输的少年啊…...
dify本地源码win10部署
我的win10版本还比较老,winR,输入winver 只要高于我这个版本的都没啥大问题吧,我的安装docker Desktop,搞死人了, 就是win10的Win10 22H2 64之前的版本 win10低版本安装,里面包含wdl2安装程序 https://…...
Spring Cloud Config - 动态配置管理与高可用治理
引言:为什么需要配置中心? 在微服务架构中,配置管理面临分散化、多环境、动态更新三大挑战。传统基于application.yml等配置文件的硬编码方式,导致以下问题: • 环境差异:开发、测试、生产环境配置混杂&a…...
大模型最新面试题系列:微调篇之微调框架(一)
一. 在DeepSpeed中配置零冗余优化(ZeRO)实现显存优化的步骤 核心原理 ZeRO通过分片(Sharding)技术将模型参数、梯度和优化器状态分布到多卡,消除冗余存储。三个阶段逐步减少显存占用: Stage 1࿱…...
windows第十三章 GDI绘图技术
文章目录 GDI绘图函数介绍设备上下文函数m_hDC GDI对象画笔画刷位图字体区域 案例分享 GDI绘图函数介绍 绘图函数在CDC类里 设备上下文 DC:device context 设备上下文,显卡驱动程序,控制硬件,每个厂商的都不同,操作系统层面&am…...
使用 Nginx 进行前端灰度发布的策略与实践
1. 引言 灰度发布的概念 灰度发布,也称为金丝雀发布,是一种软件发布策略,通过向一小部分用户群体逐步推出新版本,收集反馈并监控性能,以确保新版本在大规模部署前不会出现问题。这种方法可以有效降低发布风险&#x…...
有了大语言模型还需要 RAG 做什么
一、百炼平台简介 阿里云的百炼平台就像是一个超级智能的大厨房,专门为那些想要做出美味AI大餐的企业和个人厨师准备的。你不需要从头开始做每一道菜,因为这个厨房已经为你准备了很多预制食材(预训练模型),你可以根据…...
pytest快速入门 - 目录:半天掌握pytest
1 pytest快速入门 - 目录 本系列文章将快速的带领用户进入pytest领域,通过阅读本专栏,用户将可以熟练掌握pytest的基本用法,同时对测试前置条件的构造、后置条件的清理等有较深入的了解,特别是后置条件的执行完备度有一个认识。 …...
2.4 python网络编程
在当今数字化的时代,网络连接着世界的每一个角落。从简单的网页浏览到复杂的分布式系统,网络编程无处不在。Python 作为一种功能强大且易于学习的编程语言,在网络编程领域占据着重要的地位。它丰富的库和简洁的语法使得开发者能够高效地构建各…...
网络变压器的主要电性参数与测试方法(4)
Hqst盈盛(华强盛)电子导读:网络变压器的主要电性参数与测试方法(4).. 今天我们继续来看看网络变压器的2个重要电性参数与它的测试方法: 1.反射损耗(Return loss&…...
【Springboot知识】开发属于自己的中间件健康监测HealthIndicate
文章目录 **一、技术栈****二、项目结构****三、依赖配置 (pom.xml)****四、配置文件 (application.yml)****五、自定义健康检查实现****1. Redis健康检查****2. Elasticsearch健康检查****3. Kafka健康检查****4. MySQL健康检查** **六、自定义健康检查接口 (可选)****七、测试…...
蓝桥杯备赛-二分-技能升级
问题描述 小蓝最近正在玩一款 RPG 游戏。他的角色一共有 NN 个可以加攻击力的技能。 其中第 ii 个技能首次升级可以提升 AiAi 点攻击力, 以后每次升级增加的点数 都会减少 Bi。「AiBi⌉Bi。「BiAi⌉ (上取整) 次之后, 再升级该技能将不会改变攻击力。 现在小蓝可以…...
【GPT入门】第18课 langchain介绍与API初步体验
【GPT入门】langchain第一课 langchain介绍与API初步体验 1. langchain介绍定义特点1. 模块化与灵活性2. 链式调用机制3. 数据连接能力4. 记忆管理功能5. 提示工程支持6. 可扩展性 2.langchain核心组件架构图3. 最简单的helloworld入门 1. langchain介绍 LangChain 是一个用于…...
Django部署Filemanagement
Pycharm搭建项目安装虚拟环境 mysqlclient对mysql的安装,配置有要求 pymsql伪装成mysqlclient,pymysql可以操纵mysql pip install pymysql操作sql5.7 mysql8.0会出现与pycharm不兼容问题,会报错,所以降到5.7 # 进入mysql 需要…...