eIQ GenAI 流量演示器
eIQ GenAI Flow是一套軟件流水線,用于在邊緣設(shè)備上實(shí)現(xiàn) AI 驅(qū)動(dòng)的體驗(yàn)。目前,F(xiàn)low 支持NXP i.MX 95上的?對(duì)話式 AI?。
概述
eIQ GenAI Flow 集成了多種 AI 技術(shù),打造無縫的 HMI 體驗(yàn)。對(duì)話式 AI 流程包含以下階段:
- ?喚醒詞檢測(cè)?:VIT(語音智能技術(shù))喚醒詞觸發(fā)ASR(自動(dòng)語音識(shí)別)。
- ?語音轉(zhuǎn)文本 (ASR)?:將語音輸入轉(zhuǎn)換為文本。
- ?檢索增強(qiáng)生成 (RAG)?:利用相關(guān)外部知識(shí)增強(qiáng)大型語言模型 (LLM)。
- ?文本生成 (LLM)?:根據(jù)檢索到的上下文生成響應(yīng)。
- ?文本到語音 (TTS)?:將響應(yīng)轉(zhuǎn)換為語音輸出。
此演示程序展示了 eIQ GenAI Flow 的一些核心功能。此英文演示程序旨在概述該項(xiàng)目的功能及其工作原理。它是完整項(xiàng)目eIQ GenAI Flow Pro的一個(gè)子集。
Flow 完整版提供了更多?模型?、?功能?、?定制?、RAG 微調(diào)選項(xiàng)以及更好的音頻任務(wù)性能。
有關(guān)更多詳細(xì)信息,請(qǐng)使用NXP 社區(qū)論壇生成 AI 和 LLM。
目錄
先決條件
該存儲(chǔ)庫使用Git 大文件存儲(chǔ) (LFS)來管理大文件(例如模型、數(shù)據(jù)集、二進(jìn)制文件)。
?在克隆此存儲(chǔ)庫之前?,請(qǐng)確保您的機(jī)器上已安裝并初始化 Git LFS。
安裝 Git LFS
Ubuntu/Debian:
shell
sudo apt update
sudo apt install git-lfs
macOS(自制):
shell
brew install git-lfs
Windows:從https://git-lfs.github.com/ 下載并安裝 Git LFS
初始化 Git LFS(運(yùn)行一次)
shell
git lfs install
克隆項(xiàng)目
shell
git clone https://github.com/nxp-appcodehub/dm-eiq-genai-flow-demonstrator
cd dm-eiq-genai-flow-demonstrator
Git LFS 將在克隆期間或之后自動(dòng)下載所有跟蹤的大文件。如果需要,你可以運(yùn)行:
shell
git lfs pull
手動(dòng)獲取任何缺失的 LFS 文件。
BSP 選擇
此演示需要適用于i.MX 應(yīng)用處理器的嵌入式 Linux中提供的 Linux BSP 。
雖然該演示可以在常規(guī)的 NXP Q1 2025 BSP 上運(yùn)行,但它在使用軟件包中提供的meta-eiq-genai-flow定制的 BSP 上效果最佳。此元層更新:
- Linux 內(nèi)核: matmul Neutron C-API
- 設(shè)備樹: Neutron 專用的連續(xù)內(nèi)存分配 (CMA) 區(qū)域
- ?Onnxruntime:?添加 Neutron 執(zhí)行提供程序
- ?Neutron 資產(chǎn):?用于處理 matmul 操作的驅(qū)動(dòng)程序和固件。
有關(guān)構(gòu)建詳細(xì)信息,請(qǐng)參閱meta-eiq-genai-flow中的README 。
此項(xiàng)定制的優(yōu)勢(shì)在于顯著降低 CPU 負(fù)載,并加快 LLM 操作的首個(gè)令牌時(shí)間 (TTFT)。詳情請(qǐng)參閱 LLM 基準(zhǔn)測(cè)試部分。
一旦 BSP 閃存到目標(biāo)上,就必須將此包中的eiqgenaiflow文件夾復(fù)制到 linux 主文件夾中。
安裝
要設(shè)置環(huán)境,請(qǐng)運(yùn)行:
shell
cd eiq_genai_flow
./install.sh
入門
要運(yùn)行演示,請(qǐng)使用以下命令:
shell
./eiq_genai_flow
?注意:?二進(jìn)制文件必須始終從目錄執(zhí)行
eiq_genai_flow
。?注意?:試用期有 2 小時(shí)的超時(shí)時(shí)間。
注意: i.MX 95 中當(dāng)前未啟用緩存。每次執(zhí)行此應(yīng)用程序時(shí),都需要預(yù)熱時(shí)間(少于一分鐘)。
運(yùn)行
./eiq_genai_flow --help
以查看可用選項(xiàng)。
默認(rèn)模式為鍵盤轉(zhuǎn)語音,這意味著模塊 VIT 和 ASR 被禁用。要啟用語音轉(zhuǎn)語音體驗(yàn),請(qǐng)使用 --input-mode vasr
參數(shù)。
該應(yīng)用程序支持各種輸入/輸出選項(xiàng)和模型選擇,詳見下面的軟件組件部分。
軟件組件
語音智能技術(shù)(VIT)
VIT 是 NXP 的語音 UI 技術(shù),它利用深度學(xué)習(xí)實(shí)現(xiàn)始終在線的喚醒詞檢測(cè)。
?VIT 與“HEY NXP”?預(yù)定義的喚醒詞集成。
? 啟用 VIT
使用參數(shù)在喚醒詞檢測(cè)后-i vasr
啟用 ASR 。
其他選項(xiàng)包括:
-c
(連續(xù)模式):允許連續(xù)對(duì)話,無需每次回應(yīng)后發(fā)出喚醒詞。
???
自動(dòng)語音識(shí)別(ASR)
ASR 將口語轉(zhuǎn)換為文本。
演示器使用 Whisper-small.en int8-quantized 針對(duì)具有 244M 參數(shù)的流式傳輸進(jìn)行了優(yōu)化。
? 啟用 ASR
使用--input-mode
具有下列值之一的參數(shù):
-i vasr
:檢測(cè)到 VIT 喚醒詞后啟用 ASR。-i kasr
:通過鍵盤輸入激活 ASR(按“Enter”開始轉(zhuǎn)錄)。-i keyb
:禁用 ASR,僅使用鍵盤輸入。
要啟用連續(xù) ASR,請(qǐng)傳遞-c
標(biāo)志。在此模式下,ASR 會(huì)保持活動(dòng)狀態(tài),直到用戶按下“停止”鍵或因不活動(dòng)而發(fā)生超時(shí)。
**
來源:恩智浦appcodehub