<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Elanthirayan</title>
    <description>The latest articles on DEV Community by Elanthirayan (@imelanthirayan).</description>
    <link>https://dev.to/imelanthirayan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3980570%2F90fb21e9-b056-408f-97c3-eb2c5cdeb88d.png</url>
      <title>DEV Community: Elanthirayan</title>
      <link>https://dev.to/imelanthirayan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/imelanthirayan"/>
    <language>en</language>
    <item>
      <title>Ever trained multiple ML models and later wondered, "Which one was actually the best?"</title>
      <dc:creator>Elanthirayan</dc:creator>
      <pubDate>Sat, 01 Aug 2026 14:34:04 +0000</pubDate>
      <link>https://dev.to/imelanthirayan/ever-trained-multiple-ml-models-and-later-wondered-which-one-was-actually-the-best-1dd5</link>
      <guid>https://dev.to/imelanthirayan/ever-trained-multiple-ml-models-and-later-wondered-which-one-was-actually-the-best-1dd5</guid>
      <description>&lt;p&gt;That's the everyday problem MLflow solves. I broke it down with a simple cake recipe analogy that anyone can follow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@elanthirayan/what-is-mlflow-the-tool-that-saves-you-from-machine-learning-chaos-b788e06ef1c7?sharedUserId=elanthirayan" rel="noopener noreferrer"&gt;https://medium.com/@elanthirayan/what-is-mlflow-the-tool-that-saves-you-from-machine-learning-chaos-b788e06ef1c7?sharedUserId=elanthirayan&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgvqcg28fyvpavuukiue.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgvqcg28fyvpavuukiue.png" alt="What is MLflow?" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mlflow</category>
      <category>machinelearning</category>
      <category>programming</category>
    </item>
    <item>
      <title>Do we really need a vector database for every AI documentation chatbot?</title>
      <dc:creator>Elanthirayan</dc:creator>
      <pubDate>Fri, 31 Jul 2026 05:26:10 +0000</pubDate>
      <link>https://dev.to/imelanthirayan/do-we-really-need-a-vector-database-for-every-ai-documentation-chatbot-159c</link>
      <guid>https://dev.to/imelanthirayan/do-we-really-need-a-vector-database-for-every-ai-documentation-chatbot-159c</guid>
      <description>&lt;p&gt;Been seeing a lot of discussions around RAG, embeddings, and vector databases lately.&lt;br&gt;
That made me wonder, do we really need a vector database for every AI documentation chatbot?&lt;/p&gt;

&lt;p&gt;So I explored Google's Open Knowledge Format (OKF) and built Ask-Your-Markdown to better understand where this approach fits. I also wrote a blog sharing what I learned. Both the article and the GitHub repository are mentioned below.&lt;/p&gt;

