<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Alok Rahul on Medium]]></title>
        <description><![CDATA[Stories by Alok Rahul on Medium]]></description>
        <link>https://medium.com/@alokrahuldevops?source=rss-8d985d1754c------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*RG98BCxB78r0Xwv_-ZbonQ.png</url>
            <title>Stories by Alok Rahul on Medium</title>
            <link>https://medium.com/@alokrahuldevops?source=rss-8d985d1754c------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 05 Nov 2026 12:21:37 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@alokrahuldevops/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Day 216 — Linux Storage Management: Ubuntu and Red Hat]]></title>
            <link>https://medium.com/@alokrahuldevops/day-216-linux-storage-management-ubuntu-and-red-hat-a2e80b60f5d1?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/a2e80b60f5d1</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[linux]]></category>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[platform-engineering]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Mon, 02 Nov 2026 06:43:59 GMT</pubDate>
            <atom:updated>2026-11-02T06:43:59.427Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>2nd November, Netherlands </em></strong>— Storage management is an essential skill for Linux administrators, DevOps engineers, and Site Reliability Engineers (SREs). Whether you are configuring a new server, expanding storage, or troubleshooting disk issues, understanding Linux partitions is important.</p><p>In this blog, we will explore how to <strong>list, create, delete, and modify disk partitions</strong> in Ubuntu and Red Hat-based Linux distributions using practical commands.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ju8TmGus-mFVj2gdc_l_Dw.png" /></figure><h3>Understanding Linux Disk Partitions</h3><p>A physical disk can be divided into smaller logical sections called <strong>partitions</strong>. Each partition can contain a filesystem, swap space, or storage managed by LVM.</p><p>Common Linux disk naming conventions include:</p><ul><li>/dev/sda — Physical disk</li><li>/dev/sda1 — First partition</li><li>/dev/sda2 — Second partition</li><li>/dev/nvme0n1 — NVMe disk</li><li>/dev/nvme0n1p1 — First NVMe partition</li></ul><p>Ubuntu and Red Hat-based systems support tools such as lsblk, fdisk, parted, and blkid.</p><h3>Listing Physical Disks and Partitions</h3><p>Before modifying storage, identify available disks and their partitions.</p><pre>lsblk</pre><p>Display disk sizes, filesystems, and mount points:</p><pre>lsblk -f<br>sudo fdisk -l<br>sudo blkid</pre><p>To check filesystem usage:</p><pre>df -hT</pre><p><strong>Why?</strong> These commands help identify unused disks, existing partitions, and mounted filesystems.</p><h3>Creating a New Partition</h3><p>Suppose a new disk /dev/sdb is attached to your server.</p><p>Start the partitioning utility:</p><pre>sudo fdisk /dev/sdb</pre><p>Inside fdisk, use:</p><pre>g    Create a GPT partition table (new disk only)<br>n    Create a new partition<br>p    Print partition table<br>w    Write changes to disk</pre><p><strong>Warning:</strong> Creating a new partition table destroys the existing partition layout. Use g only when initializing a disk that contains no data you need.</p><p>Next, create an ext4 filesystem:</p><pre>sudo mkfs.ext4 /dev/sdb1</pre><p>Mount the partition:</p><pre>sudo mkdir -p /data<br>sudo mount /dev/sdb1 /data</pre><p>For persistent mounting, obtain the UUID using blkid and add the appropriate entry to /etc/fstab.</p><h3>Deleting a Partition</h3><p>To delete an existing partition:</p><pre>sudo umount /dev/sdb1<br>sudo fdisk /dev/sdb</pre><p>Inside fdisk:</p><pre>p    Display existing partitions<br>d    Delete selected partition<br>w    Save changes</pre><p><strong>Important:</strong> Back up critical data before deleting partitions. Removing a partition can make its data inaccessible.</p><h3>Ubuntu vs. Red Hat: What Changes?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*khrziffXUHjCGEGNubhWlA.png" /></figure><h3>Conclusion</h3><p>Linux partition management becomes straightforward once you understand the relationship between physical disks, partitions, filesystems, and mount points.</p><p>The essential commands are:</p><ul><li><strong>List:</strong> lsblk, fdisk -l</li><li><strong>Create:</strong> fdisk, mkfs</li><li><strong>Delete:</strong> fdisk</li><li><strong>Modify:</strong> parted, resize2fs, xfs_growfs</li></ul><p>Always verify disk names, back up important data, and check whether filesystems are mounted before making changes.</p><p><strong>Remember: A single incorrect disk command can cause permanent data loss. Practice using disposable disks or virtual machines before modifying production storage.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a2e80b60f5d1" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 215 — Understanding BERT and GPT: Encoder vs. Decoder in Transformers]]></title>
            <link>https://medium.com/@alokrahuldevops/day-215-understanding-bert-and-gpt-encoder-vs-decoder-in-transformers-7ddd8a7ef25a?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/7ddd8a7ef25a</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Tue, 13 Oct 2026 06:56:54 GMT</pubDate>
            <atom:updated>2026-10-13T06:56:54.818Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>13th Oct 2026, Netherlands</em></strong> — How two different approaches to Transformer architecture changed the world of Artificial Intelligence.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5ughg-75suOIBeRMzazkdw.png" /></figure><h3>Introduction: From Transformers to BERT and GPT</h3><p>In 2017, Google researchers introduced the Transformer architecture in the famous research paper Attention Is All You Need.</p><p>The original Transformer had two important components:</p><ul><li>Encoder: Understands the meaning and context of input text.</li><li>Decoder: Generates output text, one token at a time.</li></ul><p>This architecture became the foundation for many modern AI models, including BERT and GPT.</p><p>Interestingly, these models use different parts of the Transformer architecture.</p><h3>1. BERT: The Encoder-Based Model</h3><p>BERT stands for Bidirectional Encoder Representations from Transformers.</p><p>Introduced by Google in 2018, BERT primarily uses the Transformer encoder.</p><p>Its main purpose is to understand language and the relationships between words.</p><h3>How does BERT work?</h3><p>Consider this sentence:</p><p>“The developer deployed the application to the server.”</p><p>BERT examines words using context from both the left and right sides.</p><p>This is called bidirectional understanding.</p><p>During its original pre-training, BERT used a technique called Masked Language Modeling (MLM).</p><p>For example:</p><p>“The developer deployed the [MASK] to the server.”</p><p>BERT predicts the missing word: “application”.</p><p>By learning from surrounding words, BERT develops a strong understanding of language.</p><h3>Where is BERT useful?</h3><ul><li>Sentiment analysis</li><li>Text classification</li><li>Named entity recognition</li><li>Search relevance</li><li>Extractive question answering</li></ul><p>Key idea: BERT is designed primarily to understand text rather than generate long responses.</p><h3>2. GPT: The Decoder-Based Model</h3><p>GPT stands for Generative Pre-trained Transformer.</p><p>Introduced by OpenAI in 2018, GPT uses a decoder-only Transformer architecture.</p><p>Unlike BERT, GPT focuses on generating text.</p><h3>How does GPT work?</h3><p>Consider this sentence:</p><p>“The developer deployed the application to…”</p><p>GPT predicts the next token based on the previous tokens.</p><p>It might generate:</p><p>“The developer deployed the application to the production server.”</p><p>GPT uses causal self-attention, meaning each token can attend only to earlier tokens and itself.</p><p>This is called autoregressive generation.</p><p>GPT repeatedly predicts the next token to produce complete sentences, explanations, or code.</p><h3>Where is GPT useful?</h3><ul><li>Chatbots and AI assistants</li><li>Content generation</li><li>Code generation</li><li>Text summarization</li><li>Translation and reasoning tasks</li></ul><p>Key idea: GPT is designed primarily to generate text based on learned patterns and context.</p><h3>3. BERT vs. GPT: Understanding the Difference</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-lNdhyQ37uArkBk6m5NV6g.png" /></figure><h3>4. Why Are Both Important?</h3><p>BERT demonstrated how Transformers could achieve powerful language understanding through bidirectional context.</p><p>GPT demonstrated how predicting the next token could support increasingly capable language generation.</p><p>Although their architectures differ, both rely on the Transformer’s most important innovation: self-attention.</p><p>Modern GPT-style models can also perform many language-understanding tasks, even without a separate encoder.</p><h3>Conclusion</h3><p>BERT and GPT represent two influential approaches to building language models.</p><p>BERT focuses on understanding context, while GPT focuses on generating sequences.</p><p>Understanding this architectural difference is an important foundation for anyone learning AI engineering, Large Language Models, and Generative AI.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7ddd8a7ef25a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 214 — Transformers: The Architecture That Changed Artificial Intelligence]]></title>
            <link>https://medium.com/@alokrahuldevops/day-214-transformers-the-architecture-that-changed-artificial-intelligence-6c1bad77703e?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/6c1bad77703e</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Mon, 12 Oct 2026 05:20:16 GMT</pubDate>
            <atom:updated>2026-10-12T05:20:16.924Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>11th October 2026, Netherlands</em></strong> — In 2017, researchers at Google published a groundbreaking paper titled <a href="https://arxiv.org/abs/1706.03762">Attention Is All You Need</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*d91CgFv2jXmQBXhmObttBQ.png" /></figure><p>This paper introduced the Transformer architecture, which became the foundation of modern AI models such as GPT, BERT, and many other Large Language Models (LLMs).</p><h3>Why Did We Need Transformers?</h3><p>Before Transformers, models like RNNs and LSTMs processed text sequentially, one word after another.</p><p>This created two major challenges:</p><ul><li>Slow training: Sequential processing limited parallel computation.</li><li>Long-range dependencies: Understanding relationships between distant words was difficult.</li></ul><p>Transformers addressed these challenges using a powerful concept called Self-Attention.</p><h3>Understanding Transformer Architecture</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*YgwGkVESHTT9Czil" /></figure><p>The original Transformer consists of two main components:</p><p>1. Encoder — Understanding the Input</p><p>The encoder processes input text using:</p><ul><li>Input Embeddings: Convert words into numerical vectors.</li><li>Positional Encoding: Adds information about word positions.</li><li>Multi-Head Self-Attention: Identifies relationships between words.</li><li>Feed-Forward Networks: Transform the information into useful representations.</li></ul><p>2. Decoder — Generating the Output</p><p>The decoder uses masked self-attention, encoder-decoder attention, and feed-forward networks to generate output tokens one at a time.</p><h3>What Makes Self-Attention Special?</h3><p>Consider this sentence:</p><p>“The animal didn’t cross the road because it was tired.”</p><p>Self-attention helps the model connect “it” with “animal”, even though other words appear between them.</p><p>Unlike traditional sequential models, Transformers can process all input tokens simultaneously during training.</p><h3>Why Was This a Game Changer?</h3><p>Transformers introduced three major advantages:</p><ol><li>Parallel Processing: Faster and more efficient training.</li><li>Better Context Understanding: Captures relationships between distant words.</li><li>Scalability: Supports training incrasingly large AI models.</li></ol><h3>Final Thoughts</h3><p>The Transformer architecture changed how machines understand and generate language.</p><p>Research reference: Vaswani et al. (2017), “Attention Is All You Need.”</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6c1bad77703e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 213 — My Next Learning Challenge: Forward Deployed Engineer — Ready for Anything!]]></title>
            <link>https://medium.com/@alokrahuldevops/my-next-learning-challenge-forward-deployed-engineer-ready-for-anything-ed474a212990?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/ed474a212990</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[forward-deployed-engineer]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Sat, 10 Oct 2026 06:46:00 GMT</pubDate>
            <atom:updated>2026-10-10T06:57:48.544Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>A new chapter in my continuous learning journey begins today!</strong></p><p>I am excited to share that I have joined the <strong>Forward Deployed Engineer (FDE) Bootcamp by Krish Naik Academy</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*o0iW4funjG6GFMp0UpM65g.png" /></figure><p>This is not just another course or certification for me. It is a personal commitment to challenge myself, expand my engineering capabilities, and prepare for a future where technology, especially Artificial Intelligence, is changing faster than ever.</p><p>And this time, I am taking everyone along on the journey!</p><h3>Why Am I Learning Forward Deployed Engineering?</h3><p>Over the years, my professional journey in <strong>Site Reliability Engineering, DevOps, Cloud Computing, Linux, Kubernetes, and Platform Engineering</strong> has taught me one important lesson:</p><p><strong>Technology will keep changing. The ability to learn, adapt, and solve problems is what keeps an engineer relevant.</strong></p><p>With the rapid evolution of Generative AI, Agentic AI, and intelligent automation, I believe the boundaries between traditional engineering roles are becoming increasingly interconnected.</p><p>A Software Engineer builds applications.</p><p>An AI Engineer develops AI-powered solutions.</p><p>A Forward Deployed Engineer goes a step further by understanding real business problems, designing solutions, integrating technologies, and deploying them into real-world enterprise environments.</p><p>An FDE needs to combine technical expertise with problem-solving, communication, system architecture, and business understanding.</p><p>And that is exactly what makes this role challenging and exciting!</p><h3>My Motivation: Be Ready for Anything!</h3><p>I am not learning FDE because I want to abandon my existing engineering experience.</p><p>Quite the opposite!</p><p>I want to build upon everything I have learned so far.</p><p>My experience in infrastructure, automation, reliability, cloud, and production systems provides a foundation. Now I want to strengthen that foundation with AI Engineering, advanced software development, and enterprise AI integration.</p><p>My goal is simple:</p><p><strong>Be the kind of engineer who can understand a problem, design a solution, build it, deploy it, secure it, and maintain it — regardless of how technology evolves.</strong></p><p>I don’t know exactly what the technology landscape will look like five years from now.</p><p>But I can prepare myself to adapt to it.</p><p>That is what being <strong>ready for anything</strong> means to me.</p><h3>What Will I Learn Over the Next 5–6 Months?</h3><p>This bootcamp is going to challenge me across multiple engineering disciplines.</p><p>The learning journey includes:</p><ul><li><strong>Software Engineering:</strong> Advanced Python, asynchronous programming, FastAPI, REST APIs, GraphQL, and testing.</li><li><strong>Cloud and DevOps:</strong> AWS, Docker, CI/CD pipelines, networking, and cloud deployments.</li><li><strong>Generative AI:</strong> LLM fundamentals, prompt engineering, structured outputs, and function calling.</li><li><strong>RAG and Vector Databases:</strong> Embeddings, Pinecone, Qdrant, hybrid search, reranking, and knowledge graphs.</li><li><strong>Multimodal AI:</strong> Vision Language Models, document processing, and advanced retrieval.</li><li><strong>Agentic AI:</strong> LangGraph, multi-agent orchestration, memory, human-in-the-loop workflows, and Model Context Protocol (MCP).</li><li><strong>Enterprise Integration:</strong> Connecting AI with existing enterprise systems, databases, APIs, Jira, and Slack.</li><li><strong>AI Security:</strong> OAuth, SSO, RBAC, prompt injection protection, and AI guardrails.</li><li><strong>Production AI:</strong> Observability, evaluation, reliability, tracing, and monitoring AI applications.</li></ul><p>What excites me most is the opportunity to connect these technologies rather than learning each one in isolation.</p><p>The curriculum also includes two major hands-on projects:</p><p><strong>OmniGuard — Secure AI Integration:</strong> Building an enterprise AI integration solution with secure database access, RAG, access controls, and security guardrails.</p><p><strong>AuditMesh — Multi-Agent Compliance System:</strong> Developing a multi-agent system using LangGraph, MCP, human approvals, and production observability.</p><p>These projects will be an opportunity to apply engineering concepts to realistic enterprise challenges.</p><h3>My Commitment: Learn Every Day, Build Every Day, Share Every Day</h3><p>One thing I have learned from my previous learning experiences is that <strong>knowledge becomes more valuable when we apply it and share it</strong>.</p><p>For the next 5–6 months, I intend to document this journey consistently.</p><p>Not just the successful implementations.</p><p>I also want to share the challenges, debugging sessions, mistakes, failed experiments, and lessons learned along the way.</p><p>My daily learning updates will focus on three simple questions:</p><p><strong>1. What did I learn today?</strong></p><p>A simple explanation of the technical concepts I explored.</p><p><strong>2. What did I build today?</strong></p><p>Hands-on experiments, code, architectures, and working implementations wherever possible.</p><p><strong>3. What challenges did I face, and how did I solve them?</strong></p><p>Because real engineering is not about writing perfect code on the first attempt. It is about learning how to solve difficult problems.</p><p>I will continue documenting my experiences through technical blogs, LinkedIn updates, GitHub projects, and YouTube content.</p><p>My objective is not simply to complete another course.</p><p><strong>I want to finish this journey with stronger engineering skills, practical projects, and a portfolio that demonstrates what I can actually build.</strong></p><h3>Why Am I Sharing This Journey Publicly?</h3><p>Because I believe learning should not happen in isolation.</p><p>Someone might be starting their AI Engineering journey today.</p><p>Someone might be transitioning from DevOps to AI.</p><p>Someone might be wondering whether they need to learn new technologies after spending years working in traditional IT roles.</p><p>And someone might simply need a little motivation to start learning again.</p><p>If my daily experiments, mistakes, and discoveries can help even one person move forward, sharing this journey will be worthwhile.</p><p>I am not positioning myself as an expert in everything I am about to learn.</p><p><strong>I am a learner, documenting the journey of becoming a better engineer, one day at a time.</strong></p><h3>The Journey Begins Now!</h3><p>The next 5–6 months will require discipline, consistency, patience, and plenty of hands-on practice.</p><p>There will be difficult concepts.</p><p>There will be broken code.</p><p>There will be moments when things don’t work as expected.</p><p>But that is part of the journey.</p><p>I am looking forward to discovering how far I can push my existing engineering skills into the world of AI-powered enterprise solutions.</p><p><strong>My philosophy remains unchanged:</strong></p><p><em>Keep learning. Keep building. Keep sharing. Keep evolving.</em></p><p>And most importantly:</p><p><strong>Don’t prepare yourself for just one job title. Prepare yourself to solve whatever engineering challenges the future brings.</strong></p><p>So, keep an eye on this space!</p><p><strong>Every day, I will be sharing what I am learning, what I am building, and how I am progressing toward becoming a Forward Deployed Engineer.</strong></p><p>Let’s see what we can build over the next 5–6 months!</p><p><strong>#ForwardDeployedEngineer #FDE #AIEngineering #AgenticAI #GenerativeAI #DevOps #PlatformEngineering #SRE #1000DaysOfLearning #ContinuousLearning #BuildInPublic #KrishNaikAcademy</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ed474a212990" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 212 — Understanding LCEL in LangChain: Guide to Building AI Applications]]></title>
            <link>https://medium.com/@alokrahuldevops/day-212-understanding-lcel-in-langchain-guide-to-building-ai-applications-d33c2dbb8a42?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/d33c2dbb8a42</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Fri, 09 Oct 2026 05:18:15 GMT</pubDate>
            <atom:updated>2026-10-09T05:18:15.229Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>8th October 2026,Netherlands</em></strong> — Artificial Intelligence is changing how we build software. Today, developers can create chatbots, AI assistants, and Retrieval-Augmented Generation (RAG) applications using Large Language Models (LLMs).</p><p>LangChain and LCEL is useful in connecting an LLM with prompts, databases, and other components.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FrowTl9A8wlHvb8bkuEEXA.png" /></figure><h3>What is LangChain?</h3><p>LangChain is an open-source framework that helps developers build applications powered by Large Language Models (LLMs).</p><p>Instead of writing everything from scratch, LangChain provides reusable components to connect:</p><ul><li>LLMs: Generate answers using AI models.</li><li>Prompt Templates: Structure instructions sent to models.</li><li>Retrievers: Fetch relevant information from external sources.</li><li>Output Parsers: Convert model responses into usable formats.</li><li>Tools: Allow AI applications to interact with external systems.</li></ul><p>For example, imagine building an AI chatbot that answers questions using your company’s documents.</p><p>LangChain helps connect document retrieval, prompt creation, and answer generation into one workflow.</p><p>And LCEL connects these components efficiently?</p><h3>What is LCEL?</h3><p>LCEL stands for LangChain Expression Language.</p><p>LCEL is a declarative way to connect LangChain components and create execution pipelines called chains.</p><p>Think of LCEL as an assembly line in a factory.</p><p>Each component performs a specific task and passes its output to the next component.</p><p>LCEL uses the pipe operator (|) to connect components.</p><p>For example:</p><pre>chain = prompt | model | output_parser</pre><p>Here:</p><ol><li>The prompt prepares instructions.</li><li>The model generates a response.</li><li>The output parser formats the result.</li></ol><p>Each step automatically receives the previous step’s output.</p><h3>Building Your First LCEL Chain</h3><p>Let’s create a simple application that explains technical concepts.</p><p>First, install the required packages:</p><pre>pip install -U langchain-core langchain-openai</pre><p>Set your OPENAI_API_KEY environment variable, then write:</p><pre>from langchain_core.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParserfrom langchain_openai import ChatOpenAI# Create a promptprompt = ChatPromptTemplate.from_template(    &quot;Explain {topic} in simple English.&quot;)# Initialize the language modelmodel = ChatOpenAI(model=&quot;gpt-4.1-mini&quot;)# Create the LCEL chainchain = prompt | model | StrOutputParser()# Execute the chainresponse = chain.invoke({&quot;topic&quot;: &quot;Kubernetes&quot;})print(response)</pre><p>The application sends the topic to the prompt, passes the formatted instructions to the LLM, and converts the response into a Python string.</p><p>All three components work together through one chain.</p><h3>Why is LCEL Useful?</h3><p>LCEL offers several important benefits.</p><p>1. Simple and readable code</p><p>Developers can connect components without writing complicated orchestration logic.</p><p>2. Reusable components</p><p>The same prompt, model, or parser can be reused across different applications.</p><p>3. Streaming support</p><p>Using stream(), applications can display generated output progressively instead of waiting for the complete response.</p><p>4. Parallel execution</p><p>LCEL supports running independent operations concurrently using components such as RunnableParallel.</p><p>5. Asynchronous and batch processing</p><p>Developers can process requests using ainvoke() or multiple inputs using batch().</p><p>These capabilities make LCEL particularly useful when building RAG pipelines, document-processing systems, and other LLM workflows.</p><h3>Final Thoughts —</h3><p>LangChain provides the building blocks for developing AI applications, while LCEL provides a simple way to connect those blocks.</p><p>Instead of writing complex code to manage every operation, developers can create readable and reusable pipelines.</p><p>For beginners learning AI Engineering, LCEL is an important concept because it introduces how prompts, models, retrievers, and output parsers work together.</p><p>Although newer LangChain agent workflows often use LangGraph-based orchestration, LCEL remains useful for composing straightforward chains.</p><p><strong><em>The key takeaway: LangChain gives us the components. LCEL helps us connect them into working AI applications.</em></strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d33c2dbb8a42" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 211 — Understanding Parametric and Non-Parametric Memory in RAG]]></title>
            <link>https://medium.com/@alokrahuldevops/day-211-understanding-parametric-and-non-parametric-memory-in-rag-6914ceecde76?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/6914ceecde76</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[devops]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Thu, 08 Oct 2026 06:30:53 GMT</pubDate>
            <atom:updated>2026-10-08T06:30:53.893Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>7th October 2026, Netherlands</em></strong> — Have you ever wondered how ChatGPT remembers information or answers questions about something it was never trained on?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lzawPRWZ9OLfcgSpkP5zxg.png" /></figure><p>The answer lies in understanding two important concepts: <strong>Parametric Memory and Non-Parametric Memory</strong>.</p><p>These concepts form the foundation of <strong>Retrieval-Augmented Generation (RAG)</strong>, a technique that helps AI systems generate more accurate, relevant, and knowledge-grounded responses.</p><h3>The Research Behind RAG</h3><p>In 2020, researchers from Facebook AI Research (FAIR), along with collaborators, published a research paper titled:</p><p><strong>“Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”</strong></p><p>The paper introduced an architecture combining two different types of memory to improve language generation.</p><p>Let’s understand both concepts using simple examples.</p><h3>1. What Is Parametric Memory?</h3><p>Parametric memory refers to knowledge learned and encoded within a language model’s parameters (weights) during training.</p><p>Imagine preparing for an examination. You read several books, understand concepts, and remember information.</p><p>During the examination, you answer questions using what you have learned without opening those books.</p><p><strong>This is similar to parametric memory.</strong></p><p>For example, ask an LLM:</p><p>“What is Kubernetes?”</p><p>The model generates an explanation using patterns and knowledge learned during training.</p><p>However, parametric memory has limitations:</p><ul><li>Knowledge may become outdated after training.</li><li>Updating knowledge generally requires additional training.</li><li>Models can generate incorrect information, called hallucinations.</li><li>Private organizational information is unavailable unless incorporated through training or provided as context.</li></ul><h3>2. What Is Non-Parametric Memory?</h3><p>Non-parametric memory refers to knowledge stored outside the language model and accessed through retrieval.</p><p>Imagine taking an open-book examination.</p><p>Instead of depending entirely on memory, you search your textbook, locate relevant information, and prepare your answer.</p><p><strong>This is similar to non-parametric memory.</strong></p><p>In RAG systems, external knowledge may include documents, databases, technical manuals, and company policies.</p><p>For example, consider asking:</p><p>“What is our company’s Kubernetes deployment policy?”</p><p>The language model might not know your company’s internal policies.</p><p>However, a RAG system can retrieve the relevant document and provide it to the model as context.</p><p>This enables the model to answer using organization-specific knowledge without retraining.</p><h3>3. How RAG Combines Both Memories</h3><p>The original Facebook research used:</p><ul><li><strong>Parametric Memory:</strong> A pretrained BART sequence-to-sequence language model.</li><li><strong>Non-Parametric Memory:</strong> A dense vector index of Wikipedia passages accessed through Dense Passage Retrieval (DPR).</li></ul><p>The workflow is straightforward:</p><ol><li>A user submits a question.</li><li>A retriever searches external knowledge.</li><li>Relevant passages are retrieved.</li><li>The language model combines the question with retrieved information.</li><li>The model generates an answer.</li></ol><p>The retriever supplies relevant knowledge, while the language model interprets that knowledge and generates natural-language responses.</p><h3>4. Why Does This Matter for AI Engineers?</h3><p>Understanding these memory types helps AI engineers build applications that use private data, support frequently updated knowledge, improve answer traceability, and reduce hallucination risks.</p><p>However, RAG does not guarantee correctness. Retrieval quality and source reliability remain critical.</p><h3>Conclusion</h3><p><strong>Parametric memory is what an AI model has learned. Non-parametric memory is what it can retrieve.</strong></p><p>RAG combines both approaches to build more useful, adaptable, and knowledge-grounded AI applications.</p><p><strong>Research Reference:</strong> Patrick Lewis et al. (2020), <em>Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks</em>, NeurIPS 2020.</p><p>Research paper: <a href="https://arxiv.org/abs/2005.11401">https://arxiv.org/abs/2005.11401</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6914ceecde76" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 210 — Understanding Embeddings and Vector Databases]]></title>
            <link>https://medium.com/@alokrahuldevops/day-210-understanding-embeddings-and-vector-databases-4751c970b139?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/4751c970b139</guid>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[vector-database]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Tue, 06 Oct 2026 05:54:18 GMT</pubDate>
            <atom:updated>2026-10-06T05:54:18.071Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>6th October 2026, Netherlands</em></strong> — Large Language Models such as ChatGPT can understand and generate human language, but computers do not actually understand words the way humans do. Computers mainly work with numbers.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bBx5gUMntaXgtorCBO6rSA.png" /></figure><p>So how can an AI system understand that words like <strong>“car”</strong>, <strong>“vehicle”</strong>, and <strong>“automobile”</strong> have similar meanings?</p><p>The answer is Embedding.</p><h3>What Is an Embedding?</h3><p>An <strong>embedding</strong> is a way of converting information such as text, images, audio, or documents into a list of numbers called a <strong>vector</strong>.</p><p>For example, imagine these sentences:</p><ul><li>“I like Kubernetes.”</li><li>“I enjoy working with containers.”</li><li>“The weather is sunny today.”</li></ul><p>An embedding model converts each sentence into something similar to:</p><pre>&quot;I like Kubernetes&quot;<br>→ [0.21, -0.45, 0.72, 0.18, ...]</pre><pre>&quot;I enjoy working with containers&quot;<br>→ [0.25, -0.40, 0.68, 0.20, ...]</pre><pre>&quot;The weather is sunny today&quot;<br>→ [-0.62, 0.31, -0.15, 0.79, ...]</pre><p>Real embeddings can contain hundreds or even thousands of numbers.</p><p>The important idea is that <strong>similar information gets similar vectors</strong>.</p><p>Therefore, the vectors representing Kubernetes and containers may be closer to each other than the vector representing weather.</p><h3>Why Do We Need Embeddings?</h3><p>Traditional computers are very good at exact matching.</p><p>Suppose a user searches:</p><pre>How do I monitor Kubernetes?</pre><p>A document may contain:</p><pre>Observability helps engineers track the health of containerized workloads.</pre><p>The exact words are different, but the meaning is related.</p><p>A traditional keyword search may not always understand this relationship. Embeddings allow systems to compare <strong>meaning instead of only matching words</strong>.</p><p>Embeddings are therefore widely used in:</p><ul><li>Semantic search</li><li>Recommendation systems</li><li>Retrieval Augmented Generation (RAG)</li><li>Document search</li><li>Chatbots</li><li>Image search</li><li>Similarity detection</li><li>Classification systems</li></ul><h3>How Are Embeddings Created?</h3><p>Embeddings are normally generated using a trained machine learning model.</p><p>The basic process looks like this:</p><pre>Input<br>   ↓<br>Embedding Model<br>   ↓<br>Numerical Vector</pre><p>For example:</p><pre>&quot;Kubernetes manages containers&quot;<br>        ↓<br>Embedding Model<br>        ↓<br>[0.34, -0.12, 0.81, 0.42, ...]</pre><p>During training, embedding models learn patterns and relationships between words, sentences, and concepts.</p><p>Words or sentences with similar meanings are placed closer together in a mathematical space.</p><p>You can imagine this like a huge map.</p><p>On this map:</p><pre>Docker ─ Kubernetes ─ Containers</pre><pre>Python ─ Java ─ Programming</pre><pre>Apple ─ Banana ─ Mango</pre><p>Concepts with similar meanings appear near each other.</p><p>The distance between vectors can then be measured using techniques such as <strong>cosine similarity</strong>, <strong>Euclidean distance</strong>, or <strong>dot product</strong>.</p><h3>Popular Embedding Algorithms and Models</h3><p>Several techniques have been developed to generate embeddings.</p><p><strong>Word2Vec</strong> is one of the earliest popular techniques. It creates numerical representations of individual words based on the words appearing around them.</p><p><strong>GloVe</strong>, or Global Vectors for Word Representation, creates word embeddings by studying how frequently words appear together across large amounts of text.</p><p><strong>FastText</strong>, developed by Facebook AI Research, improves on traditional word embeddings by also considering parts of words. This can help with uncommon or misspelled words.</p><p>Modern applications commonly use transformer-based embedding models.</p><p><strong>Sentence-BERT</strong> generates embeddings for complete sentences and paragraphs, making it useful for semantic search.</p><p>Other modern embedding models are available from providers and projects such as OpenAI, Google, Cohere, Hugging Face, and many open-source communities.</p><h3>What Is a Vector Database?</h3><p>Once we generate thousands or millions of embeddings, we use <strong>vector database</strong> to store them and search them efficiently.</p><p>A vector database is designed to store vectors and quickly find vectors that are mathematically similar.</p><p>The architecture is simple:</p><pre>Documents<br>    ↓<br>Embedding Model<br>    ↓<br>Vectors<br>    ↓<br>Vector Database<br>    ↓<br>Similarity Search</pre><p>Suppose a user asks:</p><pre>How can I troubleshoot Kubernetes pods?</pre><p>The question is converted into an embedding.</p><p>The vector database then compares that vector with stored document vectors and returns the documents with the closest meaning.</p><p>This is one of the main building blocks of <strong>RAG systems</strong>.</p><h3>Why Use a Vector Database?</h3><p>A normal relational database is excellent for queries such as:</p><pre>SELECT * FROM users WHERE country = &#39;Netherlands&#39;;</pre><p>But AI applications often need a different type of query:</p><pre>Find documents that mean something similar to this question.</pre><p>Searching millions of high-dimensional vectors efficiently requires specialized indexing and similarity-search techniques.</p><p>Vector databases are designed for this purpose.</p><h3>Types of Vector Databases</h3><p>There are several approaches.</p><p><strong>Dedicated vector databases</strong> are designed primarily for vector search. Examples include <strong>Pinecone, Milvus, Weaviate, and Qdrant</strong>.</p><p><strong>Traditional databases with vector support</strong> add vector capabilities to existing database systems. A popular example is <strong>PostgreSQL with the pgvector extension</strong>.</p><p><strong>Search engines with vector search</strong> combine traditional keyword search with semantic vector search. Examples include <strong>Elasticsearch</strong> and <strong>OpenSearch</strong>.</p><p>There are also local libraries such as <strong>FAISS</strong>, which are commonly used for experimentation and smaller AI projects, although they are better described as vector-search libraries rather than complete databases.</p><h3>Summary</h3><p>Embeddings provide the bridge between <strong>human meaning and machine mathematics</strong>.</p><p>They convert text, images, and other information into vectors that machines can compare.</p><p>Vector databases store these vectors and allow AI applications to find information based on <strong>similarity and meaning rather than exact keywords</strong>.</p><p>Together, embeddings and vector databases form an important foundation for modern AI applications, especially semantic search, recommendation systems, AI assistants, and Retrieval Augmented Generation.</p><p>A simple way to remember the complete flow is:</p><p><strong>Data → Embedding Model → Vector → Vector Database → Similarity Search → Relevant Information</strong></p><p>Understanding this flow is important step toward understanding how modern RAG and Generative AI applications work.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4751c970b139" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 209 — RAG: Giving AI the Right Knowledge at the Right Time]]></title>
            <link>https://medium.com/@alokrahuldevops/day-209-rag-giving-ai-the-right-knowledge-at-the-right-time-d5d8cf89b908?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/d5d8cf89b908</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[retrieval-augmented-gen]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Mon, 05 Oct 2026 05:55:09 GMT</pubDate>
            <atom:updated>2026-10-05T05:55:09.554Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>5th October 2026, Netherlands</em></strong> — Generative AI tools such as ChatGPT have made Artificial Intelligence accessible to almost everyone.</p><p>We can ask questions, write code, summarize documents, create content, and solve problems using natural language.AI chatbots can write poems and explain code, but ask one about your company’s leave policy and it will guess. RAG is the simple idea that fixes this: let the AI look things up before it answers.</p><p>But before understanding <strong>RAG — Retrieval-Augmented Generation</strong>, it is useful to understand where language models came from and, more importantly, why they need technologies such as RAG.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wMZ9sl24m1nQy5gxkaZn7Q.png" /></figure><h3>It Starts with NLP</h3><p><strong>Natural Language Processing (NLP)</strong> is a field of Artificial Intelligence that helps computers understand, process, and generate human language.</p><p>For example, NLP can help computers:</p><ul><li>Understand a question</li><li>Translate languages</li><li>Analyze sentiment</li><li>Summarize documents</li><li>Extract information from text</li><li>Generate human-like responses</li></ul><p>Earlier NLP systems relied heavily on predefined rules and traditional machine-learning algorithms.</p><p>Modern AI systems use <strong>language models</strong> that learn patterns from enormous amounts of text.</p><p>This brings us to <strong>Small Language Models and Large Language Models</strong>.</p><h3>Small Language Models vs Large Language Models</h3><p>Language models come in two broad sizes. Size is measured in <strong>parameters</strong>, the internal “settings” a model learns during training. More parameters usually means more knowledge and skill, but also more cost.</p><p>A <strong>Small Language Model (SLM)</strong> is a relatively smaller AI model.</p><p>SLMs usually require fewer computing resources and can often run on laptops, edge devices, or smaller servers.</p><p>They can be useful when we need:</p><ul><li>Lower infrastructure cost</li><li>Faster responses</li><li>Better privacy</li><li>Specialized tasks</li><li>Local AI applications</li></ul><p>A <strong>Large Language Model (LLM)</strong> is trained with much larger datasets and generally has significantly more parameters.</p><p>Models such as GPT and other modern generative AI systems fall into this broad category.</p><p>LLMs are powerful because they can perform many different tasks:</p><p><strong>Question answering → Coding → Writing → Translation → Reasoning → Summarization</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jcEfJqZNtDGSmGzjvRbCbg.png" /></figure><p>Think of an SLM as a pocket guidebook and an LLM as a whole library. Both are useful, and both have the same blind spots, as we will see next.</p><h3>The Problem with Language Models</h3><p>Imagine asking an AI assistant:</p><blockquote><em>“What was the root cause of yesterday’s production incident in my company?”</em></blockquote><p>The model may understand every word in your question.</p><p>But how would it know what happened inside your company’s production environment?</p><p>It probably cannot.</p><p>This exposes several important limitations.</p><h3>1. Knowledge Cutoff</h3><p>A language model learns information during its training process.</p><p>Think of its training data as a very large snapshot of knowledge.</p><p>If something happened <strong>after the model’s training data was collected</strong>, the model may not know about it.</p><p>For example:</p><pre>Model Training<br>2019 ───── 2022 ───── 2025<br>                         │<br>                    Knowledge<br>                      Cutoff<br>                         │<br>                         ▼<br>                    New Events</pre><p>The world continues changing after the model is trained.</p><h3>2. Lack of Domain-Specific Knowledge</h3><p>A general-purpose model may know Kubernetes, Linux, banking, healthcare, networking, and thousands of other subjects.</p><p>But it may not understand the details of <strong>your organization’s environment</strong>.</p><p>For example:</p><pre>Company Kubernetes Architecture<br>Internal Deployment Process<br>Incident Runbooks<br>Custom APIs<br>Engineering Standards<br>Product Documentation</pre><p>These may never have existed in the model’s training dataset.</p><h3>3. No Access to Private Data</h3><p>Organizations have huge amounts of valuable private information.</p><p>For example:</p><pre>Internal Wiki<br>     +<br>Confluence<br>     +<br>SharePoint<br>     +<br>PDF Documents<br>     +<br>Databases<br>     +<br>Git Repositories<br>     +<br>Support Tickets</pre><p>A public language model does not automatically know this information.</p><p>And in many cases, we do not want to train a completely new AI model using all of this information.</p><h3>4. Answers May Not Come from Trusted Sources</h3><p>A language model generates responses based on patterns learned during training.</p><p>It may produce an answer that sounds very convincing without showing where the information came from.</p><p>For enterprise applications, this can be a problem.</p><p>We often want answers based on trusted sources such as:</p><pre>Official Documentation<br>Company Policies<br>Internal Knowledge Base<br>Product Manuals<br>Approved Procedures</pre><p>Instead of relying only on the model’s internal knowledge.</p><h3>5. Language Models Generate Probabilistic Outputs</h3><p>LLMs do not work like traditional databases.</p><p>A database retrieves an exact stored value.</p><p>A language model <strong>generates the next most probable token</strong> repeatedly until it creates a response.</p><p>A simplified view is:</p><pre>Input<br>  ↓<br>Language Model<br>  ↓<br>Probability of possible next words<br>  ↓<br>Generated Response</pre><p>Parameters such as <strong>temperature</strong> influence this generation process.</p><p>Lower temperature generally makes the response more predictable.</p><p>Higher temperature allows more variation and creativity.</p><p>That is excellent for brainstorming or creative writing.</p><p>But when asking:</p><blockquote><em>“What is our company’s production recovery procedure?”</em></blockquote><p>we probably want <strong>accuracy and trusted information rather than creativity</strong>.</p><h3>Why Not Simply Train Our Own LLM?</h3><p>A natural question is:</p><blockquote><em>Why don’t companies simply train an LLM using their own data?</em></blockquote><p>Because training large models from scratch can be extremely expensive.</p><p>Large-scale training can require <strong>hundreds or even thousands of GPUs</strong>, depending on the model size and training strategy.</p><p>Imagine an infrastructure like:</p><pre>Huge Dataset<br>     ↓<br>Hundreds of GPUs<br>     ↓<br>Days / Weeks of Training<br>     ↓<br>Huge Infrastructure Cost<br>     ↓<br>New Language Model</pre><p>Training also requires expertise in:</p><ul><li>Machine learning</li><li>Distributed computing</li><li>GPU infrastructure</li><li>Data preparation</li><li>Model optimization</li><li>Model evaluation</li></ul><p>For most organizations and developers, building a new LLM from scratch is unnecessary.</p><p>Instead, we can use an existing language model and provide it with the <strong>right information when the question is asked</strong>.</p><p>This is where <strong>RAG</strong> becomes extremely useful.</p><h3>What Is RAG?</h3><p>RAG stands for:</p><p><strong>Retrieval-Augmented Generation</strong></p><p>Let us break those words down.</p><h3>Retrieval</h3><p>Find relevant information from an external knowledge source.</p><h3>Augmented</h3><p>Add that information to the user’s question as additional context.</p><h3>Generation</h3><p>Ask the language model to generate an answer using that context.</p><p>So instead of expecting the LLM to know everything, we first <strong>retrieve the knowledge it needs</strong>.</p><p>A simple RAG architecture looks like this:</p><pre>               USER QUESTION<br>                       │<br>                       ▼<br>                ┌─────────────┐<br>                │  Retriever  │<br>                └──────┬──────┘<br>                       │<br>                       ▼<br>             ┌───────────────────┐<br>             │ Knowledge Source  │<br>             │                   │<br>             │ PDFs              │<br>             │ Documentation     │<br>             │ Wiki              │<br>             │ Database          │<br>             │ Company Data      │<br>             └────────┬──────────┘<br>                      │<br>               Relevant Information<br>                      │<br>                      ▼<br>               ┌─────────────┐<br>Question ─────►│     LLM     │◄──── Retrieved Context<br>               └──────┬──────┘<br>                      │<br>                      ▼<br>                 FINAL ANSWER</pre><p>Consider our earlier question:</p><blockquote><em>“What was the root cause of yesterday’s production incident?”</em></blockquote><p>Without RAG:</p><pre>Question<br>   ↓<br>LLM<br>   ↓<br>&quot;I don&#39;t know your internal systems.&quot;</pre><p>With RAG:</p><pre>Question<br>   ↓<br>Search Internal Incident Reports<br>   ↓<br>Retrieve Yesterday&#39;s Incident Report<br>   ↓<br>Send Relevant Information + Question to LLM<br>   ↓<br>Generate Answer</pre><p>Now the LLM does not need to have learned your incident report during training.</p><p>The information is provided <strong>when it is needed</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IKcMSqqE0xQAfu44L-Aarw.png" /></figure><h3>The Key Idea Behind RAG</h3><p>RAG does not make a model perfect. If the search step finds the wrong documents, the answer will suffer. But it is the cheapest and fastest way to make a general AI useful with your own knowledge.</p><pre>LLM<br>&quot;What I learned during training&quot;</pre><pre>             +</pre><pre>RAG<br>&quot;What I can retrieve right now&quot;</pre><pre>             =</pre><pre>More Context-Aware AI</pre><p>This makes RAG extremely useful for building AI applications using:</p><ul><li>Company documentation</li><li>Technical documentation</li><li>Support knowledge bases</li><li>Product manuals</li><li>Internal engineering information</li><li>Policies and procedures</li><li>Frequently changing information</li><li>Private organizational data</li></ul><p>The quality of the final answer still depends on whether the system retrieves the <strong>correct information</strong>, how that information is provided to the model, and how the model is instructed to use it.</p><p>In short: <strong>LLMs are great at language, RAG gives them the facts.</strong> Try it on your own documents and see the difference.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d5d8cf89b908" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 208 — The Evolving SDLC: From Software Engineers to AI Engineers to Forward Deployed Engineers]]></title>
            <link>https://medium.com/@alokrahuldevops/day-208-the-evolving-sdlc-from-software-engineers-to-ai-engineers-to-forward-deployed-engineers-ac52fe398add?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/ac52fe398add</guid>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[forward-deployed-engineer]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Sun, 04 Oct 2026 03:54:43 GMT</pubDate>
            <atom:updated>2026-10-04T03:54:43.965Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>4th October 2026, Netherlands</em></strong> — For decades, the <strong>Software Development Life Cycle (SDLC)</strong> followed a fairly predictable path:</p><p><strong>Requirements → Design → Development → Testing → Deployment → Maintenance</strong></p><p>That model is still relevant, but the environment around software has changed dramatically.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*60aSm8zhVlmJW5Pl7PUlfg.png" /></figure><p>Applications are now cloud-native, API-driven, distributed, AI-enabled, highly integrated, and expected to evolve continuously. More importantly, companies are no longer asking only:</p><blockquote><em>“Can we build this software?”</em></blockquote><p>They are increasingly asking:</p><blockquote><em>“Can we solve this business problem quickly, integrate the solution into our existing environment, make it intelligent, secure it, and operate it reliably?”</em></blockquote><p>This evolution is creating a shift from the traditional <strong>Software Engineer</strong>, to the <strong>AI Engineer</strong>, and increasingly to the <strong>Forward Deployed Engineer (FDE)</strong>.</p><h3>Stage 1: The Software Engineer</h3><p>A Software Engineer primarily focuses on building reliable software systems.</p><p>The traditional responsibility is to translate requirements into maintainable software:</p><p><strong>Requirement → Architecture → Code → Test → Deploy → Maintain</strong></p><p>Software Engineers typically have strong expertise in programming, data structures, APIs, databases, testing, system design, scalability and production-quality software.</p><p>Their priorities often include:</p><ul><li>Clean and maintainable code</li><li>Testing</li><li>Reliability</li><li>Scalability</li><li>System architecture</li><li>Performance</li><li>Long-term maintainability</li></ul><p>The Software Engineer remains the foundation of modern technology organizations.</p><p>But AI has introduced another layer.</p><h3>Stage 2: The AI Engineer</h3><p>An AI Engineer takes software engineering principles and combines them with <strong>LLMs, machine learning models, retrieval systems and AI workflows</strong>.</p><p>The development lifecycle starts looking different:</p><p><strong>Problem → Data → Model/LLM → Prompt → Retrieval → Evaluation → Application → Production</strong></p><p>An AI Engineer may work with:</p><ul><li>LLM APIs</li><li>Prompt engineering</li><li>Embeddings</li><li>Vector databases</li><li>RAG</li><li>Knowledge graphs</li><li>Model evaluation</li><li>Tool/function calling</li><li>Agentic workflows</li><li>Multimodal models</li><li>AI observability</li></ul><p>The challenge is no longer deterministic software alone.</p><p>Traditional code might behave like:</p><p>Input → Logic → Output</p><p>AI applications behave more like:</p><p>Input → Context → Model → Reasoning → Tools → Retrieval → Output</p><p>That introduces uncertainty.</p><p>Therefore, AI engineering requires new practices around <strong>evaluation, guardrails, hallucination management, retrieval quality, observability and AI security</strong>.</p><p>The role consequently places much more emphasis on applied AI and LLM systems than a traditional software-engineering position.</p><h3>Stage 3: The Forward Deployed Engineer</h3><p>The Forward Deployed Engineer takes this evolution one step further.</p><p>An FDE does not simply receive a well-defined requirement and implement it.</p><p>Often, the requirement itself needs to be discovered.</p><p>The lifecycle becomes:</p><p><strong>Business Problem → Discovery → Requirements → Prototype → Architecture → Integration → Security → Production → Feedback → Business Outcome</strong></p><p>This is fundamentally different.</p><p>Imagine a customer saying:</p><blockquote><em>“We have thousands of internal documents, multiple databases, Jira, old SOAP services and several teams. We want AI to help employees find information and automate workflows — but users must only access information they are authorized to see.”</em></blockquote><p>This is not simply a coding problem.</p><p>The engineer needs to understand the business workflow, enterprise data, existing infrastructure, security boundaries and expected outcome before deciding what should actually be built.</p><p>That is where the <strong>Forward Deployed Engineer</strong> becomes valuable.</p><p>An FDE may need to combine:</p><p><strong>Python + APIs + Cloud + Containers + LLMs + RAG + Agents + Databases + Enterprise Integrations + IAM + Security + Observability</strong></p><p>Enterprise integration becomes especially important because real organizations do not consist entirely of modern APIs. AI systems may need to interact with SQL databases, XML/SOAP services, Jira, collaboration platforms and existing internal systems. FDE BootCamp V1.0 (1)</p><h3>Software Engineer vs AI Engineer vs FDE</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qPaMBq4RINcGnUdZODHu1w.png" /></figure><p>The roles overlap significantly. The difference is primarily <strong>where each engineer spends their attention</strong>.</p><p>A Software Engineer asks:</p><blockquote><strong><em>How should we engineer this system?</em></strong></blockquote><p>An AI Engineer asks:</p><blockquote><strong><em>How can AI solve this problem reliably?</em></strong></blockquote><p>A Forward Deployed Engineer asks:</p><blockquote><strong><em>What is the actual problem, what should we build, and how do we make it work inside this customer’s environment?</em></strong></blockquote><p>The FDE role therefore tends to emphasize rapid prototyping, stakeholder interaction, applied AI, enterprise data and integration while still requiring strong system-architecture and production-engineering fundamentals.</p><h3>The SDLC Is Becoming a Continuous Discovery Cycle</h3><p>Perhaps the biggest change is that modern SDLC is becoming less linear.</p><p>Traditional SDLC:</p><p><strong>Plan → Build → Test → Deploy</strong></p><p>Modern AI-driven development:</p><p><strong>Discover → Prototype → Evaluate → Integrate → Secure → Deploy → Observe → Learn → Improve</strong></p><p>And then the cycle repeats.</p><p>For engineers, this means knowing one technology deeply is no longer enough.</p><p>The most valuable engineers will increasingly be those who can connect <strong>software, infrastructure, AI, security and business context</strong>.</p><p>That is why I see the Forward Deployed Engineer not as a replacement for Software Engineering or AI Engineering, but as an <strong>evolution in how engineering expertise is applied to real-world problems</strong>.</p><p>The future engineer in not asked:</p><p><strong>“Can you build this?”</strong></p><p>They are asked:</p><p><strong>“Here is the problem. Can you figure out what we should build — and make it work in production?”</strong></p><p>Thus, it changes the SDLC completely.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ac52fe398add" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Day 207 — Health First: The Priority I Ignored Until My Body Forced Me to Listen]]></title>
            <link>https://medium.com/@alokrahuldevops/day-207-health-first-the-priority-i-ignored-until-my-body-forced-me-to-listen-14606c150f0e?source=rss-8d985d1754c------2</link>
            <guid isPermaLink="false">https://medium.com/p/14606c150f0e</guid>
            <category><![CDATA[health]]></category>
            <category><![CDATA[personal-growth]]></category>
            <category><![CDATA[sleep]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[sustainable-growth]]></category>
            <dc:creator><![CDATA[Alok Rahul]]></dc:creator>
            <pubDate>Fri, 02 Oct 2026 06:14:18 GMT</pubDate>
            <atom:updated>2026-10-02T07:25:33.079Z</atom:updated>
            <content:encoded><![CDATA[<p>2nd October 2026, Netherlands — I was away from consistent learning for last couple of months because I was not at my healthiest.</p><p>There was too much work, too many commitments, too many goals, and, most importantly, poor prioritization.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oRvPJKkB-oFaEYSL12g64g.png" /></figure><p>I kept pushing.</p><p>I kept telling myself that I could manage one more task, one more late evening, one more learning goal, one more responsibility.</p><p>But eventually, my body started sending a very clear signal:</p><p><strong>Fatigue.</strong></p><p>Not the normal tiredness that disappears after one good night of sleep.</p><p>It was persistent fatigue. The kind where you wake up tired, work tired, think tired, and end the day completely drained.</p><p>That experience forced me to reconsider something I should have understood much earlier:</p><blockquote><strong><em>Health cannot be one item on your priority list. Health is the foundation that makes every other priority possible.</em></strong></blockquote><h3>When Productivity Starts Working Against You</h3><p>There is nothing wrong with ambition.</p><p>There is nothing wrong with working hard, learning continuously, building a career, earning certifications, creating content, or trying to improve your life.</p><p>The problem begins when achievement starts consuming the very system responsible for producing those achievements: <strong>your body and mind</strong>.</p><p>For some time, I was optimizing almost everything except my health.</p><p>Work needed attention.</p><p>Learning needed attention.</p><p>Career goals needed attention.</p><p>Personal projects needed attention.</p><p>Content creation needed attention.</p><p>But sleep could be reduced.</p><p>Exercise could wait.</p><p>Meditation could be skipped.</p><p>Meals could become whatever was convenient.</p><p>Water could be forgotten.</p><p>Rest could happen “after everything was finished.”</p><p>The problem is that everything is never finished.</p><p>There will always be another email, another course, another certification, another project, another meeting, another goal.</p><p>If health continuously receives whatever time remains after everything else, eventually there may be very little health left to support everything else.</p><h3>Fatigue Is Information</h3><p>One important lesson I am taking from this period is that persistent fatigue should not automatically be treated as something to defeat with more coffee, motivation, or discipline.</p><p>Sometimes fatigue is information.</p><p>It may be telling you that your workload, recovery, sleep, nutrition, stress, or priorities need attention.</p><p>Persistent exhaustion can also have medical causes, so prolonged or unexplained fatigue deserves proper medical evaluation rather than being self-diagnosed as burnout.</p><p>But from a lifestyle perspective, I realised something important:</p><p><strong>My current way of operating was not sustainable.</strong></p><p>And sustainability matters.</p><p>A person who works at maximum intensity for three months and collapses is not necessarily more productive than someone who works consistently for three years.</p><p>Long-term success requires recovery.</p><h3>Health Is Not Separate From Performance</h3><p>We often think about health and productivity as two separate topics.</p><p>They are not.</p><p>Sleep affects concentration.</p><p>Exercise affects energy.</p><p>Hydration affects physical and cognitive performance.</p><p>Food affects recovery and overall wellbeing.</p><p>Rest affects your ability to think clearly.</p><p>Stress management affects how you respond to difficult situations.</p><p>When these foundations become weak, everything built on top of them becomes harder.</p><p>Learning becomes slower.</p><p>Decision-making becomes poorer.</p><p>Patience decreases.</p><p>Creativity decreases.</p><p>Focus becomes inconsistent.</p><p>Even small tasks begin to feel unnecessarily difficult.</p><p>That is why my approach is changing.</p><p>I am not abandoning ambition.</p><p>I am rebuilding the system that supports it.</p><h3>My New Priority System</h3><p>As I return to learning with full time of demanding work, and building things again, I am doing it differently.</p><p>These are the principles I want to protect.</p><h3>1. Sleep Enough</h3><p>Sleep is no longer something I want to sacrifice casually for productivity.</p><p>There will always be occasions where life disrupts sleep, but consistently cutting sleep to create more working hours is a poor trade.</p><p>Those additional hours may exist on the clock, but they often come with worse focus, weaker memory, slower thinking, and reduced recovery.</p><p>My goal is simple:</p><p><strong>Respect sleep as part of the work, not as time away from the work.</strong></p><h3>2. Exercise Consistently</h3><p>Exercise is not only about appearance.</p><p>It is about maintaining the physical capacity required to live an active life.</p><p>A career may be built at a desk, but a life cannot be lived entirely from a chair.</p><p>Walking, strength training, mobility, cardio, or any sustainable form of movement matters.</p><p>The goal does not have to be extreme.</p><p>The goal is consistency.</p><h3>3. Meditate and Create Mental Space</h3><p>A constantly stimulated mind rarely gets an opportunity to reset.</p><p>Work notifications, phones, social media, meetings, learning platforms, messages, and endless information can keep the brain permanently occupied.</p><p>Meditation is one way I want to deliberately create space between stimulus and response.</p><p>Even a few quiet minutes can be valuable.</p><p>Not because meditation magically removes every problem, but because awareness helps us notice when life is becoming unnecessarily chaotic.</p><h3>4. Hydrate Regularly</h3><p>This sounds almost too simple to mention.</p><p>Yet when work becomes intense, basic habits are often the first things to disappear.</p><p>Hours can pass between meetings, debugging sessions, writing, or studying without drinking enough water.</p><p>So hydration needs to become intentional rather than accidental.</p><p>Simple habits matter because health is largely built from repeated ordinary actions.</p><h3>5. Treat Healthy Food Like Medicine</h3><p>One mindset I am adopting is:</p><p><strong>Eat clean, nutritious food as if it were part of your medicine.</strong></p><p>Food should support the life you are trying to build.</p><p>That means prioritizing balanced, minimally processed meals where practical, along with enough protein, vegetables, fruit, whole foods, and sensible portions.</p><p>Perfection is unnecessary.</p><p>Consistency matters much more.</p><p>Your body has to process everything you give it.</p><p>It deserves quality inputs.</p><h3>6. Prioritize Better</h3><p>This may be the most important lesson.</p><p>Many problems that look like time-management problems are actually priority problems.</p><p>When everything becomes important, nothing is truly prioritized.</p><p>I want to ask myself more frequently:</p><p><strong>Does this really need to be done today?</strong></p><p><strong>Does this really need to be done by me?</strong></p><p><strong>What happens if this waits?</strong></p><p><strong>Is this task worth sacrificing sleep, exercise, recovery, or family time?</strong></p><p>Very often, the answer will be no.</p><h3>7. No More Normalizing Overtime</h3><p>There may occasionally be emergencies.</p><p>There may be production incidents.</p><p>There may be deadlines that genuinely require extra effort.</p><p>But extraordinary effort should remain extraordinary.</p><p>It should not quietly become the standard operating model.</p><p>Working additional hours continuously is not proof of commitment.</p><p>Sometimes it is evidence that capacity, expectations, planning, boundaries, or prioritization need to change.</p><p>My new rule is simple:</p><p><strong>No routine overtime.</strong></p><p>Work should have boundaries.</p><p>Recovery should have boundaries too.</p><h3>The Goal Is Not to Slow Down</h3><p>This experience has not reduced my desire to learn.</p><p>In fact, I am coming back to learning with more clarity.</p><p>I still want to study.</p><p>I still want to build.</p><p>I still want to create.</p><p>I still want to improve professionally and personally.</p><p>But this time, I want progress that I can sustain for years.</p><p>There is a huge difference between intensity and consistency.</p><p>Intensity asks:</p><p><strong>How much can I achieve this week?</strong></p><p>Consistency asks:</p><p><strong>What kind of life can I continue living for the next ten years?</strong></p><p>I am increasingly interested in the second question.</p><h3>Your Body Eventually Collects the Debt</h3><p>You can postpone sleep.</p><p>You can skip workouts.</p><p>You can live on convenience food.</p><p>You can ignore stress.</p><p>You can work long hours.</p><p>You can postpone rest.</p><p>For some time, everything may appear fine.</p><p>But the body has a way of collecting unpaid debt.</p><p>Sometimes the payment arrives as exhaustion.</p><p>Sometimes as loss of concentration.</p><p>Sometimes as irritability.</p><p>Sometimes as declining motivation.</p><p>And sometimes through health problems that are far more serious.</p><p>I would rather respond to the early signals than wait for louder ones.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MzJUz6tKWdDgXfCJ4T1-mQ.png" /></figure><h3>Health Is the Infrastructure of Your Life</h3><p>Coming from a technology mindset, this is perhaps the easiest way for me to understand it.</p><p>We spend enormous effort designing reliable systems.</p><p>We build redundancy.</p><p>We monitor CPU, memory, latency, disk usage, and error rates.</p><p>We define thresholds.</p><p>We create alerts.</p><p>We perform capacity planning.</p><p>We avoid running systems continuously at 100% utilization because we know there is no room for unexpected load.</p><p>Yet many of us operate our own lives at maximum capacity.</p><p>No buffer.</p><p>No recovery.</p><p>No redundancy.</p><p>No maintenance window.</p><p>And then we are surprised when the system becomes unstable.</p><p>Our bodies deserve at least the same level of care we give production systems.</p><h3>My New Operating Model</h3><p>So as I restart this journey, my priorities are becoming much clearer:</p><p><strong>Sleep enough.</strong></p><p><strong>Exercise regularly.</strong></p><p><strong>Meditate.</strong></p><p><strong>Hydrate properly.</strong></p><p><strong>Eat clean and healthy food.</strong></p><p><strong>Prioritize ruthlessly.</strong></p><p><strong>Avoid unnecessary overtime.</strong></p><p><strong>Rest without guilt.</strong></p><p>And then:</p><p>Learn.</p><p>Build.</p><p>Create.</p><p>Grow.</p><p>Because health does not compete with success.</p><p><strong>Health enables it.</strong></p><p>I still have many things I want to accomplish.</p><p>But I no longer want to achieve them at the expense of the person who has to live with those achievements.</p><p>This time, the goal is not simply to achieve more.</p><p>The goal is to become healthier, stronger, calmer, and more sustainable while doing it.</p><p>Because no career achievement, certification, promotion, project, or financial goal is worth consistently sacrificing your health.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MzJUz6tKWdDgXfCJ4T1-mQ.png" /></figure><p><strong>Health comes first. Everything else has to fit around it.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=14606c150f0e" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>