<?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>Forem: Sharvari Raut</title>
    <description>The latest articles on Forem by Sharvari Raut (@sharur7).</description>
    <link>https://forem.com/sharur7</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F743090%2Fcfd7014b-a2aa-4ce6-a1dc-78a2a6dc59bb.png</url>
      <title>Forem: Sharvari Raut</title>
      <link>https://forem.com/sharur7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sharur7"/>
    <language>en</language>
    <item>
      <title>Would you rent a GPU to run AI models?</title>
      <dc:creator>Sharvari Raut</dc:creator>
      <pubDate>Tue, 17 Feb 2026 13:43:27 +0000</pubDate>
      <link>https://forem.com/sharur7/would-you-rent-a-gpu-to-run-ai-models-5bb9</link>
      <guid>https://forem.com/sharur7/would-you-rent-a-gpu-to-run-ai-models-5bb9</guid>
      <description>&lt;p&gt;Hey everyone 👋&lt;/p&gt;

&lt;p&gt;Curious how folks here are handling compute for AI workloads in practice.&lt;/p&gt;

&lt;p&gt;If you’re working with LLMs, vision models, speech pipelines, or even smaller experiments, you’ve probably hit the compute wall at some point. Buying GPUs is expensive and not always easy to scale, while managed APIs can limit flexibility and control.&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.amazonaws.com%2Fuploads%2Farticles%2F6l1vdyx69esbgcmsge1x.gif" 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.amazonaws.com%2Fuploads%2Farticles%2F6l1vdyx69esbgcmsge1x.gif" alt=" " width="362" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So here’s the question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Would you rent a GPU (bare metal or virtual) to run your own AI models?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At &lt;a href="//qubrid.com"&gt;Qubrid AI&lt;/a&gt;, we’ve been seeing more teams move toward renting GPU infrastructure to run open models and production inference workloads, and it made us curious how common that approach really is across the community.&lt;/p&gt;

&lt;p&gt;Would love to hear your perspective:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What kind of workloads are you running today? (training, fine-tuning, inference, agents, etc.)&lt;/li&gt;
&lt;li&gt;Do you prefer owning hardware vs renting vs APIs?&lt;/li&gt;
&lt;li&gt;What matters most to you: cost, performance, privacy, control, or ease of use?&lt;/li&gt;
&lt;li&gt;If you’ve rented GPUs before, what worked well and what didn’t?&lt;/li&gt;
&lt;li&gt;If you don’t rent GPUs today, what’s the main blocker?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also curious what your ideal GPU setup looks like right now.&lt;/p&gt;

&lt;p&gt;Looking forward to hearing how everyone here is approaching this 👇&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>opensource</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Building an AI App? Here’s the Inference Stack You Actually Need</title>
      <dc:creator>Sharvari Raut</dc:creator>
      <pubDate>Thu, 12 Feb 2026 17:59:01 +0000</pubDate>
      <link>https://forem.com/qubrid_ai/building-an-ai-app-heres-the-inference-stack-you-actually-need-1l5c</link>
      <guid>https://forem.com/qubrid_ai/building-an-ai-app-heres-the-inference-stack-you-actually-need-1l5c</guid>
      <description>&lt;p&gt;If you’ve recently built an AI prototype, you probably experienced that exciting moment when everything finally worked. The model did a great job with its answers, and the demo was really impressive. It felt like we were just inches away from something huge being revealed.&lt;/p&gt;

&lt;p&gt;Then came the difficult part, turning that prototype into a real application.&lt;/p&gt;

&lt;p&gt;Out of the blue, things started to slow down. The system was having a tough time handling all the requests, hardware issues popped up, and getting everything set up felt way trickier than we thought it would be. Many developers realize that creating an AI app involves more than just selecting a model.&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.amazonaws.com%2Fuploads%2Farticles%2Fayw3gpmfuli5zw9m54ar.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fayw3gpmfuli5zw9m54ar.gif" alt=" " width="498" height="374"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This guide walks through the developer-friendly inference stack you actually need if you want your AI app to survive beyond the demo stage.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Choosing the Right Model for Real Users
&lt;/h2&gt;

