Skip to content

About

The eIQ GenAI Flow Demonstrator is a Conversational AI Pipeline application designed for NXP i.MX95 devices.

Resources

Stars

26 stars

Watchers

5 watching

Forks

Repository files navigation

NXP® eIQ® GenAI Flow Demonstrator Package

License badge Board badge Board badge Board badge Board badge Board badge Board badge Board badge

Language badge Category badge


Overview

The NXP eIQ® GenAI Flow Demonstrator package showcases advanced AI capabilities running at the edge on NXP i.MX9 and i.MX8M application processors. This demonstrator includes three AI components:

  1. eIQ GenAI Flow - Conversational AI Pipeline (VIT wake-word, Voice ID, VAD, STT, RAG, LLM, TTS)
  2. Vision Language Model (VLM) - Visual Question Answering
  3. RAG Database Generator - Offline tool to build domain-specific knowledge bases for RAG-enhanced LLM responses

All components are optimized for edge deployment and demonstrate real-world AI use cases on resource-constrained devices.


📦 Package Contents

1. eIQ GenAI Flow - Conversational AI

A complete conversational AI pipeline integrating:

  • Wake-Word Detection (VIT)
  • Voice Activity Detection (Silero VAD)
  • Voice Identification (ResNet-34)
  • Speech-to-Text (Whisper, Moonshine)
  • Retrieval-Augmented Generation (all-MiniLM-L6-v2)
  • Large Language Model (Danube 500M on CPU/Neutron, or ARA240 DNPU models)
  • Text-to-Speech (VITS)

📖 Detailed Documentation: eiq_genai_flow/README.md

Key Features:

  • Multi-turn conversations with wake-word activation
  • Speaker recognition via the Voice ID module
  • Knowledge-base enhanced responses via RAG
  • Multiple input modes (voice, keyboard, GUI/chat interface)
  • Neutron NPU acceleration for LLM and STT (i.MX95 B0)
  • Discrete NPU (ARA2) acceleration for large LLMs on compatible platforms
  • Event-driven pipeline, all modules delivered as Python wheels
  • ROS 2 node wrapper for integration with ROS 2 ecosystems

2. Vision Language Model (VLM)

Visual question answering system for image understanding:

  • Multimodal AI combining vision and language
  • Image captioning and visual reasoning
  • Edge-optimized inference

📖 Detailed Documentation: vlm/README.md

Key Features:

  • Describe and analyze images
  • Answer questions about visual content
  • Optimized for edge deployment

3. RAG Database Generator

PC-based offline utility to build the compact knowledge database consumed by the eIQ GenAI Flow RAG stage. It parses source documents (PDF via Docling), chunks them (including the HiRAG algorithm), and computes embeddings using NXP-optimized embedding models.

📖 Detailed Documentation: rag_database_generator/README.md

Key Features:

  • Advanced PDF parsing (Docling)
  • Multiple chunking strategies, including HiRAG
  • NXP-optimized ONNX / quantized embedding models (e.g. all-MiniLM-L6-v2)
  • Example notebooks: database generation + end-to-end RAG with Hugging Face LLMs
  • Produces .pkl databases directly usable by the eIQ GenAI Flow (--use-rag / -r)

🚀 Quick Start

Prerequisites

  • Hardware: NXP i.MX95, i.MX952, i.MX943, i.MX93, i.MX91, i.MX8MP, i.MX8MM, or i.MX8MN board
  • OS: NXP Linux BSP (L6.12.49-2.2.0 or later recommended for i.MX95, tested up to L6.18.20-2.0.0)
  • Python: Version 3.13 or 3.14
  • Storage: At least 16GB free space

Installation

  1. Transfer the package to your i.MX device:

    scp -r eiq_genai_flow vlm root@<imx-device-ip>:/root/
  2. Install eIQ GenAI Flow:

    cd eiq_genai_flow
    ./install.sh

    See eiq_genai_flow/README.md for detailed installation options.

  3. Install VLM:

    cd ../vlm
    ./install.sh

Running the Demonstrators

Conversational AI:

