news 2026/6/1 15:08:02

基于ESP32与MPU6050的智能啤酒发酵监测系统DIY指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于ESP32与MPU6050的智能啤酒发酵监测系统DIY指南

1. 项目概述:从传统酿造到智能监测的跨越

对于家庭酿酒爱好者来说,发酵过程就像一场需要耐心等待的“黑箱实验”。你投入了麦芽汁,加入了酵母,然后就是长达一两周的等待。传统上,我们依赖玻璃比重计,每天小心翼翼地打开发酵桶,取样、测量、记录,再祈祷没有杂菌趁机而入。这个过程不仅繁琐,而且频繁开盖带来的氧化和污染风险,常常让精心准备的批次功亏一篑。有没有一种方法,能让我们像看天气预报一样,随时随地、一目了然地掌握发酵罐里的“风云变幻”呢?

这正是“iTilt智能啤酒比重计”项目要解决的问题。它本质上是一个基于ESP32微控制器的数字式发酵监测设备,核心原理是利用MPU6050加速度计测量设备在液体中的倾斜角度,通过角度变化反推液体的密度(比重),从而实时追踪糖分转化为酒精的进程。所有数据通过WiFi上传至云端仪表盘,你可以在手机或电脑上远程查看重力、温度、电池电量等关键参数的变化曲线。这个项目完美融合了嵌入式开发、传感器应用、低功耗设计和物联网数据可视化,不仅解决了家庭酿酒的实际痛点,更是一个绝佳的综合性DIY电子项目,能让你亲手搭建一套从物理信号采集到云端数据呈现的完整系统。

我最初接触这个想法,是看到了国外酿酒社区流行的iSpindel等开源设备。但作为一个喜欢“知其然更知其所以然”的动手派,直接购买成品总感觉少了点乐趣。于是,我决定从原理图开始,自己设计PCB,编写固件,一步步把这个想法变成现实。经过几个版本的迭代,最终形成了这个相对成熟的设计。它不仅仅是一个工具,更是一个学习平台,涵盖了从硬件选型、电路设计、固件编程到云端服务集成的一整套技能栈。无论你是想深入了解物联网设备开发,还是单纯想为你的酿酒爱好增添一份科技感,这个项目都值得一试。

2. 核心硬件选型与设计思路解析

2.1 主控芯片:为什么是ESP32?

在众多微控制器中,选择ESP32作为本项目的大脑,是基于其性能、功耗和生态的综合考量。ESP32集成了双核处理器、WiFi和蓝牙功能,这对于需要无线通信的设备来说是天然优势。相较于它的前辈ESP8266,ESP32拥有更丰富的外设接口(如更多的GPIO、ADC通道)和更强的处理能力,能更从容地处理传感器数据采集、滤波算法和网络协议栈。

然而,最大的挑战在于功耗。啤酒发酵动辄持续一两周,设备需要全程浸没在发酵液中,无法中途充电。一个持续保持WiFi连接的ESP32,其耗电量足以在一天内耗尽一颗18650电池。因此,本项目固件的核心设计哲学就是“极致休眠”。ESP32支持深度睡眠模式,在此模式下,绝大部分电路关闭,仅保留RTC(实时时钟)和少量内存,功耗可降至微安级别。我们的策略是:让设备绝大部分时间处于深度睡眠,每隔一段时间(如15分钟)被RTC定时器唤醒,快速完成传感器数据采集和计算,然后才连接WiFi上传数据,上传完毕立即再次进入深度睡眠。这样,一次工作循环的活跃时间被压缩到10秒以内,从而将电池续航延长到数周。

注意:市面上ESP32开发板型号繁多,功耗表现差异很大。我选用DFRobot的Firebeetle 2 ESP32-E,是因为它在深度睡眠模式下的功耗优化做得比较好,且板载了锂电池充电管理芯片,方便集成。如果你使用其他型号,务必查阅其数据手册,确认深度睡眠电流是否足够低(理想应低于100μA)。

2.2 核心传感器:MPU6050的姿态感知奥秘

整个设备的“感觉器官”是MPU6050,这是一个集成了三轴加速度计和三轴陀螺仪的6轴运动处理传感器。我们用它来测量“倾斜角”。其原理基于一个简单的物理事实:静止物体所受合外力为零,加速度计测量的是重力加速度在各个轴上的分量。