&lt;p&gt;Model selection is usually where most projects kick things off, but as you dive deeper, you'll see that production needs can really shape how you look at your choices. Just because a model scores top marks in tests doesn't mean it will give users the best experience. Bigger models can slow things down, cost more to run, and might need fancier hardware to operate.&lt;/p&gt;

&lt;p&gt;In the real world, how quickly things respond is just as important as how smart they are. People want answers right away, especially when they’re chatting or using assistants. A smaller, faster model can actually be way better to use than a big, powerful model that makes you wait around.&lt;/p&gt;

&lt;p&gt;Thinking in terms of experience rather than raw capability helps you choose a model that fits your product, rather than forcing your product to fit the model.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Running the Model Efficiently
&lt;/h2&gt;

&lt;p&gt;Once the model is selected, the next challenge is running it efficiently. The inference engine determines how fast tokens are generated, how memory is managed, and how well the system handles multiple requests at once.&lt;/p&gt;

&lt;p&gt;During experimentation, almost any setup feels acceptable because only one person is using the system. Production environments are different. Multiple users interacting simultaneously can expose bottlenecks immediately. Poor memory handling, inefficient scheduling, or lack of concurrency support can turn a promising feature into a frustrating one.&lt;/p&gt;

&lt;p&gt;This layer is often invisible during early development, but it becomes critical the moment real usage begins.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The Hardware Reality Behind AI Apps
&lt;/h2&gt;

&lt;p&gt;AI inference ultimately depends on compute resources. As models grow larger and usage increases, hardware constraints become unavoidable. GPU memory limits determine what models you can run, while scaling infrastructure to support many users can quickly become expensive and complex.&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.amazonaws.com%2Fuploads%2Farticles%2F84szt2s06q5ftkxt9jq9.gif" 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.amazonaws.com%2Fuploads%2Farticles%2F84szt2s06q5ftkxt9jq9.gif" alt=" " width="362" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Teams often discover that maintaining reliable GPU infrastructure requires specialized knowledge and constant monitoring. Availability issues, performance tuning, and cost management become ongoing concerns rather than one-time setup tasks.&lt;/p&gt;

&lt;p&gt;Understanding this reality early helps you plan for growth instead of scrambling when your app starts gaining traction.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Optimization Makes the Difference
&lt;/h2&gt;

&lt;p&gt;Raw inference rarely delivers the performance needed for production. Optimization techniques transform a functional system into a usable one. Reducing precision, improving caching, and managing request flow can dramatically lower latency and resource usage.&lt;/p&gt;

&lt;p&gt;These improvements are what allow applications to feel smooth and responsive even under load. Without optimization, even powerful hardware can struggle to maintain consistent performance.&lt;/p&gt;

&lt;p&gt;For developers, this stage often involves significant experimentation and tuning, which can slow down product development if handled entirely in-house.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Connecting Inference to Your Application
&lt;/h2&gt;

&lt;p&gt;A working model still needs a structured way to communicate with your application. The API layer acts as the bridge, handling requests, security, monitoring, and reliability. When an app includes multiple AI capabilities such as chat, search, or vision processing, orchestration becomes essential to route tasks to the appropriate models.&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.amazonaws.com%2Fuploads%2Farticles%2Fl0ditupacpdxssb6u32a.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fl0ditupacpdxssb6u32a.gif" alt=" " width="498" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This layer is what transforms inference into a product feature rather than a standalone experiment. It ensures that users experience AI as a seamless part of the application instead of a fragile add-on.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Scaling from Prototype to Production
&lt;/h2&gt;

&lt;p&gt;The biggest shift happens when real users arrive. Traffic patterns become unpredictable, reliability becomes critical, and downtime becomes unacceptable. Systems must handle spikes gracefully while maintaining consistent response times.&lt;/p&gt;

&lt;p&gt;At this stage, building and maintaining infrastructure can consume more effort than building the core product itself. Many teams discover they are spending more time managing servers and GPUs than improving their application.&lt;/p&gt;

&lt;p&gt;This is often the turning point where developers reconsider whether managing the entire inference stack themselves is the best use of their time.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Faster Path Forward
&lt;/h2&gt;

&lt;p&gt;These days, developers don’t always need to start from the ground up for every project. Managed inference platforms make things easier by taking care of the techy stuff like models, infrastructure, scaling, and reliability all in one spot. This lets teams concentrate on creating cool features and making the user experience better, instead of worrying about complicated backend systems.&lt;/p&gt;