&lt;p&gt;If you've been curious about OKF, I hope this helps.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/imelanthirayan" rel="noopener noreferrer"&gt;
        imelanthirayan
      &lt;/a&gt; / &lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown" rel="noopener noreferrer"&gt;
        Ask-Your-Markdown
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Ask questions about a folder of Markdown files using AI or offline search. Built on Google's Open Knowledge Format (OKF).
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;📚 Ask Your Markdown&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Ask questions about a folder of markdown files - and get answers grounded in your documents.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;No database. No embeddings. No vendor lock-in. Just your Markdown files, organized with OKF and ready to browse - with or without an LLM.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Built on the &lt;strong&gt;&lt;a href="https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf" rel="noopener noreferrer"&gt;Open Knowledge Format (OKF)&lt;/a&gt;&lt;/strong&gt; - an open, vendor-neutral standard from &lt;strong&gt;Google Cloud&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Works with &lt;strong&gt;OpenAI&lt;/strong&gt; · &lt;strong&gt;Azure AI Foundry&lt;/strong&gt; · or fully &lt;strong&gt;offline&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🧭 Table of contents&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-why-this-exists" rel="noopener noreferrer"&gt;Why this exists&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-how-it-works" rel="noopener noreferrer"&gt;How it works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-how-this-compares-to-classic-rag" rel="noopener noreferrer"&gt;How this compares to classic RAG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-the-two-chapters-build--ask" rel="noopener noreferrer"&gt;The two chapters: Build → Ask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-whats-in-the-box" rel="noopener noreferrer"&gt;What's in the box&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-quick-start" rel="noopener noreferrer"&gt;Quick start&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-chapter-1--build-a-bundle-from-your-markdown" rel="noopener noreferrer"&gt;Chapter 1 - Build a bundle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-chapter-2--ask-questions" rel="noopener noreferrer"&gt;Chapter 2 - Ask questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-labels-metadata-the-fast-path" rel="noopener noreferrer"&gt;Labels: the fast path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-big-documents" rel="noopener noreferrer"&gt;Big documents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-try-it-with-no-api-key" rel="noopener noreferrer"&gt;Try it with no API key&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-why-people-like-this-approach" rel="noopener noreferrer"&gt;Why people like this&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-whats-okf-and-whats-just-this-sample" rel="noopener noreferrer"&gt;What's OKF vs. this sample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/imelanthirayan/Ask-Your-Markdown#-how-well-does-it-work--honestly" rel="noopener noreferrer"&gt;How well does it work - honestly&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;💡 Why this exists&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Imagine a drawer full of notes -…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/imelanthirayan/Ask-Your-Markdown" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>okf</category>
      <category>rag</category>
    </item>
    <item>
      <title>Encoder vs Decoder: Before AI Can Write, It Has to Read</title>
      <dc:creator>Elanthirayan</dc:creator>
      <pubDate>Wed, 15 Jul 2026 07:58:25 +0000</pubDate>
      <link>https://dev.to/imelanthirayan/encoder-vs-decoder-before-ai-can-write-it-has-to-read-4hh7</link>
      <guid>https://dev.to/imelanthirayan/encoder-vs-decoder-before-ai-can-write-it-has-to-read-4hh7</guid>
      <description>&lt;p&gt;Before an AI can generate text, it first needs to understand it. I put together a beginner-friendly blog on Encoder vs Decoder and also added an interactive section to my AI Concept Playground to make the concept easier to visualize.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://elanthirayan.medium.com/encoder-vs-decoder-before-ai-can-write-it-has-to-read-d8a461b452aa" rel="noopener noreferrer"&gt;https://elanthirayan.medium.com/encoder-vs-decoder-before-ai-can-write-it-has-to-read-d8a461b452aa&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Interactive playgroud link is in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>encoder</category>
      <category>llm</category>
      <category>openai</category>
    </item>
    <item>
      <title>Already an AI expert? Ignore this.</title>
      <dc:creator>Elanthirayan</dc:creator>
      <pubDate>Thu, 02 Jul 2026 09:58:26 +0000</pubDate>
      <link>https://dev.to/imelanthirayan/already-an-ai-expert-ignore-this-1gng</link>
      <guid>https://dev.to/imelanthirayan/already-an-ai-expert-ignore-this-1gng</guid>
      <description>&lt;p&gt;If you're still trying to understand embeddings, RAG, vector search, or AI agents, this is for you. I built AI Playground to make AI concepts easier to learn through interactive experiments instead of long explanations.&lt;/p&gt;

&lt;p&gt;&lt;a href="//imelanthirayan.github.io/aiplayground"&gt;AI Playground&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's a quick walkthrough.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frlbhv4qvl1ec8994r9og.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frlbhv4qvl1ec8994r9og.png" alt="AI Playground" width="800" height="726"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>milvuslite-kit configuration over code for vector search and rag workflows</title>
      <dc:creator>Elanthirayan</dc:creator>
      <pubDate>Fri, 12 Jun 2026 05:43:00 +0000</pubDate>
      <link>https://dev.to/imelanthirayan/milvuslite-kit-configuration-over-code-for-vector-search-and-rag-workflows-1fd8</link>
      <guid>https://dev.to/imelanthirayan/milvuslite-kit-configuration-over-code-for-vector-search-and-rag-workflows-1fd8</guid>
      <description>&lt;p&gt;Built a small framework called &lt;strong&gt;MilvusLite Kit&lt;/strong&gt; to make vector search and RAG workflows more configuration-driven and less code-heavy.&lt;/p&gt;

&lt;p&gt;Instead of writing boilerplate for embeddings, vector stores, and retrieval setup, you can define everything through configuration and focus on building your application.&lt;/p&gt;

&lt;p&gt;In this post, I walk through the idea, architecture, and how it simplifies local development with Milvus Lite.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://elanthirayan.medium.com/milvuslite-kit-configuration-over-code-for-vector-search-and-rag-workflows-5e23f111f317" rel="noopener noreferrer"&gt;https://elanthirayan.medium.com/milvuslite-kit-configuration-over-code-for-vector-search-and-rag-workflows-5e23f111f317&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback and contributions are welcome.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>vectordatabase</category>
      <category>milvus</category>
      <category>python</category>
    </item>
  </channel>
</rss>