当设备漂浮在液体中时,它会因为重心(主要由电池位置决定)和浮力的共同作用,形成一个与竖直方向成一定角度的稳定姿态。这个角度就是“倾斜角”。液体的密度越大(即初始麦芽汁的糖分越高),产生的浮力越大,设备就越趋向于竖直漂浮,倾斜角越小。随着发酵进行,糖分被消耗,液体密度下降,浮力减小,设备就会更加倾斜,倾斜角增大。因此,倾斜角与液体密度(比重)存在一一对应的关系。

MPU6050输出的原始数据是各个轴上的加速度值(单位通常是g)。通过三角函数计算,我们可以从这些数据中解算出设备相对于重力方向的姿态角(即俯仰角Pitch和横滚角Roll)。在本项目中,我们主要关注俯仰角(Tilt)的变化。MPU6050的精度和稳定性足以分辨出0.1度级别的角度变化,这对应着重力值(SG)小数点后三位的精度,完全满足家庭酿酒监测的需求。

2.3 辅助传感器与电源设计

DS18B20温度传感器(可选但推荐):温度是影响发酵速度和酵母健康的关键因素。DS18B20是一款常用的数字温度传感器,精度可达±0.5°C,且采用单总线协议,只需一根数据线即可与MCU通信,节省GPIO资源。将其密封后浸入酒液中,可以监测发酵过程的实际温度,比测量环境温度更有意义。

电源管理系统:这是保证长期稳定运行的生命线。系统采用一颗18650锂电池供电,标称电压3.7V,容量通常在2000mAh以上。Firebeetle 2板载的充放电管理芯片负责安全充电和电压升降压。为了监控电池健康,我们通过一个由4.7kΩ和10kΩ电阻组成的分压电路,将电池电压(最高约4.2V)分压后送入ESP32的ADC引脚(GPIO36)。ESP32的ADC参考电压为3.3V,输入电压不得超过此值。分压后的电压 = 电池电压 * (10k / (4.7k + 10k)) ≈ 电池电压 * 0.68。这样,满电4.2V时,ADC输入约为2.86V,处于安全范围内。通过ADC读数反推电池电压,并结合电池放电曲线模型,可以估算剩余电量。

关键的低功耗技巧:除了让ESP32进入深度睡眠,外围传感器的电源管理也同样重要。在原理图中,MPU6050和DS18B20的VCC引脚并非直接接在3.3V电源上,而是分别连接到ESP32的GPIO22和GPIO17。在固件中,在进入深度睡眠前,我们会将这两个GPIO设置为低电平输出,彻底切断传感器的供电,实现零功耗。唤醒后,再将其设置为高电平,为传感器上电。这个小设计对延长整体续航有显著贡献。

3. 固件设计与核心功能实现

3.1 程序架构与工作流程

整个固件围绕低功耗和状态机设计。主循环非常简洁,设备绝大部分时间根本不运行它,而是在深度睡眠中。唤醒后的执行流程由唤醒原因和当前设备姿态决定,这是一个典型的事件驱动型状态机。

  1. 上电/复位:设备启动,首先进行硬件初始化(串口、I2C、GPIO等)。
  2. 姿态判断:读取MPU6050数据,计算当前的倾斜角(Tilt)和横滚角(Roll)。
  3. 状态决策
    • 如果倾斜角接近0°或180°(水平),或接近90°(竖直):判断设备处于“配置模式”。启动WiFi管理配置门户(Configuration Portal)。此时设备会创建一个名为“iTilt_XXXX”的WiFi热点,用户连接后可通过网页配置WiFi密码、云端服务参数、数据上传间隔等。
    • 如果横滚角接近90°(电池侧放):判断用户可能在进行存储或充电,设备进入“无限休眠模式”。在此模式下,设备会持续深度睡眠,直到按下复位按钮。这避免了在桌面上无意中唤醒设备耗电。
    • 如果倾斜角在10°到80°之间:判断设备正常浸没在酒液中,进入“工作模式”。
  4. 工作模式流程: a.传感器上电:将连接传感器的GPIO置高。 b.数据采集:读取MPU6050的加速度数据,计算倾斜角;读取DS18B20的温度数据;通过ADC读取电池电压。 c.数据计算:利用预置的三阶多项式模型,将倾斜角转换为比重值(SG)。根据初始比重和当前比重,估算酒精度(ABV)。根据电池电压估算剩余电量百分比。 d.网络连接与发布:连接预设的WiFi网络,使用MQTT协议将计算好的数据(SG、温度、ABV、电量、WiFi信号强度)发布到对应的云端服务(Cayenne, Ubidots, Adafruit IO)。 e.传感器断电与休眠:将传感器GPIO置低,然后根据配置的间隔时间(如900000毫秒,即15分钟),让ESP32进入深度睡眠。RTC定时器会在指定时间后唤醒设备,回到步骤2。