&lt;p&gt;If your goal is to move quickly from prototype to production without getting stuck in infrastructure challenges, exploring such platforms can be a practical step.&lt;/p&gt;

&lt;p&gt;&lt;a href="//qubrid.com"&gt;Qubrid AI&lt;/a&gt; is one example designed specifically for this transition. It provides access to powerful open-source models with production-ready inference, eliminating the need to manage GPUs, scaling logic, or deployment complexity yourself. For developers who want to ship AI features faster and more reliably, it can significantly reduce the operational burden.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&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.amazonaws.com%2Fuploads%2Farticles%2Fgnksmmektfk2yax3esag.jpg" 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.amazonaws.com%2Fuploads%2Farticles%2Fgnksmmektfk2yax3esag.jpg" alt=" " width="225" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The success of an AI app depends not just on how smart the model is, but on how well the inference stack delivers that intelligence to users. Speed, reliability, and scalability shape the experience far more than benchmark scores.&lt;/p&gt;

&lt;p&gt;As AI development continues to evolve, the teams that win will be those who treat inference as core infrastructure rather than an afterthought.&lt;/p&gt;

&lt;p&gt;Build the stack carefully or choose tools that let you skip the hardest parts so you can focus on creating applications people genuinely love to use. 🚀&lt;/p&gt;

</description>
      <category>gpu</category>
      <category>opensource</category>
      <category>ai</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Building a Multimodal Food Analysis System on Qubrid AI</title>
      <dc:creator>Sharvari Raut</dc:creator>
      <pubDate>Thu, 12 Feb 2026 08:37:05 +0000</pubDate>
      <link>https://forem.com/qubrid_ai/building-a-multimodal-food-analysis-system-on-qubrid-ai-3l1b</link>
      <guid>https://forem.com/qubrid_ai/building-a-multimodal-food-analysis-system-on-qubrid-ai-3l1b</guid>
      <description>&lt;p&gt;NutriVision AI is an example application from the &lt;a href="//qubrid.com"&gt;Qubrid AI&lt;/a&gt; Cookbook that demonstrates how to build a multimodal vision-language nutrition analyzer from the ground up. It uses a multimodal model to provide comprehensive nutritional insights from a food image, then lets users query those insights conversationally.&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.amazonaws.com%2Fuploads%2Farticles%2Fepjcs02w07frbwksrb6p.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fepjcs02w07frbwksrb6p.gif" alt=" " width="454" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This app is more than just a playful tool; it serves as a reference implementation that demonstrates how to seamlessly integrate authentic multimodal inference into a practical interface. It features structured outputs that you can further develop and expand upon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why NutriVision Matters
&lt;/h2&gt;

&lt;p&gt;A lot of nutrition and diet tracking applications still rely on manually entered text. NutriVision removes that friction by letting users take or upload a photo and receive a meaningful, structured analysis automatically.&lt;/p&gt;

&lt;p&gt;Behind the scenes, a multimodal model analyzes the image and generates a clean representation of calories, macronutrients, health score, dish name, and more. Then that structured data is used for both display and grounded follow-up conversation.&lt;/p&gt;

&lt;p&gt;This pattern, strict structured inference + grounded chat, is powerful and generalizable beyond nutrition. It shows how vision + language models can be applied to everyday tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;NutriVision supports two core capabilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Image-based nutritional analysis using a multimodal model&lt;/li&gt;
&lt;li&gt;Context-aware follow-up conversation grounded in structured nutrition data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system enforces strict JSON output during analysis and uses streaming for conversational interaction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before running the application, ensure you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install Python version 3.9 or higher to run the code.&lt;/li&gt;
&lt;li&gt;Download and install pip&lt;/li&gt;
&lt;li&gt;Get your API key from the Qubrid dashboard to access and use the models.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Clone the Repository
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/QubridAI-Inc/qubrid-cookbook.git
&lt;span class="nb"&gt;cd &lt;/span&gt;qubrid-cookbook/Multimodal/nutri_vision_app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Create Virtual Environment
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv venv
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate      &lt;span class="c"&gt;# macOS/Linux&lt;/span&gt;
venv&lt;span class="se"&gt;\S&lt;/span&gt;cripts&lt;span class="se"&gt;\a&lt;/span&gt;ctivate         &lt;span class="c"&gt;# Windows&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Install Dependencies
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Configure Environment Variables
&lt;/h3&gt;

