<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI/ML on Landry Zetam - Tech Blog</title><link>https://blog.landryzetam.net/categories/ai/ml/</link><description>Recent content in AI/ML on Landry Zetam - Tech Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 10 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.landryzetam.net/categories/ai/ml/index.xml" rel="self" type="application/rss+xml"/><item><title>The Full Architecture of My Kubernetes Agents</title><link>https://blog.landryzetam.net/posts/kubernetes-agents-full-architecture/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/kubernetes-agents-full-architecture/</guid><description>&lt;p>Five agents run against my K3s cluster. Three of them form a closed loop — one detects problems, one fixes them, one reviews the fix — and none of the three can do another&amp;rsquo;s job. This is everything about how they&amp;rsquo;re built: the framework, the prompt assembly, every tool, both safety gates, the memory layers, and a real pull request one of them opened.&lt;/p>
&lt;p>Then I merged it and spent a day fixing what production found. Eight more bugs, none of them in the agent logic — §17 onward is that day, and it&amp;rsquo;s the more useful half.&lt;/p></description></item><item><title>From Transcripts to Summaries: Completing the Audio Pipeline</title><link>https://blog.landryzetam.net/posts/transcripts-to-summaries-audio-pipeline/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/transcripts-to-summaries-audio-pipeline/</guid><description>&lt;p>Remember that audio transcription pipeline I built? Raw recordings flow in, get compressed, transcribed by Whisper, and stored as JSON. Great for archival, but 204 transcript files sitting on NFS storage aren&amp;rsquo;t exactly useful. Today I&amp;rsquo;ll show you how I completed the loop—automatically summarizing transcripts with an LLM and publishing everything to my Obsidian vault.&lt;/p>
&lt;hr>
&lt;h2 id="part-1-the-problem-with-raw-transcripts">Part 1: The Problem with Raw Transcripts&lt;/h2>
&lt;p>The original pipeline worked beautifully. Every morning, new transcripts appeared as JSON files:&lt;/p></description></item><item><title>Building an Automated Audio Transcription Pipeline on Kubernetes</title><link>https://blog.landryzetam.net/posts/audio-transcription-pipeline/</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/audio-transcription-pipeline/</guid><description>&lt;p>Every day, raw audio recordings land on an SFTP server. By morning, they&amp;rsquo;re compressed, transcribed, and stored as searchable JSON - all without human intervention. Here&amp;rsquo;s how I built this pipeline on my homelab Kubernetes cluster.&lt;/p>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>I had a growing collection of audio recordings that needed transcription. Manual processing wasn&amp;rsquo;t sustainable: download files, compress them, run through a transcription service, organize the output. This needed automation.&lt;/p>
&lt;p>The requirements were straightforward:&lt;/p></description></item><item><title>ChatBuddy - Voice AI Companion for Children</title><link>https://blog.landryzetam.net/posts/chatbuddy/</link><pubDate>Sun, 07 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/chatbuddy/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>ChatBuddy is an AI-powered voice companion designed specifically for children aged 3-8. When a child asks &amp;ldquo;Why is the sky blue?&amp;rdquo;, they get a fun, age-appropriate answer—not a Wikipedia article.&lt;/p>
&lt;p>The system runs entirely on-device with 5 containerized services on hardware with just 8GB RAM, ensuring complete privacy while delivering natural voice interactions with educational content grounded in verified facts.&lt;/p>
&lt;h3 id="why-build-this">Why Build This?&lt;/h3>
&lt;p>Kids don&amp;rsquo;t want to type. They want to talk. And they need answers that:&lt;/p></description></item><item><title>Building a Local AI Cluster with Mac Hardware: From Vision to Reality</title><link>https://blog.landryzetam.net/posts/mac-ai-cluster/</link><pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/mac-ai-cluster/</guid><description>&lt;h2 id="the-mission-that-started-it-all">The Mission That Started It All&lt;/h2>
&lt;blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> This post combines the journeys documented in my &lt;a href="https://blog.landryzetam.net/posts/mac-ai-cluster/">Mac AI Cluster Project&lt;/a> and &lt;a href="https://blog.landryzetam.net/posts/gpustack-mac-clustering/">GPUStack Mac Clustering Tutorial&lt;/a>. For deep technical details, see those project pages.&lt;/p>&lt;/blockquote>
&lt;p>When I first discovered &lt;strong>EXO Labs&lt;/strong>, their mission resonated deeply with me.&lt;/p>
&lt;blockquote>
&lt;p>Humanity is headed toward a world controlled by a handful of companies that will dictate the AI models everyone uses.
The real threat isn&amp;rsquo;t AI destroying us — it&amp;rsquo;s losing sovereignty over our own minds.&lt;/p></description></item><item><title>Home Assistant Voice Pipeline with Ollama</title><link>https://blog.landryzetam.net/posts/voice-pipeline/</link><pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/voice-pipeline/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>This implementation demonstrates a complete voice assistant pipeline using Wyoming Satellite with Home Assistant and Ollama as the AI brain, achieving natural conversation and smart home control entirely on-premises. The system transforms spoken words into meaningful actions through a sophisticated pipeline of AI models, all running locally for complete privacy.&lt;/p>
&lt;h2 id="why-ollama-for-voice">Why Ollama for Voice?&lt;/h2>
&lt;p>Voice assistants have unique requirements that Ollama handles beautifully:&lt;/p>
&lt;h3 id="speed-requirements">Speed Requirements&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Response Time&lt;/strong>: &amp;lt; 2 seconds for natural conversation&lt;/li>
&lt;li>&lt;strong>Model Loading&lt;/strong>: Pre-loaded models for instant responses&lt;/li>
&lt;li>&lt;strong>Streaming&lt;/strong>: Real-time token generation for faster perceived response&lt;/li>
&lt;/ul>
&lt;h3 id="privacy-first">Privacy First&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Local Processing&lt;/strong>: No cloud dependencies&lt;/li>
&lt;li>&lt;strong>Conversation History&lt;/strong>: Stored locally, never uploaded&lt;/li>
&lt;li>&lt;strong>Custom Wake Words&lt;/strong>: Combined with OpenWakeWord for complete privacy&lt;/li>
&lt;/ul>
&lt;h2 id="components-used">Components Used&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>OpenWakeWord&lt;/strong>: Wake word detection (&amp;ldquo;Hey Jarvis&amp;rdquo;)&lt;/li>
&lt;li>&lt;strong>Whisper&lt;/strong>: Speech-to-text transcription&lt;/li>
&lt;li>&lt;strong>Ollama (Qwen2.5:3b &amp;amp; Llama 8B)&lt;/strong>: Natural language understanding and response generation&lt;/li>
&lt;li>&lt;strong>Piper TTS&lt;/strong>: Text-to-speech synthesis&lt;/li>
&lt;li>&lt;strong>Home Assistant&lt;/strong>: Smart home orchestration and pipeline management&lt;/li>
&lt;li>&lt;strong>Wyoming Satellite&lt;/strong>: Voice satellite software on Raspberry Pi&lt;/li>
&lt;/ul>
&lt;h2 id="hardware-setup">Hardware Setup&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Raspberry Pi 5&lt;/strong> (2.4GHz, 4GB RAM) - Voice satellite device&lt;/li>
&lt;li>&lt;strong>ME6S USB Microphone&lt;/strong> - Audio input device&lt;/li>
&lt;li>&lt;strong>Bluetooth Speaker&lt;/strong> (88:92:CC:5D:CB:79) - Audio output via BlueALSA&lt;/li>
&lt;li>&lt;strong>Mini PC&lt;/strong> - Home Assistant server&lt;/li>
&lt;li>&lt;strong>Kubernetes Cluster&lt;/strong> - Container orchestration for AI services&lt;/li>
&lt;li>&lt;strong>NVIDIA GPU Node (yeezyai)&lt;/strong> - GPU acceleration for Ollama&lt;/li>
&lt;/ul>
&lt;h2 id="the-voice-pipeline-architecture">The Voice Pipeline Architecture&lt;/h2>
&lt;p>The voice pipeline runs entirely on the K8s homelab, with Ollama at its heart:&lt;/p></description></item><item><title>Powering Open WebUI and Cline with GPUStack: My AI Infrastructure Journey</title><link>https://blog.landryzetam.net/posts/local-ai-open-webui-cline/</link><pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/local-ai-open-webui-cline/</guid><description>&lt;p>After building my Mac AI cluster, I needed a way to make it accessible to all my tools. The journey took me through several frameworks before landing on the perfect solution: GPUStack providing an OpenAI-compatible API that seamlessly integrates with everything.&lt;/p>
&lt;h2 id="the-evolution-finding-the-right-framework">The Evolution: Finding the Right Framework&lt;/h2>
&lt;h3 id="the-journey">The Journey&lt;/h3>
&lt;p>My path to the current setup wasn&amp;rsquo;t straightforward:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>MLX Distributed Computing&lt;/strong>: Started here for model training and local inference on Apple Silicon&lt;/li>
&lt;li>&lt;strong>Exo Labs&lt;/strong>: Experimented with this promising framework, but pivoted when the community began a redesign&lt;/li>
&lt;li>&lt;strong>GPUStack&lt;/strong>: The solution that finally clicked - providing OpenAI-compatible endpoints that work with everything&lt;/li>
&lt;/ol>
&lt;h2 id="the-current-architecture">The Current Architecture&lt;/h2>
&lt;p>Here&amp;rsquo;s how my AI infrastructure actually works:&lt;/p></description></item><item><title>Powering My Voice Assistant with Ollama: Local AI for Home Automation</title><link>https://blog.landryzetam.net/posts/local-ai-with-ollama/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><guid>https://blog.landryzetam.net/posts/local-ai-with-ollama/</guid><description>&lt;p>Ollama has become the AI brain of my home automation infrastructure, powering my voice assistant pipeline and Home Assistant integrations. Running entirely on-premises on my NVIDIA GPU node, it enables natural language understanding and intelligent responses while maintaining complete privacy and control.&lt;/p>
&lt;h2 id="the-home-automation-ai-hub">The Home Automation AI Hub&lt;/h2>
&lt;p>My Ollama deployment serves as the AI intelligence layer for home automation:&lt;/p>
&lt;p>&lt;img src="https://blog.landryzetam.net/posts/local-ai-with-ollama/img/homeassistantvoice_hu_25571ad08280435f.webp" alt="Home Automation AI Hub" width="1200" height="994" loading="lazy" decoding="async" />
&lt;em>Ollama serves as the AI brain for voice pipeline and Home Assistant automations&lt;/em>&lt;/p></description></item></channel></rss>