eIQ GenAI 流量演示器
eIQ GenAI Flow是一套软件流水线,用于在边缘设备上实现 AI 驱动的体验。目前,Flow 支持NXP i.MX 95上的?对话式 AI?。
概述
eIQ GenAI Flow 集成了多种 AI 技术,打造无缝的 HMI 体验。对话式 AI 流程包含以下阶段:
- ?唤醒词检测?:VIT(语音智能技术)唤醒词触发ASR(自动语音识别)。
- ?语音转文本 (ASR)?:将语音输入转换为文本。
- ?检索增强生成 (RAG)?:利用相关外部知识增强大型语言模型 (LLM)。
- ?文本生成 (LLM)?:根据检索到的上下文生成响应。
- ?文本到语音 (TTS)?:将响应转换为语音输出。
此演示程序展示了 eIQ GenAI Flow 的一些核心功能。此英文演示程序旨在概述该项目的功能及其工作原理。它是完整项目eIQ GenAI Flow Pro的一个子集。
Flow 完整版提供了更多?模型?、?功能?、?定制?、RAG 微调选项以及更好的音频任务性能。
有关更多详细信息,请使用NXP 社区论坛生成 AI 和 LLM。
目录
先决条件
该存储库使用Git 大文件存储 (LFS)来管理大文件(例如模型、数据集、二进制文件)。
?在克隆此存储库之前?,请确保您的机器上已安装并初始化 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(运行一次)
shell
git lfs install
克隆项目
shell
git clone https://github.com/nxp-appcodehub/dm-eiq-genai-flow-demonstrator
cd dm-eiq-genai-flow-demonstrator
Git LFS 将在克隆期间或之后自动下载所有跟踪的大文件。如果需要,你可以运行:
shell
git lfs pull
手动获取任何缺失的 LFS 文件。
BSP 选择
此演示需要适用于i.MX 应用处理器的嵌入式 Linux中提供的 Linux BSP 。
虽然该演示可以在常规的 NXP Q1 2025 BSP 上运行,但它在使用软件包中提供的meta-eiq-genai-flow定制的 BSP 上效果最佳。此元层更新:
- Linux 内核: matmul Neutron C-API
- 设备树: Neutron 专用的连续内存分配 (CMA) 区域
- ?Onnxruntime:?添加 Neutron 执行提供程序
- ?Neutron 资产:?用于处理 matmul 操作的驱动程序和固件。
有关构建详细信息,请参阅meta-eiq-genai-flow中的README 。
此项定制的优势在于显著降低 CPU 负载,并加快 LLM 操作的首个令牌时间 (TTFT)。详情请参阅 LLM 基准测试部分。
一旦 BSP 闪存到目标上,就必须将此包中的eiqgenaiflow文件夹复制到 linux 主文件夹中。
安装
要设置环境,请运行:
shell
cd eiq_genai_flow
./install.sh
入门
要运行演示,请使用以下命令:
shell
./eiq_genai_flow
?注意:?二进制文件必须始终从目录执行
eiq_genai_flow
。?注意?:试用期有 2 小时的超时时间。
注意: i.MX 95 中当前未启用缓存。每次执行此应用程序时,都需要预热时间(少于一分钟)。
运行
./eiq_genai_flow --help
以查看可用选项。
默认模式为键盘转语音,这意味着模块 VIT 和 ASR 被禁用。要启用语音转语音体验,请使用 --input-mode vasr
参数。
该应用程序支持各种输入/输出选项和模型选择,详见下面的软件组件部分。
软件组件
语音智能技术(VIT)
VIT 是 NXP 的语音 UI 技术,它利用深度学习实现始终在线的唤醒词检测。
?VIT 与“HEY NXP”?预定义的唤醒词集成。
? 启用 VIT
使用参数在唤醒词检测后-i vasr
启用 ASR 。
其他选项包括:
-c
(连续模式):允许连续对话,无需每次回应后发出唤醒词。
???
自动语音识别(ASR)
ASR 将口语转换为文本。
演示器使用 Whisper-small.en int8-quantized 针对具有 244M 参数的流式传输进行了优化。
? 启用 ASR
使用--input-mode
具有下列值之一的参数:
-i vasr
:检测到 VIT 唤醒词后启用 ASR。-i kasr
:通过键盘输入激活 ASR(按“Enter”开始转录)。-i keyb
:禁用 ASR,仅使用键盘输入。
要启用连续 ASR,请传递-c
标志。在此模式下,ASR 会保持活动状态,直到用户按下“停止”键或因不活动而发生超时。
**
来源:恩智浦appcodehub