3.2 关键代码模块解析

WiFiManager的使用:这是本项目用户体验的关键。我们使用了Tzapu开发的WiFiManager库。它提供了一个优雅的解决方案:当设备无法连接已知WiFi时,会自动进入配网模式。在我们的实现中,我们通过设备姿态来手动触发它。在配置门户中,我们自定义了多个输入框,用于设置:

  • WiFi的SSID和密码。
  • MQTT服务器地址、端口、用户名、密码、客户端ID(对应不同的云平台格式)。
  • 数据发布间隔时间。
  • 比重校准模型的系数(a, b, c, d)。 这些配置会被保存到ESP32的Non-Volatile Storage (NVS)中,掉电不失。

传感器数据读取与滤波:MPU6050的原始数据存在噪声。简单的做法是进行多次采样然后取平均值。在代码中,我们通常连续读取50-100次加速度值,计算平均值后再进行角度换算。对于DS18B20,使用DallasTemperature库可以方便地获取精度为0.125°C的温度读数。

比重计算模型:这是项目的核心算法。倾斜角(Tilt)与比重(SG)之间的关系并非简单的线性关系,我们采用三阶多项式进行拟合:SG = a * Tilt³ + b * Tilt² + c * Tilt + d系数a, b, c, d需要通过校准获得。在配置页面,用户可以直接输入这4个系数。更友好的是,固件内置了“校准向导”,它会引导用户配置不同浓度的糖水,并自动记录倾斜角,通过最小二乘法计算出最优的系数,用户只需一键复制粘贴即可。

低功耗实现代码片段

// 进入深度睡眠前,关闭传感器电源 digitalWrite(SENSOR_POWER_PIN, LOW); pinMode(SENSOR_POWER_PIN, INPUT); // 改为高阻态,进一步省电 // 配置唤醒源为定时器,并进入深度睡眠 esp_sleep_enable_timer_wakeup(sleepIntervalMicroSeconds); esp_deep_sleep_start(); // 程序在此停止,直到被定时器唤醒后从setup()重新开始运行

3.3 云端服务集成与MQTT通信

设备通过轻量级的MQTT协议向云端发送数据。不同的云平台对MQTT参数的要求略有不同,固件中已经做了兼容处理:

云平台MQTT UsernameMQTT PasswordMQTT Client IDTopic 结构示例
CayenneCayenne 仪表盘的 MQTT用户名Cayenne 仪表盘的 MQTT密码Cayenne 仪表盘的 Client IDusername/things/clientID/data/channel
Adafruit IO你的 Adafruit IO 用户名你的 Adafruit IO Key任意简短标识(如iTilt001)username/feeds/feedname
Ubidots你的 Ubidots API Token留空任意简短标识(如iTilt001)/v1.6/devices/{device_label}/{variable_label}

在固件中,我们使用PubSubClient库来管理MQTT连接和发布。每次唤醒后,会尝试连接MQTT服务器,如果连接失败,会等待片刻重试,但重试次数有限,以避免因网络问题导致设备长时间清醒耗电。发布成功后立即断开连接并进入休眠。

4. 硬件制作与组装实操指南

4.1 PCB设计与布局考量

