From d53c3c3a82116317f658cfff678b12ea4be840ca Mon Sep 17 00:00:00 2001 From: Odin Shen Date: Wed, 28 Jan 2026 23:10:26 +0000 Subject: [PATCH 1/2] New LP: Offline Voice Chatbot with FasterWhisper and vLLM on DGX Spark Building a local voice chatbot with STT + vLLM on NVIDIA DGX Spark platform. Includes setup for faster-whisper STT, vLLM generation backend, and end-to-end inference flow. --- .../1_offline_voice_assistant.md | 35 ++ .../dgx_spark_voicechatbot/2_setup.md | 218 +++++++ .../dgx_spark_voicechatbot/3_fasterwhipser.md | 459 +++++++++++++++ .../dgx_spark_voicechatbot/4_vllm.md | 547 ++++++++++++++++++ .../5_chatbot_prompt.md | 290 ++++++++++ .../6_chatbot_contextaware.md | 365 ++++++++++++ .../dgx_spark_voicechatbot/_index.md | 60 ++ .../dgx_spark_voicechatbot/_next-steps.md | 8 + .../fasterwhipser_demo1.gif | Bin 0 -> 1076272 bytes .../fasterwhipser_vllm_demo2.gif | Bin 0 -> 1718176 bytes 10 files changed, 1982 insertions(+) create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/1_offline_voice_assistant.md create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/2_setup.md create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/3_fasterwhipser.md create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/4_vllm.md create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/5_chatbot_prompt.md create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/6_chatbot_contextaware.md create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_index.md create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_next-steps.md create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/fasterwhipser_demo1.gif create mode 100644 content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/fasterwhipser_vllm_demo2.gif diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/1_offline_voice_assistant.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/1_offline_voice_assistant.md new file mode 100644 index 0000000000..fad318fe14 --- /dev/null +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/1_offline_voice_assistant.md @@ -0,0 +1,35 @@ +--- +title: Understanding Offline Voice Assistants +weight: 2 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Why Build an Offline Voice Assistant? + +Voice-based AI assistants are becoming essential in customer support, productivity tools, and embedded interfaces. For example, a retail kiosk might need to answer product-related questions verbally without relying on internet access. However, many of these systems depend heavily on cloud services for speech recognition and language understanding, raising concerns around latency, cost, and data privacy. + +In addition, a healthcare terminal or legal consultation assistant may need to handle voice queries involving sensitive personal information, where sending audio data to the cloud would violate privacy requirements. Running your voice assistant entirely offline solves these problems. + +You avoid unpredictable latency caused by network fluctuations, prevent sensitive voice data from leaving the local machine, and eliminate recurring API costs that make large-scale deployment expensive. It also boosts trust for on-device deployments and compliance-sensitive industries. + +By combining local speech-to-text (STT) with a locally hosted large language model (LLM), you gain full control over the pipeline and eliminate API dependencies. This gives you full control to experiment, customize, and scale—without relying on external APIs. + +## Common Development Challenges: + +While the benefits are clear, building a local voice assistant involves several engineering challenges: + +- Managing audio stream segmentation and speech detection in real-time: It's hard to reliably identify when the user starts and stops speaking, especially with natural pauses and background noise. + +- Avoiding latency or misfires in STT/LLM integration: Timing mismatches can cause delayed responses or repeated input, reducing the conversational quality. + +- Keeping the pipeline responsive on local hardware without overloading resources: You need to carefully balance CPU/GPU workloads so that inference doesn't block audio capture or processing. + +## Why use Arm and DGX Spark? + +Arm-powered platforms like [DGX Spark](https://www.nvidia.com/en-gb/products/workstations/dgx-spark/) allow efficient parallelism: use CPU cores for audio preprocessing and whisper inference, while offloading LLM reasoning to powerful GPUs. This architecture balances throughput and energy efficiency—ideal for private, on-prem AI workloads. Check this [learning path](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_llamacpp/1_gb10_introduction/) to understand the CPU and GPU architecture of DGX Spark. + +DGX Spark also supports standard USB interfaces, making it easy to connect consumer-grade microphones for development or deployment. This makes it viable not just for data center use, but also for edge inference or desktop-style prototyping. + +In this Learning Path, you’ll build a complete, offline voice chatbot prototype using PyAudio, faster-whisper, and vLLM on an Arm-based system—resulting in a fully functional assistant that runs entirely on local hardware with no internet dependency. diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/2_setup.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/2_setup.md new file mode 100644 index 0000000000..5791564b70 --- /dev/null +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/2_setup.md @@ -0,0 +1,218 @@ +--- +title: Installing faster-whisper for Local Speech Recognition +weight: 3 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Installing faster-whisper for Local Speech Recognition + +[Faster‑whisper](https://github.com/SYSTRAN/faster-whisper) is a high‑performance reimplementation of OpenAI Whisper, designed to significantly reduce transcription latency and memory usage. It is well suited for local and real‑time speech‑to‑text (STT) pipelines, especially when running on CPU‑only systems or hybrid CPU/GPU environments. + +In this Learning Path, faster‑whisper serves as the STT engine that converts raw microphone input into structured text. At this stage, the goal is to install faster‑whisper correctly and verify that it can transcribe audio reliably. Detailed tuning and integration will be covered in later modules. + +### Install build dependencies + +While some Python packages such as sounddevice and webrtcvad previously had compatibility issues with newer Python versions, these have been resolved. This Learning Path uses ***Python 3.12***, which has been tested and confirmed to work reliably with all required dependencies. + +Install Python 3.12 and build dependencies: + +```bash +sudo apt update +sudo apt install python3.12 python3.12-venv python3.12-dev -y +sudo apt install portaudio19-dev ffmpeg -y +``` + +### Create and Activate Python Environment + +In particular, [pyaudio](https://pypi.org/project/PyAudio/) (used for real-time microphone capture) depends on the PortAudio library and the Python C API. These must match the version of Python you're using. + +Now that the system libraries are in place and audio input is verified, it's time to set up an isolated Python environment for your voice assistant project. This will prevent dependency conflicts and make your installation reproducible. + +```bash +python3.12 -m venv voice_ass_env +source voice_ass_env/bin/activate +python3 -m pip install --upgrade pip +``` + +Before install the package, it will be worst to check the Python version in your virtual environment. + +```bash +python3 --version +``` + +Expected output should be `3.12.x` or higher. +```log +Python 3.12.3 +``` + +Install required Python packages: + +```bash +pip install pyaudio numpy torch faster-whisper +pip install requests webrtcvad sounddevice==0.5.3 +``` + +{{% notice Note %}} +While sounddevice==0.5.4 is available, it introduces callback-related errors during audio stream cleanup that may confuse beginners. +For this Learning Path, we recommend sounddevice==0.5.3, which is stable and avoids these warnings. +{{% /notice %}} + +Verify the pyaudio version by: +```bash +python -c "import pyaudio; print(pyaudio.__version__)" +``` + +Expected output should be: +```log +0.2.14 +``` + +### Verify microphone input + +Once your system dependencies are installed, you can test that your audio hardware is functioning properly. This ensures that your audio input is accessible by Python through the sounddevice module. + +Now plug in your USB microphone and run the following Python code to verify that it is detected and functioning correctly: + +```python +import sounddevice as sd +import numpy as np + +SAMPLE_RATE = 16000 +DURATION = 5 + +print(" Start recording for 5 seconds...") +with sd.InputStream(samplerate=SAMPLE_RATE, channels=1, dtype='float32') as stream: + audio = stream.read(int(SAMPLE_RATE * DURATION))[0] +print(" Recording complete.") + +print(" Playing back...") +sd.play(audio, samplerate=SAMPLE_RATE) +sd.wait() +print(" Playback complete.") +``` + +DGX Spark will record the audio for 5 seconds and immediately play back the captured audio. +If you do not hear any playback, check your USB connection and verify the installation steps above. + +Once you’ve confirmed that your microphone is working and your environment is set up, you’re ready to test real-time transcription and move on to the next phase. + +### Sample: Real-time Transcription with faster-whisper + +Now let's verify that your Whisper model works with live microphone input. This example records a 10-second audio clip using the system microphone, transcribes it using faster-whisper, and prints the transcribed text with timestamps. + +This script records a fixed-duration mono audio clip using the sounddevice module and transcribes it using the faster-whisper model. The overall flow includes several key steps: +- The `record_audio()` function starts the microphone and records a 10-second audio segment, returning the data as a NumPy array. +- The `WhisperModel("small.en")` call loads the ***small English model*** from faster-whisper, using `compute_type`=***"int8"*** to ensure compatibility with CPU-only systems. +- The `transcribe_audio()` function processes the recorded audio and prints the transcription results along with start and end timestamps for each spoken segment. +- The while True loop continuously records and transcribes in real time until interrupted, allowing the user to speak multiple utterances across iterations. +- The script will continue running in 10-second cycles until stopped with ***Ctrl+C***. + +```python +import sounddevice as sd +import numpy as np +from faster_whisper import WhisperModel + +SAMPLE_RATE = 16000 +DURATION = 10 # seconds per loop + +def record_audio(): + print(" Recording for 10 seconds...") + with sd.InputStream(samplerate=SAMPLE_RATE, channels=1, dtype='float32') as stream: + audio = stream.read(int(SAMPLE_RATE * DURATION))[0] # returns (data, overflow) + sd.wait() + print(" Recording complete.") + return audio.flatten() + +def transcribe_audio(audio): + model = WhisperModel("small.en", device="cpu", compute_type="int8") + print(" Transcribing...") + segments, _ = model.transcribe(audio, language="en") + for segment in segments: + print(f"[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text.strip()}") + print(" Done.\n") + +if __name__ == "__main__": + try: + while True: + audio_data = record_audio() + transcribe_audio(audio_data) + except KeyboardInterrupt: + print(" Stopped by user.") +``` + +{{% notice Note %}} +To stop the script, press ***Ctrl+C*** during any transcription loop.The current 10-second recording will complete and transcribe before the program exits cleanly. +Avoid using ***Ctrl+Z***, which suspends the process instead of terminating it. +{{% /notice %}} + + +### Troubleshooting + +This section lists common issues you may encounter when setting up local speech-to-text, along with clear checks and fixes. + +***Problem 1: Callback-related errors with sounddevice*** + +If you encounter errors like: + +```log +AttributeError: '_CallbackContext' object has no attribute 'data' +``` + +***Cause*** +This is a known issue introduced in sounddevice==0.5.4, related to internal callback cleanup. + +***Fix*** +Use the stable version recommended in this Learning Path: +```bash +pip install sounddevice==0.5.3 +``` + +***Problem 2: No sound playback after recording*** + +You can record audio without errors, but nothing is played back. + +***Check:*** +- Verify that your USB microphone or headset is selected as the default input/output device. +- Ensure the system volume is not muted. + +***Fix*** +List all available audio devices: + +```bash +python -m sounddevice +``` + +You should see an output similar to: +```log +0 NVIDIA: HDMI 0 (hw:0,3), ALSA (0 in, 8 out) + 1 NVIDIA: HDMI 1 (hw:0,7), ALSA (0 in, 8 out) + 2 NVIDIA: HDMI 2 (hw:0,8), ALSA (0 in, 8 out) + 3 NVIDIA: HDMI 3 (hw:0,9), ALSA (0 in, 8 out) + 4 Plantronics Blackwire 3225 Seri: USB Audio (hw:1,0), ALSA (2 in, 2 out) + 5 hdmi, ALSA (0 in, 8 out) + 6 pipewire, ALSA (64 in, 64 out) + 7 pulse, ALSA (32 in, 32 out) +* 8 default, ALSA (64 in, 64 out) +``` + +If your microphone or headset is listed but not active, try explicitly selecting it in Python: + +```bash +import sounddevice as sd + +sd.default.device = 4 # Set to your desired device index +``` + +Other fixes to try: +- Increase system volume +- Replug the device +- Reboot your system to refresh device mappings + + +### Next Module + +Once your transcription prints correctly in the terminal and playback works as expected, you’ve successfully completed the setup for local STT using faster-whisper. + +In the next module, you’ll enhance this basic transcription loop by adding real-time audio segmentation, turn detection, and background threading to support natural voice interactions. \ No newline at end of file diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/3_fasterwhipser.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/3_fasterwhipser.md new file mode 100644 index 0000000000..b73e5c6ddf --- /dev/null +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/3_fasterwhipser.md @@ -0,0 +1,459 @@ +--- +title: Build a Real-Time STT Pipeline on CPU +weight: 4 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Build a Real-Time STT Pipeline on CPU + +In this module, you will build a real-time speech-to-text (STT) pipeline using only the CPU. Starting from a basic 10-second recorder, you’ll incrementally add noise filtering, sentence segmentation, and parallel audio processing to achieve a production-ready transcription engine—optimized for Arm-based systems like DGX Spark. + +You’ll start from a minimal loop and iterate toward a multithreaded, VAD-enhanced STT engine. Let’s dive into the steps. + +### Step 1: Upgrade to High-Accuracy Model + +Start with a basic script that records 10 seconds of microphone input using ***sounddevice***, and transcribes the audio using the ***faster-whisper*** model. + +By replacing the default `small.en` model with the higher accuracy `medium.en`, you would improve transcription quality—especially helpful for conversational speech or uncommon vocabulary. + +You’ll also learn how to configure the compute type (CPU/GPU) for best performance on your hardware. + +* Use ***sounddevice*** for fixed-duration recording. +* Load ***WhisperModel*** + - ***small.en*** is fast but has limited accuracy. + - ***medium.en*** provides significantly better recognition, especially for less common words or accents. + - For CPU-only systems, you need to set the ***device*** as "cpu" and you'll want to optimize with compute_type="int8". + +* Print transcription result. + +Here is the complete python code with the above changes. + +```python +import sounddevice as sd +import numpy as np +from faster_whisper import WhisperModel + +SAMPLE_RATE = 16000 +DURATION = 10 # seconds per loop +device = "cpu" # or "cpu" +compute_type = "int8" # or "float16", "int8", "int4" + +def record_audio(): + print(" Recording for 10 seconds...") + with sd.InputStream(samplerate=SAMPLE_RATE, channels=1, dtype='float32') as stream: + audio = stream.read(int(SAMPLE_RATE * DURATION))[0] + sd.wait() + print(" Recording complete.") + return audio.flatten() + +def transcribe_audio(audio): + model = WhisperModel("medium.en", device=device, compute_type=compute_type) + print(" Transcribing...") + segments, _ = model.transcribe(audio, language="en") + for segment in segments: + print(f"[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text.strip()}") + print(" Done.\n") + +if __name__ == "__main__": + try: + while True: + audio_data = record_audio() + transcribe_audio(audio_data) + except KeyboardInterrupt: + print(" Stopped by user.") +``` + +{{% notice Note %}} +fasterwhisper support many of models like tiny, base, small, medium and large-v1/2/3. +Check the [link](https://github.com/openai/whisper?tab=readme-ov-file#available-models-and-languages) to find more model detail. +{{% /notice %}} + + +### Step 2: Add Voice Activity Detection (VAD) + +To avoid transcribing silence or background noise, you can use Voice Activity Detection (VAD) to filter out non-speech audio segments before sending them to the transcription model. This allows you to skip silent periods and only process meaningful user input. + +You'll update the previous 10-second transcription loop to include ***webrtcvad***, which classifies each short frame (30ms) of audio as either speech or silence. If no speech is detected in the 10-second window, we skip transcription. + +* VAD is applied after recording, on fixed-size frames (e.g. 30ms) +* If no frame in the 10-second window is classified as speech, we skip STT +* This is an efficient first filter before buffering or turn detection + +```python +import sounddevice as sd +import numpy as np +import webrtcvad +from faster_whisper import WhisperModel + +SAMPLE_RATE = 16000 +DURATION = 10 # seconds per loop +device = "cpu" # or "cpu" +compute_type = "int8" # or "float16", "int8", "int4" + +FRAME_DURATION_MS = 30 +FRAME_SIZE = int(SAMPLE_RATE * FRAME_DURATION_MS / 1000) + +VAD_MODE = 3 # Aggressive mode +vad = webrtcvad.Vad(VAD_MODE) + +def record_audio(): + print(" Recording for 10 seconds...") + with sd.InputStream(samplerate=SAMPLE_RATE, channels=1, dtype='float32') as stream: + audio = stream.read(int(SAMPLE_RATE * DURATION))[0] + sd.wait() + print(" Recording complete.") + return audio.flatten() + +def contains_speech(audio): + pcm = (audio * 32768).astype(np.int16).tobytes() + for i in range(0, len(pcm), FRAME_SIZE * 2): + frame = pcm[i:i + FRAME_SIZE * 2] + if len(frame) < FRAME_SIZE * 2: + break + if vad.is_speech(frame, SAMPLE_RATE): + return True + return False + +def transcribe_audio(audio): + model = WhisperModel("medium.en", device=device, compute_type=compute_type) + print(" Transcribing...") + segments, _ = model.transcribe(audio, language="en") + for segment in segments: + print(f"[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text.strip()}") + print(" Done.\n") + +if __name__ == "__main__": + try: + while True: + audio_data = record_audio() + if contains_speech(audio_data): + transcribe_audio(audio_data) + else: + print(" No speech detected. Skipping transcription.") + except KeyboardInterrupt: + print(" Stopped by user.") +``` + +When you speak to device, you may receive the result as below: + +```log + Recording for 10 seconds... + Recording complete. + No speech detected. Skipping transcription. + Recording for 10 seconds... + Recording complete. + Transcribing... +[0.00s - 10.00s] Hi, I forgot my account password and need help resetting it as soon as possible. + Done. + + Recording for 10 seconds... + Recording complete. + Transcribing... +[0.00s - 10.00s] I want to cancel my subscription this month. + Done. +``` + + +### Step 3: Segment Full Sentences with Silence and Duration Thresholds + +While VAD helps detect the presence of speech, it's not enough for natural interactions. + +In natural conversations, users often pause briefly or trail off in their speech. If a voice assistant transcribes audio too early, it may produce incomplete or fragmented sentences. To solve this, we introduce turn segmentation logic using two key timing thresholds: +* Silence Limit (`--silence-limit`): Wait until the user is silent for this long before deciding a speech segment has ended. +* Minimum Speech (`--min-speech`): Discard segments that are too short to be meaningful, such as false starts or background chatter. + +This approach ensures the assistant captures full sentences before running inference, while also filtering out incomplete or unintentional audio. + +You will implement this by: +- Using webrtcvad to detect speech frames +- Buffering those frames into a queue +- Tracking silence time and speech duration +- Triggering transcription only when a valid turn is detected + +```python +import pyaudio +import numpy as np +import webrtcvad +import time +import torch +from faster_whisper import WhisperModel +from collections import deque + +# --- Parameters --- +SAMPLE_RATE = 16000 +FRAME_DURATION_MS = 30 +FRAME_SIZE = int(SAMPLE_RATE * FRAME_DURATION_MS / 1000) +VAD_MODE = 3 +SILENCE_LIMIT_SEC = 1.0 +MIN_SPEECH_SEC = 2.0 + +# --- Init VAD and buffer --- +vad = webrtcvad.Vad(VAD_MODE) +speech_buffer = deque() +speech_started = False +last_speech_time = time.time() + +# --- Init Whisper model --- +device = "cpu" # "cpu" or "gpu" +compute_type = "int8" # "int8" or "float16", "int8", "int4" +model = WhisperModel("medium.en", device=device, compute_type=compute_type) + +# --- Init audio stream --- +pa = pyaudio.PyAudio() +stream = pa.open(format=pyaudio.paInt16, + channels=1, + rate=SAMPLE_RATE, + input=True, + frames_per_buffer=FRAME_SIZE) + +print(" Listening... Press Ctrl+C to stop\n\n\n") + +try: + while True: + frame = stream.read(FRAME_SIZE, exception_on_overflow=False) + is_speech = vad.is_speech(frame, SAMPLE_RATE) + + if is_speech: + speech_buffer.append(frame) + speech_started = True + last_speech_time = time.time() + elif speech_started: + speech_duration = len(speech_buffer) * (FRAME_DURATION_MS / 1000.0) + silence_duration = time.time() - last_speech_time + + if silence_duration > SILENCE_LIMIT_SEC: + if speech_duration >= MIN_SPEECH_SEC: + print(" Transcribing buffered speech...") + audio_bytes = b"".join(speech_buffer) + audio_np = np.frombuffer(audio_bytes, dtype=np.int16).astype(np.float32) / 32768.0 + + segments, _ = model.transcribe(audio_np, language="en") + for seg in segments: + print(f"[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text.strip()}") + print(" Segment done.") + else: + print(f" Skipped short segment ({speech_duration:.2f}s < {MIN_SPEECH_SEC}s)") + + speech_buffer.clear() + speech_started = False +except KeyboardInterrupt: + print(" Stopped") +finally: + stream.stop_stream() + stream.close() + pa.terminate() +``` + +The result is a smoother and more accurate voice UX—particularly important when integrating with downstream LLMs in later modules. + +### Step 4: Multi-Threaded Audio Collection and Inference + +In the previous sections, your main loop handled both audio capture and transcription sequentially. While simple, this approach risks dropping frames or introducing latency—especially when transcription takes longer than real-time. + +In this section, you’ll separate audio input into a background thread while keeping transcription in the main loop. This enables: + +- Continuous frame capture with no blocking +- Smooth, real-time responsiveness +- Modular code that’s easier to scale or extend + +You’ll use Python’s ***threading.Thread*** to read audio in the background and a thread-safe ***queue.Queue*** to pass frames to the main loop. + +```python +import pyaudio +import numpy as np +import webrtcvad +import time +import torch +import threading +import queue +from faster_whisper import WhisperModel +from collections import deque + +# --- Parameters --- +SAMPLE_RATE = 16000 +FRAME_DURATION_MS = 30 +FRAME_SIZE = int(SAMPLE_RATE * FRAME_DURATION_MS / 1000) +VAD_MODE = 3 +SILENCE_LIMIT_SEC = 1.0 +MIN_SPEECH_SEC = 2.0 + +# --- Init VAD and buffers --- +vad = webrtcvad.Vad(VAD_MODE) +speech_buffer = deque() +speech_started = False +last_speech_time = time.time() + +# --- Init Thread and Queue --- +audio_queue = queue.Queue() +stop_event = threading.Event() + +# --- Init Whisper model --- +device = "cpu" # "cpu" or "gpu" +compute_type = "int8" # "int8" or "float16", "int8", "int4" +model = WhisperModel("medium.en", device=device, compute_type=compute_type) + +# --- Audio capture thread --- +def audio_capture(): + pa = pyaudio.PyAudio() + stream = pa.open(format=pyaudio.paInt16, + channels=1, + rate=SAMPLE_RATE, + input=True, + frames_per_buffer=FRAME_SIZE) + print(" Listening... Press Ctrl+C to stop") + try: + while not stop_event.is_set(): + frame = stream.read(FRAME_SIZE, exception_on_overflow=False) + audio_queue.put(frame) + finally: + stream.stop_stream() + stream.close() + pa.terminate() + +# --- Start audio capture thread --- +threading.Thread(target=audio_capture, daemon=True).start() + +# --- Main loop: process queue and transcribe --- +try: + while True: + if audio_queue.empty(): + time.sleep(0.01) + continue + + frame = audio_queue.get() + is_speech = vad.is_speech(frame, SAMPLE_RATE) + + if is_speech: + speech_buffer.append(frame) + speech_started = True + last_speech_time = time.time() + elif speech_started: + speech_duration = len(speech_buffer) * (FRAME_DURATION_MS / 1000.0) + silence_duration = time.time() - last_speech_time + + if silence_duration > SILENCE_LIMIT_SEC: + if speech_duration >= MIN_SPEECH_SEC: + print(" Transcribing buffered speech...") + audio_bytes = b"".join(speech_buffer) + audio_np = np.frombuffer(audio_bytes, dtype=np.int16).astype(np.float32) / 32768.0 + + segments, _ = model.transcribe(audio_np, language="en") + for seg in segments: + print(f"[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text.strip()}") + print(" Segment done.\n") + else: + print(f" Skipped short segment ({speech_duration:.2f}s < {MIN_SPEECH_SEC}s)") + + speech_buffer.clear() + speech_started = False +except KeyboardInterrupt: + print(" Stopped") +finally: + stop_event.set() +``` + +When you say a long sentence with multiple clauses, the output you’ll see will look like this. +``` + Skipped short segment (0.81s < 2.0s) + Transcribing buffered speech... +[0.00s - 3.76s] Hi, I forgot my account password and I need to help in resetting + Segment done. + Transcribing buffered speech... +[0.00s - 5.36s] Please help me to tracking my recent order and let me know when I can have my package. + Segment done. + Transcribing buffered speech... +[0.00s - 3.76s] I want to cancel my subscription and ensure I will not be charged. +[3.76s - 7.60s] I would like to speak to the live customer support representative. + Segment done. +``` + +### Demo: Real-Time Speech Transcription on Arm CPU with faster-whisper + +This demo shows the real-time transcription pipeline in action, running on an Arm-based DGX Spark system. Using a USB microphone and the faster-whisper model (***medium.en***), the system records voice input, processes it on the CPU, and returns accurate transcriptions with timestamps—all without relying on cloud services. + +Notice the clean terminal output and low latency, demonstrating how the pipeline is optimized for local, real-time voice recognition on resource-efficient hardware. + +![img1 alt-text#center](fasterwhipser_demo1.gif "Figure 1: fasterwhipser with volume bar") + +Now, the device run audio capture and transcription in parallel. +- Use ***threading.Thread*** to collect audio without blocking. +- Store audio frames in a ***queue.Queue*** +- In main thread, poll for new data and run STT + + +### Fine‑Tuning Segmentation Parameters + +After applying the previous steps—model upgrade, VAD, smart turn detection, and multi‑threaded audio collection—you now have a high‑quality, CPU‑based local speech‑to‑text system. + +At this stage, the core pipeline is complete. What remains is fine‑tuning: adapting the system to your environment, microphone setup, and speaking style. This flexibility is one of the key advantages of a fully local STT pipeline. + +By adjusting a small set of parameters, you can significantly improve transcription stability and user experience. + +No two environments are the same. A quiet office, a noisy lab, and a home setup with background music all require different segmentation behavior. Similarly, users speak at different speeds and with different pause patterns. + +Fine‑tuning allows you to: +- Avoid cutting long sentences too early +- Reduce false triggers from background noise +- Balance responsiveness and transcription accuracy + +Tunable Parameters +The following parameters control how speech is segmented and when transcription is triggered: + +#### faster‑whisper Model Selection +Model choice directly impacts accuracy and performance: +- small.en: Fast, suitable for lightweight or low‑latency use +- medium.en: Higher accuracy, recommended for most CPU‑based deployments +- Larger models: Better accuracy but may not be practical on CPU + +Choosing the right model ensures an optimal balance between speed and transcription quality. + +#### VAD Mode +webrtcvad provides multiple aggressiveness levels (0–3): +- Lower modes (0–1): More permissive, better for quiet environments +- Higher modes (2–3): More aggressive filtering, better for noisy environments + +Adjust this setting based on background noise and microphone quality. + +#### Tuning MIN_SPEECH_SEC and SILENCE_LIMIT_SEC +- MIN_SPEECH_SEC: This parameter defines the minimum duration of detected speech required before a segment is considered valid. Use this to filter out very short utterances such as false starts or background chatter. + - Lower values: More responsive, but may capture incomplete phrases or noise + - Higher values: More stable sentences, but slower response + +- SILENCE_LIMIT_SEC: This parameter defines how long the system waits after speech stops before finalizing a segment. + - Lower values: Faster turn completion, but higher risk of sentence truncation + - Higher values: Better sentence continuity, but increased latency + +Based on practical experiments, the following presets provide a good starting point. + +| ***Usage Scenario*** | ***MIN_SPEECH_SEC*** | ***SILENCE_LIMIT_SEC*** | ***Description*** | +|----------------------|----------------------|-------------------------|-------------------| +| Short command phrases | 0.8 | 0.6 | Optimized for quick voice commands such as “yes”, “next”, or “stop”. Prioritizes responsiveness over sentence completeness. | +| Natural conversational speech | 1.0 | 1.0 | Balanced settings for everyday dialogue with natural pauses between phrases. | +| Long-form explanations (e.g., tutorials) | 2.0 | 2.0 | Designed for longer sentences and structured explanations, reducing the risk of premature segmentation. | + + +### Audio Voice To Text Pipeline + +Through this module, you have implemented a complete real-time voice-to-text (STT) system running on the CPU. Each stage in the pipeline is open-source, modular, tunable, and optimized for offline usage. + +``` +USB Microphone (16kHz mono) + ↓ +PyAudio (32ms frames via stream.read) + ↓ +WebRTC VAD (speech vs silence classification) + ↓ +Audio Buffer (deque of active frames) + ↓ +Smart Turn Detection + ├── silence_limit: wait for user pause + └── min_speech: skip too-short segments + ↓ +WhisperModel ("medium.en" via faster-whisper) + ↓ +Print Transcription Result (timestamped text) +``` + +With this, you have a complete, low-latency, CPU-optimized STT engine. In the next module, you'll integrate this with vLLM to build a full local voice assistant. diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/4_vllm.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/4_vllm.md new file mode 100644 index 0000000000..e08e2044bb --- /dev/null +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/4_vllm.md @@ -0,0 +1,547 @@ +--- +title: Real-Time Offline Voice Chatbot Using STT and vLLM +weight: 5 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Real-Time Offline Voice Chatbot Using STT and vLLM + +In the previous module, you built a complete Speech-to-Text (STT) engine using ***faster-whisper***, running efficiently on Arm-based CPUs. Now it’s time to add the next major building block: a local large language model (LLM) that can generate intelligent responses from user input. + +In this module, you'll integrate ***[vLLM](https://vllm.ai/)*** — a high-performance LLM inference engine that runs on GPU and supports advanced features such as continuous batching, OpenAI-compatible APIs, and quantized models like GPTQ and AWQ. + +### Why vLLM? + +When building a real-time AI assistant, low latency and high throughput are critical. vLLM offers several advantages: +- ***GPU-accelerated inference***: Designed for modern GPUs, including CUDA and TensorRT backends. +- ***OpenAI-compatible API***: Allows you to use existing prompt structures and client code. +- ***Support for GPTQ, AWQ, FP16, and other formats***: Flexible deployment of open-source models. +- ***Efficient memory usage***: Enables serving large models such as LLaMA 2, Mistral, and more, even on constrained devices. + +vLLM is especially effective in hybrid systems like the DGX Spark, where CPU cores handle STT and preprocessing, while the GPU focuses on fast, scalable text generation. + +### Install and Launch vLLM with GPU Acceleration + +In this section, you’ll install and launch vLLM—an optimized large language model (LLM) inference engine that runs efficiently on GPU. This component will complete your local speech-to-response pipeline by transforming transcribed text into intelligent replies. + +#### Step 1: Install Docker and Pull vLLM Image + +The most efficiency way to install vLLM on DGX Spark is using Nvidia offical docker image. + +Before you pull the image, ensure [Docker](https://docs.nvidia.com/dgx/dgx-spark/nvidia-container-runtime-for-docker.html) is installed and functioning on DGX Spark. Then enable Docker GPU access and pull the latest NVIDIA vLLM container: + +```bash +sudo usermod -aG docker $USER +newgrp docker + +docker ps # check Docker is working + +export LATEST_VLLM_VERSION=25.11-py3 +docker pull nvcr.io/nvidia/vllm:${LATEST_VLLM_VERSION} +``` + +Confirm the image was downloaded: + +``` +docker images + +nvcr.io/nvidia/vllm 25.11-py3 d33d4cadbe0f 2 months ago 14.1GB +``` + +#### Step 2: Download a Quantized Model (GPTQ) + +We will use Hugging Face CLI to download a pre-quantized LLM such as ***Mistral-7B-Instruct-GPTQ*** and ***Meta-Llama-3-70B-Instruct-GPTQ*** models for following Real-Time AI Conversations. + +```bash +pip install huggingface_hub +hf auth login # log in to Hugging Face with your token +``` + +After logining in scussfully, you can download the specific models. + +```bash +mkdir -p ~/models + +# Mistral 7B GPTQ +hf download TheBloke/Mistral-7B-Instruct-v0.2-GPTQ --local-dir ~/models/mistral-7b +# (Optional) LLaMA3 70B GPTQ (requires more GPU memory) +hf download TechxGenus/Meta-Llama-3-70B-Instruct-GPTQ --local-dir ~/models/llama3-70b +``` + +Check model contents to ensure download success: + +```bash +tree ~/models/mistral-7b -L 1 +``` + +The files should include config.json, tokenizer.model, model.safetensors, etc. + +```log +├── config.json +├── generation_config.json +├── model.safetensors +├── quantize_config.json +├── README.md +├── special_tokens_map.json +├── tokenizer_config.json +├── tokenizer.json +└── tokenizer.model + +1 directory, 9 files +``` + +#### Step 3: Run the vLLM Server with GPU + +Mount your local ~/models directory and start the vLLM inference server with your downloaded model: + +```bash +docker run -it --gpus all -p 8000:8000 \ + -v ~/models:/models \ + nvcr.io/nvidia/vllm:${LATEST_VLLM_VERSION} \ + vllm serve /models/mistral-7b \ + --quantization gptq \ + --gpu-memory-utilization 0.9 \ + --dtype float16 +``` + +{{% notice Note %}} +Tip: The first launch will compile and cache the model. To reduce startup time in future runs, consider creating a Docker snapshot with docker commit. +{{% /notice %}} + +You can also check your NVIDIA driver and CUDA compatibility during the vLLM launch. + + +```log +NVIDIA Release 25.11 (build 231063344) +vLLM Version 0.11.0+582e4e37 +Container image Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. + +Various files include modifications (c) NVIDIA CORPORATION & AFFILIATES. All rights reserved. + +GOVERNING TERMS: The software and materials are governed by the NVIDIA Software License Agreement +(found at https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-software-license-agreement/) +and the Product-Specific Terms for NVIDIA AI Products +(found at https://www.nvidia.com/en-us/agreements/enterprise-software/product-specific-terms-for-ai-products/). + +NOTE: The SHMEM allocation limit is set to the default of 64MB. This may be + insufficient for vLLM. NVIDIA recommends the use of the following flags: + docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 ... + +INFO 01-23 15:48:28 [__init__.py:216] Automatically detected platform cuda. +(APIServer pid=1) INFO 01-23 15:48:29 [api_server.py:1842] vLLM API server version 0.11.0+582e4e37.nv25.11 +(APIServer pid=1) INFO 01-23 15:48:29 [utils.py:233] non-default args: {'model_tag': '/models/mistral-7b', 'model': '/models/mistral-7b', 'dtype': 'float16', 'quantization': 'gptq'} +(APIServer pid=1) INFO 01-23 15:48:33 [model.py:547] Resolved architecture: MistralForCausalLM +(APIServer pid=1) `torch_dtype` is deprecated! Use `dtype` instead! +(APIServer pid=1) WARNING 01-23 15:48:33 [model.py:1733] Casting torch.bfloat16 to torch.float16. +(APIServer pid=1) INFO 01-23 15:48:33 [model.py:1510] Using max model len 32768 +(APIServer pid=1) INFO 01-23 15:48:33 [gptq_marlin.py:195] Detected that the model can run with gptq_marlin, however you specified quantization=gptq explicitly, so forcing gptq. Use quantization=gptq_marlin for faster inference +(APIServer pid=1) INFO 01-23 15:48:33 [scheduler.py:205] Chunked prefill is enabled with max_num_batched_tokens=2048. +INFO 01-23 15:48:34 [__init__.py:216] Automatically detected platform cuda. +(EngineCore_DP0 pid=164) INFO 01-23 15:48:36 [core.py:644] Waiting for init message from front-end. +(EngineCore_DP0 pid=164) INFO 01-23 15:48:36 [core.py:77] Initializing a V1 LLM engine (v0.11.0+582e4e37.nv25.11) with config: model='/models/mistral-7b', speculative_config=None, tokenizer='/models/mistral-7b', skip_tokenizer_init=False, tokenizer_mode=auto, revision=None, tokenizer_revision=None, trust_remote_code=False, dtype=torch.float16, max_seq_len=32768, download_dir=None, load_format=auto, tensor_parallel_size=1, pipeline_parallel_size=1, data_parallel_size=1, disable_custom_all_reduce=False, quantization=gptq, enforce_eager=False, kv_cache_dtype=auto, device_config=cuda, structured_outputs_config=StructuredOutputsConfig(backend='auto', disable_fallback=False, disable_any_whitespace=False, disable_additional_properties=False, reasoning_parser=''), observability_config=ObservabilityConfig(show_hidden_metrics_for_version=None, otlp_traces_endpoint=None, collect_detailed_traces=None), seed=0, served_model_name=/models/mistral-7b, enable_prefix_caching=True, chunked_prefill_enabled=True, pooler_config=None, compilation_config={"level":3,"debug_dump_path":"","cache_dir":"","backend":"","custom_ops":[],"splitting_ops":["vllm.unified_attention","vllm.unified_attention_with_output","vllm.mamba_mixer2","vllm.mamba_mixer","vllm.short_conv","vllm.linear_attention","vllm.plamo2_mamba_mixer","vllm.gdn_attention","vllm.sparse_attn_indexer"],"use_inductor":true,"compile_sizes":[],"inductor_compile_config":{"enable_auto_functionalized_v2":false},"inductor_passes":{},"cudagraph_mode":[2,1],"use_cudagraph":true,"cudagraph_num_of_warmups":1,"cudagraph_capture_sizes":[512,504,496,488,480,472,464,456,448,440,432,424,416,408,400,392,384,376,368,360,352,344,336,328,320,312,304,296,288,280,272,264,256,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,4,2,1],"cudagraph_copy_inputs":false,"full_cuda_graph":false,"use_inductor_graph_partition":false,"pass_config":{},"max_capture_size":512,"local_cache_dir":null} +[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 +[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 +[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 +[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 +[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 +[Gloo] Rank 0 is connected to 0 peer ranks. Expected number of connected peer ranks is : 0 +(EngineCore_DP0 pid=164) INFO 01-23 15:48:47 [parallel_state.py:1208] rank 0 in world size 1 is assigned as DP rank 0, PP rank 0, TP rank 0, EP rank 0 +(EngineCore_DP0 pid=164) INFO 01-23 15:48:47 [topk_topp_sampler.py:55] Using FlashInfer for top-p & top-k sampling. +(EngineCore_DP0 pid=164) INFO 01-23 15:48:47 [gpu_model_runner.py:2602] Starting to load model /models/mistral-7b... +(EngineCore_DP0 pid=164) INFO 01-23 15:48:47 [gpu_model_runner.py:2634] Loading model from scratch... +(EngineCore_DP0 pid=164) INFO 01-23 15:48:47 [cuda.py:366] Using Flash Attention backend on V1 engine. +Loading safetensors checkpoint shards: 0% Completed | 0/1 [00:00 SILENCE_LIMIT_SEC: + if speech_duration >= MIN_SPEECH_SEC: + print(" Transcribing buffered speech...") + audio_bytes = b"".join(speech_buffer) + audio_np = np.frombuffer(audio_bytes, dtype=np.int16).astype(np.float32) / 32768.0 + + segments, _ = model.transcribe(audio_np, language="en") + user_text = " ".join([seg.text.strip() for seg in segments]).strip() + print(f"\n User: {user_text}\n") + + max_tokens = 128 + response = requests.post(VLLM_ENDPOINT, json={ + "model": MODEL_NAME, + "messages": [ + {"role": "user", "content": user_text} + ], + "max_tokens": max_tokens + }) + result = response.json() + if "choices" not in result: + print(" Error from vLLM:", result.get("error", "Unknown error")) + continue + reply = result["choices"][0]["message"]["content"].strip() + print(f" AI : {reply}\n") + else: + print(f" Skipped short segment ({speech_duration:.2f}s < {MIN_SPEECH_SEC}s)") + + speech_buffer.clear() + speech_started = False +except KeyboardInterrupt: + print(" Stopped") +finally: + stop_event.set() +``` + + +#### Step 3: Interact with the Chat Bot. + +Once both your vLLM server and Python STT script are running correctly, you’ll see output like the following in your terminal. + +Each time you speak a full sentence (based on your silence/segment thresholds), the system will: +1. Transcribe your speech +2. Display the recognized text +3. Show the model’s reply in natural language + + +If your input is too short (e.g. a false trigger or a background noise spike), you’ll see a message like: + +``` +Skipped short segment (1.32s < 2.0s) +``` + +This means your speech did not meet the MIN_SPEECH_SEC threshold. You can adjust this value in the next module to make the system more or less sensitive. + + +Here’s a real example when asking the assistant for a joke: + +``` + Listening... Press Ctrl+C to stop + Skipped short segment (0.39s < 2.0s) + Skipped short segment (1.44s < 2.0s) + Skipped short segment (1.89s < 2.0s) + Skipped short segment (1.77s < 2.0s) + Skipped short segment (0.36s < 2.0s) + Transcribing buffered speech... + + Listening... Press Ctrl+C to stop + Transcribing buffered speech... + + User: Hello, please tell me the joke. + + AI : Of course, I'd be happy to tell you a joke! Here's a classic one: + +Why don't libraries smell like popcorn? + +Because they are full of books, not movies! + +I hope that brings a smile to your face. If you have any other requests, feel free to ask! +``` + +If your input is too short, you’ll see: + +``` +Skipped short segment (1.32s < 2.0s) +``` + +{{% notice tip %}} +You can fine-tune these parameters in future modules to better fit your speaking style or environment. +{{% /notice %}} + +### Summary + +At this session, you’ve successfully built a complete voice-to-AI-response loop: +- Microphone input captured in real time +- Transcribed locally using faster-whisper on CPU +- Forwarded to a local vLLM server running on GPU +- Received intelligent responses with low latency + +This foundation supports a wide range of customizations in the next module, where you’ll build customer-specific workflows with prompt engineering and multi-turn memory. + +In the next module, you’ll adapt this core pipeline for real-world assistant scenarios like customer service. \ No newline at end of file diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/5_chatbot_prompt.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/5_chatbot_prompt.md new file mode 100644 index 0000000000..45aa9a1eb6 --- /dev/null +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/5_chatbot_prompt.md @@ -0,0 +1,290 @@ +--- +title: Specializing Offline Voice Assistants for Customer Service +weight: 6 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Specializing Offline Voice Assistants for Customer Service + +In the previous module, you built a fully offline voice assistant by combining local speech-to-text (STT) with ***vLLM*** for language generation. + +Now, we’ll focus on transforming that general-purpose chatbot into a task-specific customer service agent—designed to deliver fast, focused, and context-aware assistance. + +### Why Adapt for Customer Support? + +Unlike open-domain chatbots, customer-facing assistants must meet stricter communication standards: + +- ***Quick Responses***: Each voice input must trigger a fast and relevant reply—no long pauses or uncertainty. + +- ***Clear and Concise Output***: Users expect direct answers, not verbose or vague explanations. + +- ***Context Awareness***: The assistant should remember previous questions or actions to support multi-turn interactions. + +These needs are especially relevant for questions like: + +* “Hi, I forgot my account password and need help resetting it.” +* “Can you track my recent order and tell me when it will arrive?” +* “I’d like to speak to a live agent about a billing issue.” +* “Why was I charged twice this month?” +* “I want to cancel my subscription and avoid future charges.” + +Such queries require more than just language generation—they demand structured behavior and task memory. + +### What You’ll Build in This Module + +You’ll enhance your assistant with three critical upgrades: + +1. ***Role-Specific System Prompts*** + +Define your assistant’s personality and responsibilities (e.g., support agent, coach, guide) through system messages. Learn how prompt engineering influences tone, detail level, and actionability. + +2. ***Multi-Turn Memory*** + +Enable the assistant to recall recent interactions and respond within context. You’ll manage a rolling history of messages while avoiding token overflow. + +3. ***(Optional) Secure Knowledge Retrieval*** + +Explore how to integrate local company data using vector search—allowing the assistant to answer questions based on private documents, without ever sending data to the cloud. + +This prepares your system for high-trust environments like: +- Enterprise customer support +- Internal help desks +- Regulated industries (healthcare, finance, legal) + +By the end of this module, your assistant will behave more like a real support agent—able to respond quickly, maintain context, and optionally access internal knowledge to resolve complex requests. + + +## Controlling AI Behavior with System Prompts + +To make your AI assistant behave like a domain expert—such as a support agent or tour guide—you need more than just language generation. You need instructional control. + +In OpenAI-compatible APIs (like vLLM), you can provide a special message with the role set to ***"system"***. This message defines the behavior and tone of the assistant before any user input is processed. + +A system prompt is like giving your assistant a role to play — such as: + +- A polite and helpful customer service agent +- A knowledgeable tour guide +- A motivational fitness coach + +By customizing the system prompt, you can: + +- Shape the assistant’s language and tone +- Restrict or expand the type of information it shares +- Align responses with business needs (e.g., short and precise for help desks) + + +### Step 1: Define the System Prompt Behavior + +To turn your general-purpose voice assistant into a focused role-specific agent, you must guide the language model’s behavior. This is done by defining a system prompt that acts as a task instruction. + +For example: +***Support Agent*** +```bash +You are a professional customer support assistant. Always prioritize clarity and solve customer issues politely and efficiently. +``` + +***Fitness Coach*** +```bash +You are a friendly and motivational fitness coach. Offer helpful workout tips and health advice. +``` + +***Tour Guide*** +```bash +You are an enthusiastic travel guide. Recommend popular tourist destinations and answer cultural questions clearly. +``` + +In this learning path, we use customer service as an example. +Add the following at the top of your script: + +```bash +SYSTEM_PROMPT = """You are a professional customer support assistant. +Respond politely, clearly, and concisely. +Focus on solving the user's issue. +Do not include unnecessary apologies or long explanations. +If required information is missing, ask a clear follow-up question.""" +``` + +This prompt guides the model to respond clearly—even when the user’s input is vague—by reducing ambiguity, maintaining a consistent tone, and helping the assistant stay on topic, concise, and solution-oriented. + +### Step 2: Inject the Role Instruction into the User Message + +Instead of sending a separate "system" role—which may cause vLLM to return a formatting error—you can prepend the role instruction directly into the user’s message. + +This lets you keep control over the assistant’s behavior, while maintaining compatibility with vLLM’s expected message format. + +Locate the following code in previous Python code. +```bash +"messages": [ + {"role": "user", "content": user_text} +] +``` + +Add ***SYSTEM_PROMPT*** begin of the messages. + +```python +messages = [ + {"role": "user", "content": SYSTEM_PROMPT + "\n\n" + user_text} +] +``` + +This line does two things: +1. It embeds your desired assistant role (e.g., customer support) directly into the input. +2. It ensures that vLLM treats the message as valid—alternating roles correctly between user and assistant. + +By combining prompt and question, the assistant behaves like a helpful agent without triggering message formatting errors. + + +### Step 3: Choosing the Right Response Length for Each Role + +Different assistant roles require different response styles. A customer service agent should be concise and focused, while a tour guide or teacher may need to provide more elaboration. + +To control the response length dynamically, we calculate max_tokens using this formula: + +```python +max_tokens = min(512, max(64, len(user_text.split()) * 5)) +``` + +Let’s break it down: +- ***len(user_text.split()):*** counts how many words the user spoke +- * 5: estimates about 5 tokens per word (a rough average) +- ***max():*** ensures a minimum of 64 tokens to avoid overly short responses +- ***min():*** caps the response length to 512 tokens to avoid delays or exceeding model limits + +This gives you a balanced reply size that grows with input length but stays within safe bounds. + +{{% notice tip %}} +You can reference this formula based on role: +Customer support: shorter replies, use max_tokens = 256 for snappy responses +Tour guide / teacher: more verbose, try max_tokens = 384 or higher +FAQ retrieval: adjust based on expected answer complexity +{{% /notice %}} + + +The full version of code will be: + +```python +import pyaudio +import numpy as np +import webrtcvad +import time +import torch +import threading +import queue +import requests +from faster_whisper import WhisperModel +from collections import deque + +# --- Parameters --- +SAMPLE_RATE = 16000 +FRAME_DURATION_MS = 30 +FRAME_SIZE = int(SAMPLE_RATE * FRAME_DURATION_MS / 1000) +VAD_MODE = 3 +SILENCE_LIMIT_SEC = 1.0 +MIN_SPEECH_SEC = 2.0 +VLLM_ENDPOINT = "http://localhost:8000/v1/chat/completions" +MODEL_NAME = "/models/mistral-7b" + +# --- Init VAD and buffers --- +vad = webrtcvad.Vad(VAD_MODE) +speech_buffer = deque() +speech_started = False +last_speech_time = time.time() + +# --- Init Thread and Queue --- +audio_queue = queue.Queue() +stop_event = threading.Event() + +# --- Init Whisper model --- +device = "cpu" # "cpu" or "gpu" +compute_type = "int8" # "int8" or "float16", "int8", "int4" +model = WhisperModel("medium.en", device=device, compute_type=compute_type) + +# --- System Prompt --- +SYSTEM_PROMPT = """ You are a professional customer support assistant. +Respond politely, clearly, and concisely. +Focus on solving the user's issue. +Do not include unnecessary apologies or long explanations. +If required information is missing, ask a clear follow-up question.""" + +# --- Audio capture thread --- +def audio_capture(): + pa = pyaudio.PyAudio() + stream = pa.open(format=pyaudio.paInt16, + channels=1, + rate=SAMPLE_RATE, + input=True, + frames_per_buffer=FRAME_SIZE) + print(" Listening... Press Ctrl+C to stop") + try: + while not stop_event.is_set(): + frame = stream.read(FRAME_SIZE, exception_on_overflow=False) + audio_queue.put(frame) + finally: + stream.stop_stream() + stream.close() + pa.terminate() + +# --- Start audio capture thread --- +threading.Thread(target=audio_capture, daemon=True).start() + +# --- Main loop: process queue and transcribe --- +try: + while True: + if audio_queue.empty(): + time.sleep(0.01) + continue + + frame = audio_queue.get() + is_speech = vad.is_speech(frame, SAMPLE_RATE) + + if is_speech: + speech_buffer.append(frame) + speech_started = True + last_speech_time = time.time() + elif speech_started: + speech_duration = len(speech_buffer) * (FRAME_DURATION_MS / 1000.0) + silence_duration = time.time() - last_speech_time + + if silence_duration > SILENCE_LIMIT_SEC: + if speech_duration >= MIN_SPEECH_SEC: + print(" Transcribing buffered speech...") + audio_bytes = b"".join(speech_buffer) + audio_np = np.frombuffer(audio_bytes, dtype=np.int16).astype(np.float32) / 32768.0 + + segments, _ = model.transcribe(audio_np, language="en") + user_text = " ".join([seg.text.strip() for seg in segments]).strip() + print(f"\n User: {user_text}\n") + + max_tokens = min(512, max(64, len(user_text.split()) * 5)) + + messages = [ + {"role": "user", "content": SYSTEM_PROMPT + "\n\n" + user_text} + ] + + response = requests.post(VLLM_ENDPOINT, json={ + "model": MODEL_NAME, + "messages": messages, + "max_tokens": max_tokens + }) + + result = response.json() + if "choices" not in result: + print(" Error from vLLM:", result.get("error", "Unknown error")) + continue + reply = result["choices"][0]["message"]["content"].strip() + print(f" AI : {reply}\n") + else: + print(f" Skipped short segment ({speech_duration:.2f}s < {MIN_SPEECH_SEC}s)") + + speech_buffer.clear() + speech_started = False +except KeyboardInterrupt: + print(" Stopped") +finally: + stop_event.set() +``` + +This approach works well for single-turn interactions. +In the next section, you’ll extend this pattern to multi-turn conversations, storing and managing multiple rounds of user and assistant prompts. diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/6_chatbot_contextaware.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/6_chatbot_contextaware.md new file mode 100644 index 0000000000..5d1c35235f --- /dev/null +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/6_chatbot_contextaware.md @@ -0,0 +1,365 @@ +--- +title: Enabling Context-Aware Dialogue with Short-Term Memory +weight: 7 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Enabling Context-Aware Dialogue with Short-Term Memory + +In customer service and other task-based voice interactions, conversations naturally span multiple turns. Users may provide only partial information per utterance or follow up after the assistant’s prompt. + +To handle such situations effectively, your assistant needs short-term memory—a lightweight context buffer that retains recent user questions and assistant replies. + +### Why Multi-Turn Memory Matters + +Without memory, each user input is treated in isolation. This causes breakdowns like: + +Example: What Happens Without Memory + +| Speaker | Message | +|---------|---------| +| **User** | I’d like to cancel my subscription. | +| **AI** | Sure. Could you confirm your email address? | +| **User** | My email is abc at email.com. Please help me. | +| **AI** | (Without memory) Sorry, what would you like to do today? | + +This happens because the assistant doesn’t remember the user’s intent or its own previous message. To fix this, we’ll implement a memory buffer. + +### Step 1: Store Previous User and Assistant Turns + +Create a `chat_history` list to hold recent turns. After each interaction, append both user and assistant responses: + +```python +MAX_ROUNDS = 5 +chat_history = [] +``` + +Then after the model replies, update the history: +```python +chat_history.append({"role": "user", "content": user_text}) +chat_history.append({"role": "assistant", "content": reply}) +``` + +This will build a list like: + +```log +[ + {"role": "user", "content": "I need to cancel my order."}, + {"role": "assistant", "content": "Sure, can you provide the order ID?"}, + {"role": "user", "content": "Yes, it's #12345"}, + {"role": "assistant", "content": "Got it. Your order has been canceled."} +] +``` + +### Step 2: Keep Only the Most Recent 5 Rounds + +Each new turn makes the message array longer. To avoid going over the token limit (especially with small VRAM or long models), keep only the last N turns. In this learning path, we use 5 rounds as example (10 messages, 5 rounds of user + assistant) + +```python +messages = [{"role": "system", "content": SYSTEM_PROMPT}] +messages += chat_history[-10:] +messages.append({"role": "user", "content": user_text}) +``` + +This keeps the most recent context while fitting within model constraints. + +### Step 3: Estimate Token Usage Before Sending + +Before calling the API, estimate how many tokens your prompt is using. This includes: +- The system prompt +- All past user/assistant messages +- The new user message + +```python +prompt_tokens = len(" ".join([m["content"] for m in messages]).split()) +print(f" Estimated prompt tokens: {prompt_tokens}") +``` + +This helps you balance max_tokens for the assistant’s response, ensuring the prompt and reply fit within the model’s limit (e.g., 4096 or 8192 tokens depending on the model). + +The expected output could be: + +```log +User: Hi, I need to cancel my subscription. Please help me + +Estimated prompt tokens: 46 +Sending messages: [{'role': 'user', 'content': " You are a professional customer support assistant.\nRespond politely, clearly, and concisely.\nFocus on solving the user's issue.\nDo not include unnecessary apologies or long explanations.\nIf required information is missing, ask a clear follow-up question.\n\nHi, I need to cancel my subscription. Please help me"}] + AI : Hello, I'd be happy to help you cancel your subscription. Could you please provide me with your account information, such as your name and email address associated with the subscription? This will ensure a smooth cancellation process. If you have any prefered method of cancellation or additional questions, please let me know. + + Transcribing buffered speech... ] + + User: My account information is abc at email.com + +Estimated prompt tokens: 69 +Sending messages: [{'role': 'user', 'content': 'Hi, I need to cancel my subscription. Please help me'}, {'role': 'assistant', 'content': "Hello, I'd be happy to help you cancel your subscription. Could you please provide me with your account information, such as your name and email address associated with the subscription? This will ensure a smooth cancellation process. If you have any prefered method of cancellation or additional questions, please let me know."}, {'role': 'user', 'content': 'My account information is abc at email.com'}] + AI : Hi abc@email.com, I'll do my best to assist you with canceling your subscription. For security reasons, I'll need to verify your account information before proceeding. Could you please confirm your account password or the last 4 digits of the payment method associated with the subscription? This will + + Transcribing buffered speech... ] + + User: The account password will be 3355. + +Estimated prompt tokens: 122 +Sending messages: [{'role': 'user', 'content': 'Hi, I need to cancel my subscription. Please help me'}, {'role': 'assistant', 'content': "Hello, I'd be happy to help you cancel your subscription. Could you please provide me with your account information, such as your name and email address associated with the subscription? This will ensure a smooth cancellation process. If you have any prefered method of cancellation or additional questions, please let me know."}, {'role': 'user', 'content': 'My account information is abc at email.com'}, {'role': 'assistant', 'content': "Hi abc@email.com, I'll do my best to assist you with canceling your subscription. For security reasons, I'll need to verify your account information before proceeding. Could you please confirm your account password or the last 4 digits of the payment method associated with the subscription? This will"}, {'role': 'user', 'content': 'The account password will be 3355.'}] + AI : Hi abc@email.com, I've verified your account information and you have an active subscription with us. I'm sorry to see that you'd like to cancel. To cancel your subscription, I will need to process a refund for your latest charge. This refund may take up to 7-1 + + Transcribing buffered speech... ] + + User: Okay, I see the account has been cancelled. Thanks for your help. + +Estimated prompt tokens: 180 +Sending messages: [{'role': 'user', 'content': 'Hi, I need to cancel my subscription. Please help me'}, {'role': 'assistant', 'content': "Hello, I'd be happy to help you cancel your subscription. Could you please provide me with your account information, such as your name and email address associated with the subscription? This will ensure a smooth cancellation process. If you have any prefered method of cancellation or additional questions, please let me know."}, {'role': 'user', 'content': 'My account information is abc at email.com'}, {'role': 'assistant', 'content': "Hi abc@email.com, I'll do my best to assist you with canceling your subscription. For security reasons, I'll need to verify your account information before proceeding. Could you please confirm your account password or the last 4 digits of the payment method associated with the subscription? This will"}, {'role': 'user', 'content': 'The account password will be 3355.'}, {'role': 'assistant', 'content': "Hi abc@email.com, I've verified your account information and you have an active subscription with us. I'm sorry to see that you'd like to cancel. To cancel your subscription, I will need to process a refund for your latest charge. This refund may take up to 7-1"}, {'role': 'user', 'content': 'Okay, I see the account has been cancelled. Thanks for your help.'}] + AI : You're welcome, abc@email.com. I'm glad I could help you cancel your subscription. If there is anything else I can assist you with in the future, please don't hesitate to ask. Have a great day! +``` + +Below is a summarized view of the raw terminal messages captured during a full conversation with the voice assistant. + +The assistant remembers the previous turns, including account verification and follow-up confirmation, and generates responses accordingly. This log illustrates how the system manages short-term memory to maintain context across multiple rounds of interaction. + +| Speaker | Message | Prompt Tokens | +|---------|---------|---------------| +| **User** | Hi, I need to cancel my subscription. Please help me | 46 | +| **AI** | Hello, I'd be happy to help you cancel your subscription. Could you please provide me with your account information, such as your name and email address associated with the subscription? This will ensure a smooth cancellation process. If you have any prefered method of cancellation or additional questions, please let me know. | | +| **User** | My account information is abc at email.com | 69 | +| **AI** | Hi abc@email.com, I'll do my best to assist you with canceling your subscription. For security reasons, I'll need to verify your account information before proceeding. Could you please confirm your account password or the last 4 digits of the payment method associated with the subscription? This will | +| **User** | The account password will be 3355. | 122 | +| **AI** | Hi abc@email.com, I've verified your account information and you have an active subscription with us. I'm sorry to see that you'd like to cancel. To cancel your subscription, I will need to process a refund for your latest charge. This refund may take up to 7-1 | | +| **User** | Okay, I see the account has been cancelled. Thanks for your help. | 180 | +| **AI** | You're welcome, abc@email.com. I'm glad I could help you cancel your subscription. If there is anything else I can assist you with in the future, please don't hesitate to ask. Have a great day! | | + +This estimate helps you prevent prompt truncation or response cutoff, especially important when using larger models with longer histories. + +## Full Function of Offline Voice Customer Service on DGX Spark + +Now that your speech-to-AI pipeline is complete, you’re ready to scale it up by running a larger, more powerful language model—fully offline on DGX Spark. + +To take full advantage of the GPU capabilities, you can serve a 70B parameter model using vLLM. Make sure you’ve already downloaded the model files into ~/models/llama3-70b (host OS). + +Inside the vLLM Docker container, launch the model with: + +```bash +vllm serve /models/llama3-70b \ + --quantization gptq \ + --gpu-memory-utilization 0.9 \ + --max-num-seqs 8 \ + --dtype float16 +``` + +This command starts the high-performance LLM backend using quantized weights and optimized GPU memory allocation, giving you full-scale generation power—while keeping the assistant responsive and completely private. + +Now, execute the complete Python code to activate your speech recognition and dialogue pipeline. Once both the STT and LLM services are live, you’ll be able to speak naturally and receive real-time, intelligent responses from the assistant—without any cloud connection. + +```python +import pyaudio +import numpy as np +import webrtcvad +import time +import torch +import threading +import queue +import requests +from faster_whisper import WhisperModel +from collections import deque + +# --- Parameters --- +SAMPLE_RATE = 16000 +FRAME_DURATION_MS = 30 +FRAME_SIZE = int(SAMPLE_RATE * FRAME_DURATION_MS / 1000) +VAD_MODE = 3 +SILENCE_LIMIT_SEC = 1.0 +MIN_SPEECH_SEC = 2.0 +VLLM_ENDPOINT = "http://localhost:8000/v1/chat/completions" +MODEL_NAME = "/models/llama3-70b" + +MAX_ROUNDS = 5 + +# --- Init VAD and buffers --- +vad = webrtcvad.Vad(VAD_MODE) +speech_buffer = deque() +speech_started = False +last_speech_time = time.time() + +# --- Init Thread and Queue --- +audio_queue = queue.Queue() +stop_event = threading.Event() + +# --- Init Whisper model --- +device = "cpu" # "cpu" or "gpu" +compute_type = "int8" # "int8" or "float16", "int8", "int4" +model = WhisperModel("medium.en", device=device, compute_type=compute_type) + +# --- System Prompt --- +SYSTEM_PROMPT = """ You are a professional customer support assistant. +Respond politely, clearly, and concisely. +Focus on solving the user's issue. +Do not include unnecessary apologies or long explanations. +If required information is missing, ask a clear follow-up question.""" + +# ----------------------- +# Chat history (user/assistant pairs only) +# ----------------------- +chat_history = [] + +# --- Audio capture thread --- +def audio_capture(): + pa = pyaudio.PyAudio() + stream = pa.open(format=pyaudio.paInt16, + channels=1, + rate=SAMPLE_RATE, + input=True, + frames_per_buffer=FRAME_SIZE) + print(" Listening... Press Ctrl+C to stop") + try: + while not stop_event.is_set(): + frame = stream.read(FRAME_SIZE, exception_on_overflow=False) + audio_queue.put(frame) + finally: + stream.stop_stream() + stream.close() + pa.terminate() + +# --- Start audio capture thread --- +threading.Thread(target=audio_capture, daemon=True).start() + +# --- Main loop: process queue and transcribe --- +try: + while True: + if audio_queue.empty(): + time.sleep(0.01) + continue + + frame = audio_queue.get() + is_speech = vad.is_speech(frame, SAMPLE_RATE) + + if is_speech: + speech_buffer.append(frame) + speech_started = True + last_speech_time = time.time() + elif speech_started: + speech_duration = len(speech_buffer) * (FRAME_DURATION_MS / 1000.0) + silence_duration = time.time() - last_speech_time + + if silence_duration > SILENCE_LIMIT_SEC: + if speech_duration >= MIN_SPEECH_SEC: + print(" Transcribing buffered speech...") + audio_bytes = b"".join(speech_buffer) + audio_np = np.frombuffer(audio_bytes, dtype=np.int16).astype(np.float32) / 32768.0 + + segments, _ = model.transcribe(audio_np, language="en") + user_text = " ".join([seg.text.strip() for seg in segments]).strip() + print(f"\n User: {user_text}\n") + + # ----------------------- + # Build messages (vLLM-safe) + # ----------------------- + if not chat_history: + messages = [ + { + "role": "user", + "content": SYSTEM_PROMPT + "\n\n" + user_text + } + ] + else: + messages = chat_history[-MAX_ROUNDS * 2 :] + messages.append({"role": "user", "content": user_text}) + + max_tokens = min(256, max(64, len(user_text.split()) * 5)) + + prompt_tokens = len(" ".join([m["content"] for m in messages]).split()) + print(f"Estimated prompt tokens: {prompt_tokens}") + print("Sending messages:", messages) + + response = requests.post(VLLM_ENDPOINT, json={ + "model": MODEL_NAME, + "messages": messages, + "max_tokens": max_tokens + }) + + result = response.json() + if "choices" not in result: + print(" Error from vLLM:", result.get("error", "Unknown error")) + continue + reply = result["choices"][0]["message"]["content"].strip() + print(f" AI : {reply}\n") + + # ----------------------- + # Update history + # ----------------------- + chat_history.append({"role": "user", "content": user_text}) + chat_history.append({"role": "assistant", "content": reply}) + else: + print(f" Skipped short segment ({speech_duration:.2f}s < {MIN_SPEECH_SEC}s)") + + speech_buffer.clear() + speech_started = False +except KeyboardInterrupt: + print(" Stopped") +finally: + stop_event.set() +``` + + +### Demo: Multi-Turn Voice Chatbot with Context Memory on DGX Spark + +![img2 alt-text#center](fasterwhipser_vllm_demo2.gif "Figure 2: Full Function Voice-to-AI with volume bar") + +This demo showcases a fully offline voice assistant that combines real-time transcription (via ***faster-whisper***) and intelligent response generation (via ***vLLM***). Running on an Arm-based DGX Spark system, the assistant captures live audio, transcribes it, and generates context-aware replies using a local language model—all in a seamless loop. + +The assistant now supports multi-turn memory, allowing it to recall previous user inputs and its own responses. As shown in the video, this enables natural back-and-forth conversations, such as confirming account details or resolving support requests. + +No cloud services are used—ensuring full control, privacy, and low-latency performance. + +### Full Voice-to-AI Conversation Flow + +The following diagram summarizes the complete architecture you’ve now assembled: from microphone input to AI-generated replies—entirely local, modular, and production-ready. + +``` +USB Microphone (16kHz mono) + ↓ +PyAudio (32ms frames via stream.read) + ↓ +WebRTC VAD (speech/silence detection) + ↓ +Audio Buffer (deque of active frames) + ↓ +Smart Turn Detection + ├── silence_limit: wait for pause + └── min_speech: skip too-short segments + ↓ +WhisperModel ("medium.en" via faster-whisper) + ↓ +Transcribed User Text (timestamped) + ↓ +System Prompt + Conversation History + ↓ +vLLM API (e.g., mistral-7b or llama3-70b GPU inference) + ↓ +AI Response + ↓ +Print Response or (optional: TTS reply) +``` + +This hybrid architecture is production-ready, modular, and offline-capable. All stages run locally on your system, enabling privacy, reliability, and scalability. + +### Future Work: Taking the Assistant Further + +With a fully functional offline voice chatbot running on DGX Spark, you now have a strong foundation for many advanced features. Here are some next-step enhancements you might consider: + +- ***Knowledge-augmented Generation (RAG)*** + +Integrate local document search or FAQ databases with embedding-based retrieval to answer company-specific or domain-specific queries. You can reference previous [learning path](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_rag/) to know how to deploy RAG in the same hardware. + +- ***Multi-language Support*** + +Swap in multilingual STT models and LLMs to enable assistants for global users or cross-language customer service. + +- ***Text-to-Speech (TTS) Output*** + +Add a local TTS engine (e.g., Coqui, piper, or NVIDIA Riva) to vocalize the assistant’s replies—turning it into a true conversational agent. + +- ***Personalization and Context Memory*** + +Extend short-term memory into long-term context retention using file-based or vector-based storage. This lets the assistant “remember” preferences or past sessions. + +This learning path, on-device architecture enables experimentation and extension without vendor lock-in or privacy concerns—making it ideal for enterprise, educational, and embedded use cases. diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_index.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_index.md new file mode 100644 index 0000000000..b5479d3b4a --- /dev/null +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_index.md @@ -0,0 +1,60 @@ +--- +title: Offline Voice Chatbot with FasterWhisper and vLLM on DGX Spark +description: Learn how to build a fully offline voice assistant by combining local speech recognition with LLM-powered responses using faster-whisper and vLLM—optimized for DGX Spark. + +minutes_to_complete: 20 + +who_is_this_for: This is an advanced topic for developers and ML engineers who want to build private, offline voice assistant systems on Arm-based servers such as DGX Spark. It is ideal for those seeking to combine real-time speech recognition with LLM-powered natural language generation—without relying on external APIs or cloud services. + +learning_objectives: + - Explain the architecture of an offline voice chatbot pipeline combining STT and vLLM + - Capture and segment real-time audio using PyAudio and VAD + - Transcribe speech using faster-whisper and generate replies via vLLM + - Tune segmentation and prompt strategies to improve latency and response quality + - Deploy and run the full pipeline on Arm-based systems such as DGX Spark + +prerequisites: + - An NVIDIA DGX Spark system with at least 15 GB of available disk space + - USB microphone + +author: Odin Shen + +### Tags +skilllevels: Advanced +subjects: Performance and Architecture +armips: + - Neoverse +tools_software_languages: + - Docker + - Python +operatingsystems: + - Linux + +further_reading: + - resource: + title: NVIDIA DGX Spark website + link: https://www.nvidia.com/en-gb/products/workstations/dgx-spark/ + type: website + - resource: + title: NVIDIA DGX Spark Playbooks GitHub repository + link: https://github.com/NVIDIA/dgx-spark-playbooks + type: documentation + - resource: + title: Spark RAG Pipeline Tutorial + link: https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_rag/ + type: website + - resource: + title: Spark RAG Pipeline Tutorial + link: https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_rag/ + type: website + - resource: + title: Build and Run vLLM on Arm Servers + link: https://learn.arm.com/learning-paths/servers-and-cloud-computing/vllm/ + type: website + +### FIXED, DO NOT MODIFY +# ================================================================================ +weight: 1 # _index.md always has weight of 1 to order correctly +layout: "learningpathall" # All files under learning paths have this same wrapper +learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content. +--- diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_next-steps.md b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_next-steps.md new file mode 100644 index 0000000000..727b395ddd --- /dev/null +++ b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_next-steps.md @@ -0,0 +1,8 @@ +--- +# ================================================================================ +# FIXED, DO NOT MODIFY THIS FILE +# ================================================================================ +weight: 21 # The weight controls the order of the pages. _index.md always has weight 1. +title: "Next Steps" # Always the same, html page title. +layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing. +--- diff --git a/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/fasterwhipser_demo1.gif b/content/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/fasterwhipser_demo1.gif new file mode 100644 index 0000000000000000000000000000000000000000..6defe35da9da8e1d8344577c94adf2b1fba03063 GIT binary patch literal 1076272 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

6M~-VRBr-qI?J}tMCAD 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