&lt;p&gt;Set your Qubrid API key so the app can authenticate inference requests:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;QUBRID_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"your_api_key_here"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;setx&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;QUBRID_API_KEY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"your_api_key_here"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Run the Application
&lt;/h3&gt;

&lt;p&gt;Once the environment and key are set:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;streamlit run app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The application will launch locally in your browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multimodal API Integration
&lt;/h2&gt;

&lt;p&gt;NutriVision integrates Qubrid’s multimodal endpoint for image-based nutrition analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  Image Analysis Call (Non-Streaming)
&lt;/h3&gt;

&lt;p&gt;This function wraps the Qubrid API call:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;QUBRID_API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;QUBRID_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://platform.qubrid.com/v1/chat/completions&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;call_qubrid_api&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;model&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-multimodal-model-name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;messages&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;temperature&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.2&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Authorization&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;QUBRID_API_KEY&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Content-Type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;application/json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;choices&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside &lt;code&gt;app.py&lt;/code&gt;, the request is constructed as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;messages&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;DETAILED_NUTRITION_PROMPT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;image&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;st&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session_state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;image_base64&lt;/span&gt;
&lt;span class="p"&gt;}]&lt;/span&gt;

&lt;span class="n"&gt;response_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;call_qubrid_api&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This call returns structured JSON containing dish name, calories, macronutrients, and health score.&lt;/p&gt;

&lt;h3&gt;
  
  
  Streaming Chat Integration
&lt;/h3&gt;

&lt;p&gt;After analysis, the structured nutrition data is injected into the system prompt and streamed for conversational reasoning. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommended Model&lt;/strong&gt;: Qwen3-VL-30B, which is a high-capacity vision-language model optimized for advanced image understanding, structured extraction, OCR, and multimodal reasoning tasks.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;call_qubrid_api_stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;model&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-chat-model-name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;messages&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;temperature&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;stream&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Authorization&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;QUBRID_API_KEY&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Content-Type&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;application/json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;iter_lines&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;decoded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;decoded&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;data: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
                    &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;decoded&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;data: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;[DONE]&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="k"&gt;yield&lt;/span&gt; &lt;span class="nf"&gt;eval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;choices&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;delta&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Used in the chat layer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;call_qubrid_api_stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_messages&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;full_response&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This enables real-time conversational responses grounded in previously parsed nutrition data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design Approach
&lt;/h2&gt;

&lt;p&gt;NutriVision follows a deterministic inference pipeline:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Structured constrained generation for reliable JSON output&lt;/li&gt;
&lt;li&gt;Dedicated parsing layer for validation&lt;/li&gt;
&lt;li&gt;Context injection to reduce hallucination&lt;/li&gt;
&lt;li&gt;Streaming for conversational UX&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model performs multimodal reasoning, while the application layer ensures reliability and usability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Applications
&lt;/h2&gt;

&lt;p&gt;Although NutriVision focuses on nutrition, the general pattern it implements vision input + structured generation + context-aware chat can be applied to many domains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Health and fitness tracking tools&lt;/li&gt;
&lt;li&gt;Diet coaching assistants&lt;/li&gt;
&lt;li&gt;Industrial quality inspection&lt;/li&gt;
&lt;li&gt;Medical image interpretation&lt;/li&gt;
&lt;li&gt;Educational visual assistants&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Qubrid Cookbook contains other multimodal examples that apply this same pattern to different use cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to Learn More
&lt;/h2&gt;

&lt;p&gt;This app is part of a broader set of &lt;a href="https://github.com/QubridAI-Inc/qubrid-cookbook/tree/main" rel="noopener noreferrer"&gt;cookbooks&lt;/a&gt; provided by Qubrid AI, offering examples ranging from OCR agents to reasoning chatbots.&lt;/p&gt;

&lt;p&gt;👉 Explore the full source &lt;a href="https://github.com/QubridAI-Inc/qubrid-cookbook/tree/main/Multimodal/nutri_vision_app" rel="noopener noreferrer"&gt;code&lt;/a&gt; and related projects in our cookbooks.&lt;/p&gt;

&lt;p&gt;👉 Watch implementation tutorials and walkthroughs on &lt;a href="https://www.youtube.com/@QubridAI" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt; for step-by-step demos and model integrations.&lt;/p&gt;

&lt;p&gt;Thanks for Reading!&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.amazonaws.com%2Fuploads%2Farticles%2Fcz8zzkqfet3zxxqcw56g.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fcz8zzkqfet3zxxqcw56g.gif" alt=" " width="302" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you found this helpful, feel free to like the post 👍 and star ⭐ the repository, try the app, and experiment with your own multimodal builds using Qubrid AI. We’d love to see what you create!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Open-Source vs Closed-Source AI Models Explained Using a Siblings Analogy</title>
      <dc:creator>Sharvari Raut</dc:creator>
      <pubDate>Fri, 06 Feb 2026 11:53:06 +0000</pubDate>
      <link>https://forem.com/qubrid_ai/open-source-vs-closed-source-ai-models-explained-using-a-siblings-analogy-2ddc</link>
      <guid>https://forem.com/qubrid_ai/open-source-vs-closed-source-ai-models-explained-using-a-siblings-analogy-2ddc</guid>
      <description>&lt;p&gt;Every AI debate eventually comes down to the same argument.&lt;/p&gt;

&lt;p&gt;“Open-source is the future.”&lt;br&gt;&lt;br&gt;
“No, closed-source is miles ahead.”&lt;/p&gt;

&lt;p&gt;At this point, it sounds less like a technical discussion and more like a family fight during dinner.&lt;br&gt;
So let’s lean into that idea...&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.amazonaws.com%2Fuploads%2Farticles%2Fzblo8i8nnr8c9mwatebg.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Fzblo8i8nnr8c9mwatebg.gif" alt="Animated family dinner argument showing people talking over each other" width="480" height="360"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's say AI models are different family members who grew up in the same house, learned the same basics, and then went off into the world making very different life choices. None of them is wrong. They’re just… very themselves.&lt;/p&gt;

&lt;p&gt;Once you see it this way, the trade-offs stop feeling abstract and start making sense.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sibling #1 Open-Source Models (The “I’ll Do It Myself” One) 💪
&lt;/h3&gt;

&lt;p&gt;This family member shows up late to dinner wearing a hoodie, carrying a laptop, and proudly tells everyone they built their own desk because “store-bought ones are limiting.”&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.amazonaws.com%2Fuploads%2Farticles%2Frqerqo74efpxi1a5lxt7.gif" 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.amazonaws.com%2Fuploads%2Farticles%2Frqerqo74efpxi1a5lxt7.gif" alt="Developer hacking late at night with laptop and coffee" width="426" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open-source models share everything. The weights, the architecture, the quirks, the mistakes. Nothing is hidden. You can run them anywhere, modify them however you like, and fine-tune them until they behave exactly the way you want.&lt;/p&gt;

&lt;p&gt;This approach gives you freedom, but also responsibility. If the model is slow, that’s on you. If inference costs spike, you own that problem. If deployment breaks at 3 a.m., congratulations, you’re now an MLOps engineer.&lt;/p&gt;

&lt;p&gt;For developers who like control, this is incredibly satisfying. You’re not renting intelligence. You own it. You can adapt it to your domain, your data, and your constraints.&lt;/p&gt;

&lt;p&gt;The downside is obvious. Freedom is work. This path doesn’t come with a safety net.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sibling #2 Closed-Source Models (The “Trust Me, It Just Works” One) 😏
&lt;/h3&gt;

&lt;p&gt;This family member arrives perfectly on time, well dressed, and somehow always has their life together. They don’t explain how they do things. They just do them… and they do them well.&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.amazonaws.com%2Fuploads%2Farticles%2Fcrqlxc2e1rg53t56ezph.webp" 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.amazonaws.com%2Fuploads%2Farticles%2Fcrqlxc2e1rg53t56ezph.webp" alt="Polished professional confidently presenting results" width="700" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Closed-source models are accessed through APIs. You send text in, you get good text out. Sometimes great text. You don’t see the internals, and you’re not supposed to ask.&lt;/p&gt;

&lt;p&gt;For prototyping, demos, and fast product iterations, this option is a dream. No GPU management. No deployments. No infrastructure headaches. You can ship something impressive before your coffee gets cold.&lt;/p&gt;

&lt;p&gt;But here’s the catch. You’re always a guest in their house. You follow their rules. If pricing changes, you adapt. If rate limits tighten, you wait. If a feature disappears, you rewrite your code.&lt;/p&gt;

&lt;p&gt;This option is convenient, polished, and powerful. It’s also very much in control.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Isn’t Just Philosophy
&lt;/h3&gt;

&lt;p&gt;This isn’t an ideological debate. It’s a survival strategy.&lt;/p&gt;

&lt;p&gt;Most teams start with closed-source models because speed matters. Then they hit limits. Costs grow. Customization becomes painful. Data privacy questions pop up.&lt;/p&gt;

&lt;p&gt;So they experiment with open-source models. They love the control, but quickly realize that managing everything themselves is exhausting.&lt;/p&gt;

&lt;p&gt;Eventually, they land somewhere in the middle.&lt;/p&gt;

&lt;p&gt;That’s not a failure. That’s maturity.&lt;/p&gt;

&lt;h3&gt;
  
  
  The “Open-Source Models Are Worse” Myth
&lt;/h3&gt;

&lt;p&gt;This myth refuses to die.&lt;/p&gt;

&lt;p&gt;Modern open-source models are good. Really good. In many tasks, especially vision, speech, OCR, and domain-specific reasoning, they’re competitive or better when fine-tuned.&lt;/p&gt;

&lt;p&gt;The real problem isn’t the models. It’s everything around them.&lt;/p&gt;

&lt;p&gt;Running open-source models at scale means dealing with GPUs, memory limits, batching, latency, monitoring, and failures. That’s the part no benchmark talks about.&lt;/p&gt;

&lt;p&gt;And that’s the part most developers don’t want to spend their lives debugging.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where Platforms Actually Help
&lt;/h3&gt;

&lt;p&gt;This is where platforms stop being “nice to have” and start being necessary.&lt;/p&gt;

&lt;p&gt;A good platform doesn’t lock you in or hide the model. It simply removes friction. You focus on prompts, pipelines, and product logic instead of fighting infrastructure.&lt;/p&gt;

&lt;p&gt;This is especially important for multimodal workloads. Vision-language models, speech transcription, OCR, and document reasoning are heavier and messier than plain text. Doing all of that manually gets old fast.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where Qubrid AI Comes In
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://qubrid.com" rel="noopener noreferrer"&gt;Qubrid AI&lt;/a&gt; fits very naturally here.&lt;/p&gt;

&lt;p&gt;It lets you run open-source models without turning you into a full-time infrastructure engineer. You keep control over what models you use and how they’re configured, while the platform handles the operational pain that usually slows teams down.&lt;/p&gt;

&lt;p&gt;If you’re working with vision models, speech systems, or small-to-mid-sized language models, this balance matters a lot. You get freedom without chaos.&lt;/p&gt;

&lt;h3&gt;
  
  
  Picking the Right Approach (Before the Food Gets Cold)
&lt;/h3&gt;

&lt;p&gt;Closed-source models are great when you need fast results and don’t want to think about infrastructure.  &lt;/p&gt;

&lt;p&gt;Open-source models are great when you want ownership, flexibility, and deep customization.  &lt;/p&gt;

&lt;p&gt;Platforms are great when you want to actually ship and sleep at night.  &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.amazonaws.com%2Fuploads%2Farticles%2Fph96fps0j7r9q7bs1bdv.jpg" 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.amazonaws.com%2Fuploads%2Farticles%2Fph96fps0j7r9q7bs1bdv.jpg" alt="Team calmly collaborating after heated discussion" width="640" height="615"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The smartest teams don’t argue about which option is “better.” They choose based on where they are and where they’re going.&lt;/p&gt;




&lt;h3&gt;
  
  
  Thoughts 🚀
&lt;/h3&gt;

&lt;p&gt;AI isn’t about picking a team and defending it online. It’s about building things that work.&lt;/p&gt;