虽然可以使用万用板搭建,但为了更好的稳定性和密封性,设计一块定制PCB是值得的。PCB设计有以下几个要点:

  1. 重心控制:PCB的形状和电池的摆放位置直接决定了设备的浮心与重心的相对关系,这影响了倾斜角的动态范围。理想状态下,设备在纯水(SG=1.000)中倾斜约20度,在高比重麦芽汁(SG=1.080)中倾斜角应更小(如10度)。在设计中,我将电池座放在了PCB的底端,并将大部分元器件布置在PCB的上半部分,使得重心偏下,像一个不倒翁,对角度变化更敏感。
  2. 天线区域:ESP32的PCB天线位于开发板的顶部。在组装时,必须确保这一区域朝向PET预成型瓶的顶部(即露出液面的部分),并且周围不要被金属电池或导线遮挡,以保证WiFi信号强度。
  3. 密封与绝缘:整个PCB需要浸泡在酒液中,因此必须做好绝缘和防腐处理。焊接完成后,建议整体喷涂三防漆(Conformal Coating),特别是芯片引脚和裸露的焊盘处,可以有效防止潮湿和酸性液体造成的短路或腐蚀。
  4. 尺寸匹配:PCB的宽度需要仔细计算,使其能顺利滑入XL型号的PET预成型瓶(即制作5升水瓶的瓶坯),并且有一定的摩擦力,不会随意滑动。瓶坯内部可能有合模线,需要用砂纸稍微打磨平滑。

4.2 焊接与组装步骤

  1. 元器件焊接:按照原理图,依次焊接ESP32开发板(或模块)、MPU6050、DS18B20、电阻、按钮等。DS18B20需要先用热缩管或环氧树脂将其金属探头部分密封,只引出三根导线(电源、数据、地)。
  2. 电池连接:将18650电池座焊接在PCB上预留的大焊盘处。注意极性!用万用表确认无误后再接入电池。
  3. 功能测试:组装前,先连接USB线供电,通过串口监视器查看传感器读数是否正常。倾斜板子,观察角度值变化。这一步可以排除焊接故障。
  4. 装入瓶坯:将组装好的PCB板缓慢插入PET预成型瓶。电池端朝下。在瓶口处,USB-C接口需要露出来。可以使用硅胶塞或热熔胶在瓶口内部进行固定和初步密封。
  5. 配重与浮力调整:这是最需要耐心的一步。在瓶坯中注入清水,观察设备漂浮的姿态。如果倾斜角过大或过小,可以通过在PCB顶部(贴一些配重块)或底部(增加泡沫等浮材)进行调整,目标是在清水中达到20度左右的倾斜。这个角度将作为你校准的基准点。
  6. 最终密封:调试完成后,需要彻底密封瓶口。我推荐使用食品级硅酮密封胶。在瓶口内部和USB接口周围仔细涂抹,确保完全防水。密封后静置24小时以上,待其完全固化。

4.3 校准流程详解:建立角度与比重的“字典”

校准的目的是找到专属于你这个设备的倾斜角-比重换算公式。你需要准备一个3升左右的量筒、电子秤、纯净水和白砂糖。

  1. 准备校准液:使用在线糖化计算器(如Hillbilly Stills的),计算配制7种不同比重糖水所需的糖和水量。例如,目标比重分别为1.000(纯水), 1.010, 1.020, 1.030, 1.040, 1.050, 1.060。用电子秤精确称量糖和水,在量筒中混合均匀。每种溶液至少准备800ml,确保能淹没设备。
  2. 进入校准模式:将设备水平或竖直放置,使其进入配置门户模式。用电脑或手机连接设备热点,在浏览器中打开192.168.4.1/polynomialcalibrationstart?
  3. 执行校准向导
    • 向导会提示你将设备放入第一种液体(如纯水)。
    • 等待几十秒,让设备读数稳定,然后在网页上点击“记录当前点”。网页会显示当前测得的平均倾斜角。
    • 在输入框中填入该液体对应的理论比重值(1.000)。
    • 取出设备,擦干,放入下一种比重的糖水中,重复“记录-输入”过程。
    • 完成7个点的记录后,点击“计算系数”。网页会自动利用最小二乘法,计算出最优的三阶多项式系数a, b, c, d。
  4. 应用系数:复制计算出的系数,回到主配置页面(192.168.4.1/wifi?),将其填入对应的输入框,并保存配置。
  5. 验证校准:将设备放入几种已知比重的液体中(可以使用校准液,也可以使用市售的标准比重液),在配置页面的“Readings”标签页或云端仪表盘上,查看计算出的比重值是否与预期相符。误差应在±0.002以内。

5. 云端仪表盘配置与数据可视化

数据上传到云端后,我们需要一个直观的界面来观察它。这里以功能强大且免费的Adafruit IO为例,展示如何搭建一个酿酒监控仪表盘。

  1. 创建Feeds(数据流):在Adafruit IO上,为每个需要监控的数据点创建一个Feed。建议创建:gravity(比重)、temperature(温度)、battery(电量)、tilt(倾斜角,用于诊断)。
  2. 配置设备固件:在iTilt的WiFi配置门户中,选择Adafruit IO,填写你的用户名和Active Key(在IO账户设置中获取),Client ID可以设为iTilt_001
  3. 创建Dashboard(仪表盘):新建一个Dashboard,命名为“My Fermentation”。
  4. 添加可视化组件
    • 折线图(Line Chart):添加两个折线图,分别关联gravitytemperaturefeed。设置合理的时间范围(如7天)和Y轴范围(比重1.000-1.100,温度15-25°C)。这是观察发酵趋势的核心图表。
    • 量表(Gauge):添加一个量表,关联batteryfeed,范围设为0-100%,可以直观看到剩余电量。
    • 文本框(Text):添加文本框,关联gravityfeed,显示当前最新数值,更精确。
    • 日志(Log):添加一个日志块,可以显示最近的数据更新时间戳,用于确认设备在线状态。
  5. 设置警报(可选):Adafruit IO支持简单的警报规则。例如,可以设置当gravity值连续24小时不再下降时(意味着发酵可能结束),通过IFTTT或Webhook发送一封邮件提醒你。

Ubidots和Cayenne的配置逻辑类似,都是先创建设备/变量,然后通过MQTT主题将数据对应发布上去,最后在仪表盘编辑器中拖拽图表组件进行关联。Ubidots的免费额度和图表定制性可能更友好一些。

6. 常见问题排查与实战经验分享

在实际制作和使用过程中,你肯定会遇到各种各样的问题。下面是我在多次迭代中踩过的坑和总结的解决方案。

6.1 设备无法启动或无限重启

  • 现象:上电后LED不亮,或快速闪烁后复位。
  • 排查
    1. 电源问题:首先用万用表测量电池电压,确保高于3.5V。检查USB-C口连接是否良好。
    2. 短路:仔细检查PCB是否有焊锡桥接、元器件引脚短路。特别是MPU6050这种小封装的芯片。
    3. 固件问题:尝试通过Arduino IDE重新烧录一个最简单的Blink程序,测试ESP32本身是否完好。
    4. 传感器冲突:如果使用了DS18B20,检查其数据线是否接了上拉电阻(通常4.7kΩ)。没有上拉电阻可能导致总线锁死,影响程序运行。

6.2 WiFi连接不稳定或无法上传数据

  • 现象:设备唤醒后,在串口日志中看到反复尝试连接WiFi失败,或连接后发布数据超时。
  • 排查与解决
    1. 信号强度:这是最常见的原因。发酵桶通常放在地下室或角落,WiFi信号弱。在配置页面查看设备报告的RSSI值,如果低于-70dBm,连接就会很困难。考虑在发酵间增加一个WiFi中继器,或者将路由器天线调整方向。
    2. 天线朝向:确保设备在发酵桶中时,ESP32的天线区域(PCB顶部)朝上,并且不要被金属桶壁完全包围。塑料桶对信号衰减较小,不锈钢桶则几乎是法拉第笼。
    3. MQTT参数错误:逐字检查配置页面中的MQTT用户名、密码、客户端ID、主题是否正确。Adafruit IO的Key容易复制出错(包含空格或换行)。
    4. 云端服务限制:免费版的云服务通常有数据点/分钟的限制。如果将发布间隔设得太短(如1分钟),很容易触发限流导致发送失败。建议间隔设置为10-15分钟,这对发酵监控来说完全足够。

