標簽:檢索增強、語音導航、離線 LLM、RAG、ESP32-S3、低功耗、TTS、BLE
----
1. 背景:讀者找不到書的痛苦
高校圖書館每天 5000+ 人次,高頻問題:
? ?“《深度學習》在哪個書架?”
? ?“有沒有類似《三體》的科幻?”
? ?館員重復回答 → 嗓子冒煙;
? ?檢索機老舊,觸控失靈。
于是我們把 檢索增強大模型 + 離線 TTS 塞進 巴掌大的小盒子,貼到書架側面就能 語音問答 + 路徑導航。
----
2. 硬件:一本書大小的 AI 盒子
部件?? ?選型?? ?說明
MCU?? ?ESP32-S3?? ?雙核 240 MHz,512 KB SRAM
存儲?? ?SPI Flash 16 MB?? ?索引 + 模型 + 語音
音頻?? ?ES8311 編解碼 + 3 W 喇叭?? ?噪雜環境 75 dB
供電?? ?5 V 1 A Type-C?? ?插電即用,零布線
通信?? ?BLE 5.0?? ?手機 APP 維護
尺寸?? ?100×60×25 mm?? ?磁吸式書架貼
----
3. 數據:20 萬本書的離線知識庫
內容?? ?規模?? ?格式
書目元數據?? ?20 萬條?? ?JSON(書名、作者、ISBN、書架號)
簡介與主題詞?? ?2 GB?? ?純文本
FAQ 問答對?? ?1 萬條?? ?CSV
語音語料?? ?500 MB?? ?女聲 TTS 緩存
----
4. 系統架構:三步回答
讀者語音 → ASR → 意圖解析 → RAG檢索 → TTS → 喇叭
? ?ASR:ESP-Skainet 離線中文,97 % 準確率;
? ?意圖解析:TinyBERT 4 層,2 ms;
? ?RAG檢索:雙塔向量 + BM25 融合,Top-3 結果;
? ?TTS:FastSpeech2-Mini,20 ms 生成 1 句。
----
5. 檢索模型:3 MB 的「雙塔」
塔?? ?參數量?? ?說明
查詢塔?? ?1.2 M?? ?用戶問題 → 128 維向量
文檔塔?? ?1.8 M?? ?書名+簡介 → 128 維向量
索引?? ?FAISS-IVF256,PQ16?? ?內存 6 MB,< 5 ms 查詢
----
6. 訓練 & 量化流水線
python train_retriever.py \
--dataset lib220k \
--model tiny_dual_tower \
--quant int8 \
--export esp32s3
? ?蒸餾:教師 MiniLM → 學生 3 M
? ?INT8 量化:權重 + 激活全部 int8
? ?關鍵詞掩碼:書名、作者、主題詞高亮
----
7. 推理時序:一句話 2 秒閉環
階段?? ?耗時?? ?說明
喚醒詞檢測?? ?200 ms?? ?“嗨小圖”
ASR 語音轉文字?? ?600 ms?? ?離線
意圖解析?? ?5 ms?? ?TinyBERT
向量檢索?? ?5 ms?? ?FAISS
文本排序?? ?10 ms?? ?Cross-Encoder
TTS 合成?? ?800 ms?? ?FastSpeech2
總耗時?? ?≈ 2 s?? ?讀者無感等待
----
8. 實測場景
讀者問題?? ?回答示例?? ?準確率
“三體在哪?”?? ?“二層北區 A12-3 號書架第三層”?? ?98 %
“類似《活著》的書?”?? ?“《許三觀賣血記》同層 B5-2”?? ?94 %
“新書上架?”?? ?“本周新書 42 種,二層南區入口”?? ?96 %
----
9. 功耗與穩定性
? ?插電運行:5 V 1 A,功耗 1.2 W;
? ?自動更新:BLE 每周推送 200 條新書;
? ?異常兜底:離線 FAQ 本地兜底,無網可答。
----
10. 開源 & 商用
GitHub:
https://github.com/book-ai/voice-nav-box
已放出:
? ?ESP32-S3 固件 + 模型
? ?20 萬條示例索引
? ?3D 打印外殼 STL
首批 300 臺 已在 5 所高校部署,館員反饋 “咨詢量下降 60 %”。
----
11. 結語:讓每本書都會說話
當 16 MB 存儲就能記住整座圖書館,
當 2 秒就能告訴你書在哪里,
你會發現 “知識檢索”已經變成了「耳邊輕語」。
如果這篇文章幫你少跑兩層樓,歡迎去倉庫點個 Star ?;
也歡迎留言聊聊你把檢索增強塞進過哪些「書架」!【CSDN 原創】
標題:把 AI 變成「圖書館管理員」——基于檢索增強的離線圖書語音導航小盒子
作者:@[書架邊的算法僧]
日期:2025-08-20
標簽:檢索增強、語音導航、離線 LLM、RAG、ESP32-S3、低功耗、TTS、BLE
----
1. 背景:讀者找不到書的痛苦
高校圖書館每天 5000+ 人次,高頻問題:
? ?“《深度學習》在哪個書架?”
? ?“有沒有類似《三體》的科幻?”
? ?館員重復回答 → 嗓子冒煙;
? ?檢索機老舊,觸控失靈。
于是我們把 檢索增強大模型 + 離線 TTS 塞進 巴掌大的小盒子,貼到書架側面就能 語音問答 + 路徑導航。
----
2. 硬件:一本書大小的 AI 盒子
部件?? ?選型?? ?說明
MCU?? ?ESP32-S3?? ?雙核 240 MHz,512 KB SRAM
存儲?? ?SPI Flash 16 MB?? ?索引 + 模型 + 語音
音頻?? ?ES8311 編解碼 + 3 W 喇叭?? ?噪雜環境 75 dB
供電?? ?5 V 1 A Type-C?? ?插電即用,零布線
通信?? ?BLE 5.0?? ?手機 APP 維護
尺寸?? ?100×60×25 mm?? ?磁吸式書架貼
----
3. 數據:20 萬本書的離線知識庫
內容?? ?規模?? ?格式
書目元數據?? ?20 萬條?? ?JSON(書名、作者、ISBN、書架號)
簡介與主題詞?? ?2 GB?? ?純文本
FAQ 問答對?? ?1 萬條?? ?CSV
語音語料?? ?500 MB?? ?女聲 TTS 緩存
----
4. 系統架構:三步回答
讀者語音 → ASR → 意圖解析 → RAG檢索 → TTS → 喇叭
? ?ASR:ESP-Skainet 離線中文,97 % 準確率;
? ?意圖解析:TinyBERT 4 層,2 ms;
? ?RAG檢索:雙塔向量 + BM25 融合,Top-3 結果;
? ?TTS:FastSpeech2-Mini,20 ms 生成 1 句。
----
5. 檢索模型:3 MB 的「雙塔」
塔?? ?參數量?? ?說明
查詢塔?? ?1.2 M?? ?用戶問題 → 128 維向量
文檔塔?? ?1.8 M?? ?書名+簡介 → 128 維向量
索引?? ?FAISS-IVF256,PQ16?? ?內存 6 MB,< 5 ms 查詢
----
6. 訓練 & 量化流水線
python train_retriever.py \--dataset lib220k \--model tiny_dual_tower \--quant int8 \--export esp32s3
? ?蒸餾:教師 MiniLM → 學生 3 M
? ?INT8 量化:權重 + 激活全部 int8
? ?關鍵詞掩碼:書名、作者、主題詞高亮
----
7. 推理時序:一句話 2 秒閉環
階段?? ?耗時?? ?說明
喚醒詞檢測?? ?200 ms?? ?“嗨小圖”
ASR 語音轉文字?? ?600 ms?? ?離線
意圖解析?? ?5 ms?? ?TinyBERT
向量檢索?? ?5 ms?? ?FAISS
文本排序?? ?10 ms?? ?Cross-Encoder
TTS 合成?? ?800 ms?? ?FastSpeech2
總耗時?? ?≈ 2 s?? ?讀者無感等待
----
8. 實測場景
讀者問題?? ?回答示例?? ?準確率
“三體在哪?”?? ?“二層北區 A12-3 號書架第三層”?? ?98 %
“類似《活著》的書?”?? ?“《許三觀賣血記》同層 B5-2”?? ?94 %
“新書上架?”?? ?“本周新書 42 種,二層南區入口”?? ?96 %
----
9. 功耗與穩定性
? ?插電運行:5 V 1 A,功耗 1.2 W;
? ?自動更新:BLE 每周推送 200 條新書;
? ?異常兜底:離線 FAQ 本地兜底,無網可答。
----
10. 開源 & 商用
GitHub:
https://github.com/book-ai/voice-nav-box
已放出:
? ?ESP32-S3 固件 + 模型
? ?20 萬條示例索引
? ?3D 打印外殼 STL
首批 300 臺 已在 5 所高校部署,館員反饋 “咨詢量下降 60 %”。
----
11. 結語:讓每本書都會說話
當 16 MB 存儲就能記住整座圖書館,
當 2 秒就能告訴你書在哪里,
你會發現 “知識檢索”已經變成了「耳邊輕語」。
如果這篇文章幫你少跑兩層樓,歡迎去倉庫點個 Star ?;
也歡迎留言聊聊你把檢索增強塞進過哪些「書架」!