&lt;p&gt;Sometimes you need the polished option. Sometimes you need the rebellious one. And very often, you need the practical path that just gets things done.&lt;/p&gt;

&lt;p&gt;If you want to build with open-source models without inheriting all their headaches, this approach is worth trying.&lt;/p&gt;

&lt;p&gt;Run open-source models on &lt;a href="https://qubrid.com" rel="noopener noreferrer"&gt;Qubrid AI&lt;/a&gt; and see how much easier life gets when your AI stack grows up a little. 🚀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>explainlikeimfive</category>
      <category>learning</category>
    </item>
    <item>
      <title>🚀 Understanding ML Ops, LLM Ops, and Agent Ops: Key Differences and Why They Matter</title>
      <dc:creator>Sharvari Raut</dc:creator>
      <pubDate>Fri, 28 Mar 2025 14:28:57 +0000</pubDate>
      <link>https://forem.com/sharur7/understanding-ml-ops-llm-ops-and-agent-ops-key-differences-and-why-they-matter-147l</link>
      <guid>https://forem.com/sharur7/understanding-ml-ops-llm-ops-and-agent-ops-key-differences-and-why-they-matter-147l</guid>
      <description>&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.amazonaws.com%2Fuploads%2Farticles%2Fhjs7p74zta1ydbbv1uf9.jpg" 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.amazonaws.com%2Fuploads%2Farticles%2Fhjs7p74zta1ydbbv1uf9.jpg" alt="Understanding MLOps, LLMOps, and AgentOps" width="770" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image Credits: &lt;a href="https://www.linkedin.com/pulse/comprehensive-guide-mlops-llmops-agentops-sanjay-kumar-mba-ms-phd-kzhxc/" rel="noopener noreferrer"&gt;Understanding MLOps, LLMOps, and AgentOps&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📝 Introduction
&lt;/h2&gt;

&lt;p&gt;As artificial intelligence continues to reshape industries, managing AI models effectively has become crucial. While ML Ops has long been the standard for machine learning deployment, specialized practices like LLM Ops and Agent Ops are emerging to handle the unique challenges of large language models (LLMs) and autonomous agents.&lt;/p&gt;

&lt;p&gt;This blog post explores these three disciplines, highlighting their differences, core responsibilities, and how they complement each other.&lt;/p&gt;




&lt;h3&gt;
  
  
  1. What is ML Ops?
&lt;/h3&gt;

&lt;p&gt;ML Ops (Machine Learning Operations) is a practice that applies DevOps principles to machine learning models, ensuring seamless deployment, monitoring, and maintenance of models in production.&lt;/p&gt;

&lt;p&gt;🎯 &lt;strong&gt;Key Focus Areas:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data preprocessing and transformation pipelines&lt;/li&gt;
&lt;li&gt;Model training, evaluation, and deployment. Managing model drift and retraining strategies&lt;/li&gt;
&lt;li&gt;Ensuring reproducibility, scalability, and governance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Popular Tools:&lt;/strong&gt; MLflow, Kubeflow, TFX, Amazon SageMaker&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Use Case:&lt;/strong&gt;&lt;br&gt;
A fraud detection system that continuously retrains itself using fresh transaction data to improve accuracy.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. What is LLM Ops?
&lt;/h3&gt;

&lt;p&gt;LLM Ops is a specialized branch of ML Ops designed to manage large language models like GPT, LLaMA, or Claude. These models are powerful but resource-intensive, requiring distinct strategies for efficient deployment and scaling.&lt;/p&gt;

&lt;p&gt;🎯 &lt;strong&gt;Key Focus Areas:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fine-tuning and adapting LLMs for custom use cases&lt;/li&gt;
&lt;li&gt;Managing embeddings, vector databases, and retrieval pipelines&lt;/li&gt;
&lt;li&gt;Optimizing inference speed and cost (e.g., quantization, distillation)&lt;/li&gt;
&lt;li&gt;Building pipelines for prompt engineering and context injection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Popular Tools:&lt;/strong&gt; LangChain, vLLM, Triton, Hugging Face&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Use Case:&lt;/strong&gt;&lt;br&gt;
A virtual assistant powered by GPT-4 that provides customer support by pulling data from internal documentation. &lt;/p&gt;

&lt;h3&gt;
  
  
  3. What is Agent Ops?
&lt;/h3&gt;

&lt;p&gt;Agent Ops is an emerging practice focused on managing AI agents - autonomous systems that make decisions, interact with APIs, and perform multi-step tasks. These agents often combine LLMs with advanced logic and memory to solve complex problems.&lt;/p&gt;

&lt;p&gt;🎯 &lt;strong&gt;Key Focus Areas:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Designing multi-agent workflows with goal-driven behavior&lt;/li&gt;
&lt;li&gt;Managing dynamic API interactions and tool integration&lt;/li&gt;
&lt;li&gt;Implementing planning, memory, and context awareness&lt;/li&gt;
&lt;li&gt;Ensuring security, scalability, and performance in agent ecosystems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Popular Tools:&lt;/strong&gt; LangChain (for agent frameworks), AutoGen, CrewAI&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example Use Case:&lt;/strong&gt;&lt;br&gt;
An AI-powered research assistant that autonomously searches the web, synthesizes key points, and generates detailed reports.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Differences and Overlaps
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Aspect&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;ML Ops&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;LLM Ops&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Agent Ops&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Focus&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ML model lifecycle management&lt;/td&gt;
&lt;td&gt;Deploying and optimizing LLMs&lt;/td&gt;
&lt;td&gt;Managing autonomous agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Complexity&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Higher (data + models)&lt;/td&gt;
&lt;td&gt;Higher (model size + context)&lt;/td&gt;
&lt;td&gt;Complex (multi-agent logic)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Key Challenge&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Model drift, data pipelines&lt;/td&gt;
&lt;td&gt;Costly inference, prompt tuning&lt;/td&gt;
&lt;td&gt;Workflow orchestration and decision-making&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Automation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Automated training and deployment&lt;/td&gt;
&lt;td&gt;Prompt engineering, RAG systems&lt;/td&gt;
&lt;td&gt;Self-healing workflows with dynamic logic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Infrastructure&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;GPUs, cloud ML platforms&lt;/td&gt;
&lt;td&gt;GPUs, TPUs, vector stores&lt;/td&gt;
&lt;td&gt;Multi-agent frameworks and external APIs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  🤔 How These Disciplines Complement Each Other?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ML Ops ensures robust data pipelines, model monitoring, and retraining strategies.&lt;/li&gt;
&lt;li&gt;LLM Ops builds on ML Ops principles while adding prompt engineering, vector search, and inference optimization.&lt;/li&gt;
&lt;li&gt;Agent Ops integrates both, often leveraging ML models and LLMs for goal-driven autonomous systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For instance, deploying a sophisticated AI assistant may require ML Ops for data pipelines, LLM Ops for language model tuning, and Agent Ops for multi-agent orchestration.&lt;/p&gt;

&lt;h3&gt;
  
  
  🤔  Which One Should You Focus On?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If your focus is predictive analytics or ML models, prioritize ML Ops.&lt;/li&gt;
&lt;li&gt;If you're developing chatbots, AI content tools, or RAG (Retrieval-Augmented Generation) systems, dive into LLM Ops.&lt;/li&gt;
&lt;li&gt;If your goal is to create autonomous agents that execute tasks and make decisions, explore Agent Ops.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Conclusion
&lt;/h2&gt;

&lt;p&gt;As AI systems grow more complex, understanding the nuances of ML Ops, LLM Ops, and Agent Ops is crucial for building scalable, reliable, and efficient solutions. By combining the right practices, teams can unlock the full potential of their AI systems and deliver impactful solutions to users.&lt;/p&gt;

&lt;p&gt;🌟 &lt;strong&gt;Connect With Me:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;💼 linkedin: &lt;a href="https://www.linkedin.com/in/sharvari2706/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/sharvari2706/&lt;/a&gt;&lt;br&gt;
📧 mail: &lt;a href="mailto:sharuraut7official@gmail.com"&gt;sharuraut7official@gmail.com&lt;/a&gt;&lt;br&gt;
💙 twitter: &lt;a href="https://x.com/aree_yarr_sharu" rel="noopener noreferrer"&gt;https://x.com/aree_yarr_sharu&lt;/a&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>ops</category>
      <category>mlops</category>
      <category>aiops</category>
    </item>
  </channel>
</rss>