6.3 比重读数不准或漂移

  • 现象:在固定比重的液体中,读数随时间波动大,或与标准比重计差值超过0.005。
  • 排查与解决
    1. 校准问题:重新执行校准流程。确保糖水配制准确,混合均匀,温度一致(温度影响密度)。校准时的液体温度应接近你通常的发酵温度(如20°C)。
    2. 气泡干扰:发酵会产生大量CO2气泡,附着在设备表面会显著改变其浮力,导致读数剧烈跳动。这是所有漂浮式数字比重计的共同难题。解决方法是:在设备表面喷涂一层食品级的防粘涂层(如某些啤酒桶润滑剂),或设计一个光滑、流线型的外壳,减少气泡附着。在固件中,可以增加软件滤波,比如连续读取10个值,去掉最大最小值后取平均,能有效平滑掉气泡造成的尖峰。
    3. 设备姿态锁定:检查设备在瓶中是否能够自由转动。如果被瓶壁卡住,角度就无法真实反映浮力变化。确保PCB与瓶壁之间有足够间隙,组装时不要涂太多胶水导致卡死。
    4. 温度补偿:当前模型没有加入温度补偿。液体的密度随温度变化。如果发酵温度与校准温度相差较大,会产生误差。一个改进方案是:在计算比重时,引入DS18B20测得的温度值,通过水密度-温度对照表进行补偿。这需要更复杂的模型,可以在未来固件升级中实现。

6.4 电池续航远低于预期

  • 现象:标称2000mAh的电池,只用了一周就没电了。
  • 排查与解决
    1. 测量休眠电流:这是最关键的诊断步骤。将万用表串联在电池供电回路中,设置为微安档。当设备进入深度睡眠后,观察电流值。一个优化良好的系统,休眠电流应在100μA以下。如果高达几百微安甚至毫安,说明有漏电。
    2. 检查“电老虎”
      • 电源指示灯:有些ESP32开发板上的电源LED没有开关,会持续耗电。如果可能,将其焊掉。
      • 传感器电源未彻底关闭:确认代码中在休眠前已将控制传感器电源的GPIO设置为LOW,并且该GPIO模式设置为OUTPUT。如果设置为INPUT且内部上拉,仍会有微小电流。
      • 外设引脚状态:确保所有未使用的GPIO在休眠前设置为INPUT_PULLUPINPUT_PULLDOWN,避免悬空引脚因感应电压而产生漏电流。
    3. 优化工作周期:评估你的数据上传频率是否过高。将间隔从5分钟调整为15分钟,可以让续航直接提升3倍。对于啤酒发酵这种慢过程,15分钟一次的数据密度已经绰绰有余。

这个项目从电路设计、代码编写到外壳密封,每一步都充满了DIY的乐趣和挑战。最大的成就感莫过于看着自己亲手制作的设备,在发酵桶里安静地工作,并将一条条平滑的发酵曲线推送到你的手机屏幕上。它不仅仅解放了你的时间,更让你对发酵这个微观世界有了前所未有的、数据化的洞察。当你喝到自己酿造的啤酒时,那份甘醇里,也混合着代码和焊锡的独特风味。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/1 15:02:59

解锁Windows安卓应用安装:APK-Installer技术解析与实战指南

解锁Windows安卓应用安装:APK-Installer技术解析与实战指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在Windows生态中运行安卓应用一直是技术爱好者和…

作者头像 李华
网站建设 2026/6/1 14:59:56

告别激活烦恼:3分钟掌握Windows和Office智能激活方案

告别激活烦恼:3分钟掌握Windows和Office智能激活方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否曾经因为Windows系统突然弹出激活提示而中断工作?是否遇到过O…

作者头像 李华
网站建设 2026/6/1 14:58:44

【字节跳动】安全防护机制:实现熔丝保护、密钥轮换、硬件黑名单等安全措施,如权重补丁需通过34轮哈希校验(5178)资源管理:会话池支持2048个并发(SESS_POOL_MAX)显存资源闲置释放

本文档详细描述了30个核心模块的系统设计与实现,涵盖会话管理、KV缓存、集群负载均衡、加密体系等关键功能。主要特点包括:安全防护机制:实现熔丝保护、密钥轮换、硬件黑名单等安全措施,如权重补丁需通过34轮哈希校验(…

作者头像 李华
网站建设 2026/6/1 14:57:15

从零理解 RAG:从模型调用到向量检索

前言 1. 为什么需要 RAG 2. RAG 的整体流程 (1) 先跑通 ChatModel (2) 使用 Prompt 模板控制模型输入 (3) Embedding:让文本可以被语义检索 (4) Indexer:把知识写入向量数据库 (5) Retriever:从向量数据库检索相关知识 (6) T…

作者头像 李华