cd eiq_genai_flow
eiq_genai_flow -i vasr -o tts -m danube-500M-q8 --voice-id

Vision Language Model:

# Basic usage — run with default model and settings
cd vlm
./launch.sh
# Custom usage — specify model, input image, and precision
cd vlm
./launch.sh -m smolvlm-500M -im path/to/your_image.png -p q8

📋 Platform Support

Platform eIQ GenAI Flow VLM NPU Acceleration
i.MX95 ✅ Full ✅ ✅ (LLM, experimental STT)
i.MX952 ✅ Full ✅ ❌
i.MX943 ✅ Full ✅ ❌
i.MX8MP ✅ Full ✅ ❌
i.MX93 ✅ Partial* ✅ ❌
i.MX91 ✅ Minimal** ✅ ❌
i.MX8MM/MN ✅ Minimal** ✅ ❌

* Lighter models recommended (danube-500M-q4, moonshine-tiny)
** RAG-only mode (no LLM generation)

See platform recommendations for detailed configuration guidance.


📚 Documentation


🔧 Configuration

Each component has its own configuration:

  • eIQ GenAI Flow: Edit eiq_genai_flow/config.py
  • VLM: See vlm/README.md for configuration options
  • RAG Database Generator: Edit rag_database_generator/src/rag_database_generator/config.py

📊 Benchmarks

Performance benchmarks for various configurations are available at:


⚠️ Demonstrator Limitations

This demonstrator package has the following limitations:

  • Session timeout: Applications automatically shut down after 1 hour of operation
  • Language support: English language only
  • Component delivery: Core AI components provided as optimized binary libraries
  • Model selection: Includes a curated subset of models optimized for target platforms
  • Model format: Models delivered in encrypted format

These limitations are designed to provide an optimal evaluation experience while showcasing AI capabilities on NXP platforms.


🆘 Support


📄 License

This software is proprietary to NXP and may only be used strictly in accordance with the applicable license terms.

See LICENSE for complete terms and conditions.

Third-Party Licenses

  • See individual component licenses in the licenses/ directory

📝 Release Notes

Version Release Date Highlights
3.1 July 31, 2026 Voice ID module, ARA240 DNPU LLM support, event-based pipeline, all modules as wheels, ROS 2 node wrapper, improved TTS streaming (up to 0.5s TTFA improvement)
3.0 March 31, 2026 TTS streaming, new Audio Manager, module customization, VLM demonstrator v1.0
2.0 November 21, 2025 Neutron acceleration, customizable wake-word, 900+ TTS voices
1.1 June 20, 2025 i.MX8MP support
1.0 March 31, 2025 Initial release (i.MX95)

See component-specific README files for detailed release notes.


🎯 Use Cases

Conversational AI Applications

  • Smart home voice assistants
  • Automotive in-cabin assistants
  • Healthcare patient interfaces
  • Industrial HMI systems

Vision Applications

  • Visual inspection and QA
  • Assistive technologies
  • Educational tools
  • Content analysis

🏗️ Repository Structure

dm-eiq-genai-flow-demonstrator/
├── eiq_genai_flow/               # Conversational AI pipeline
│   ├── README.md                 # Detailed documentation
│   ├── ROS_README.md             # ROS 2 node documentation
│   ├── src/                      # eIQ GenAI Flow sources
│   └── wheels/                   # Prebuilt Python wheels
├── vlm/                          # Vision Language Model
│   ├── README.md                 # Detailed documentation
│   └── src/                      # VLM sources
├── rag_database_generator/       # RAG Database Generator (PC)
│   ├── README.md                 # Detailed documentation
│   ├── src/                      # RAG Database Generator sources
│   ├── wheels/                   # Prebuilt Python wheels
│   └── notebooks/                # Example notebooks
└── README.md                     # <-- You are here

🔗 Related Resources



NXP Semiconductors - Securing the Connected World

\

About

The eIQ GenAI Flow Demonstrator is a Conversational AI Pipeline application designed for NXP i.MX95 devices.

Resources

Stars

26 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages