<?xml version="1.0" encoding="UTF-8"?><oembed><type>video</type><version>1.0</version><html>&lt;iframe src=&quot;https://www.loom.com/embed/adcce6f5d31b474daa72fd8d4cd8be18&quot; frameborder=&quot;0&quot; width=&quot;1658&quot; height=&quot;1243&quot; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;</html><height>1243</height><width>1658</width><provider_name>Loom</provider_name><provider_url>https://www.loom.com</provider_url><thumbnail_height>1243</thumbnail_height><thumbnail_width>1658</thumbnail_width><thumbnail_url>https://cdn.loom.com/sessions/thumbnails/adcce6f5d31b474daa72fd8d4cd8be18-a1ed5130bce4ab77.gif</thumbnail_url><duration>348.993</duration><title>Vivefinder AI 2.0 Music Recommendation Pipeline</title><description>I built Vivefinder AI 2.0 for my final project by upgrading a fixed dictionary music recommender into a fully conversational retrieval augmented generation pipeline using Gemini. When you type in the terminal, Gemini embedded the query, compared it to 20 songs from a local songs.csv file, retrieved the top matches, then passed query plus context into a Gemini 2.5 Flash Agent to generate personalized recommendations. I also added guardrails to block outputs if the generated text does not include at least one retrieved song title to prevent hallucinations and guarantee catalog accuracy. No action was requested from viewers.</description></oembed>