<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Artificial Intelligence on Nalar</title>
    <link>https://nalar.dev/artificial-intelligence/</link>
    <description>Recent content in Artificial Intelligence on Nalar</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 01 Sep 2026 00:00:00 +0700</lastBuildDate>
    <atom:link href="https://nalar.dev/artificial-intelligence/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Evaluating RAG Systems with a Small Golden Dataset</title>
      <link>https://nalar.dev/evaluating-rag-with-golden-dataset/</link>
      <pubDate>Tue, 01 Sep 2026 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/evaluating-rag-with-golden-dataset/</guid>
      <description>&lt;p&gt;Retrieval-augmented generation (RAG) is easy to demo and surprisingly hard to evaluate. A fluent answer can hide weak retrieval, while a good retriever can be blamed for an answer model that ignores its evidence.&lt;/p&gt;&#xA;&lt;p&gt;A useful evaluation process separates those failure modes. You do not need thousands of examples to begin. A carefully maintained golden dataset of 30 to 100 representative questions can catch many regressions before users do.&lt;/p&gt;&#xA;&lt;h2 id=&#34;define-what-the-system-is-supposed-to-do&#34;&gt;Define what the system is supposed to do&lt;/h2&gt;&#xA;&lt;p&gt;Start with the product contract rather than a model metric. For a documentation assistant, useful requirements might be:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Validate LLM Output with Structured Contracts</title>
      <link>https://nalar.dev/validate-llm-output-with-structured-contracts/</link>
      <pubDate>Tue, 01 Sep 2026 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/validate-llm-output-with-structured-contracts/</guid>
      <description>&lt;p&gt;Large language models are useful when software needs to turn ambiguous text into a structured decision, extraction, or plan. The dangerous shortcut is to treat a model response as if it were already trusted application data.&lt;/p&gt;&#xA;&lt;p&gt;Even when a provider can constrain output to JSON or a schema, the result can still be semantically wrong: a date can be impossible, an identifier can refer to a nonexistent record, or a supposedly positive amount can be negative. Reliable integrations therefore need a contract boundary between model output and the rest of the system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Version Embeddings for Safe Semantic Search Migrations</title>
      <link>https://nalar.dev/version-embeddings-for-safe-semantic-search/</link>
      <pubDate>Tue, 01 Sep 2026 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/version-embeddings-for-safe-semantic-search/</guid>
      <description>&lt;p&gt;Semantic search systems often look simple from the outside: encode a document, store its vector, encode a query, and compare the vectors. The operational difficulty appears later, when the embedding model changes.&lt;/p&gt;&#xA;&lt;p&gt;Two models can produce vectors with the same dimension and still define completely different coordinate spaces. Mixing vectors from model A with query vectors from model B can silently destroy ranking quality without producing an obvious error.&lt;/p&gt;&#xA;&lt;p&gt;The safe approach is to treat an embedding model as a versioned data dependency, not a drop-in function.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running LLMs on Your Local Computer</title>
      <link>https://nalar.dev/running-llms-on-your-local-computer/</link>
      <pubDate>Sun, 01 Sep 2024 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/running-llms-on-your-local-computer/</guid>
      <description>&lt;p&gt;Have you ever wanted to run a &lt;em&gt;large language model&lt;/em&gt; (LLM) directly on your own computer without depending on a cloud service? Tools such as &lt;strong&gt;Ollama&lt;/strong&gt; make it possible to manage and run language models locally from a laptop or desktop.&lt;/p&gt;&#xA;&lt;p&gt;This article walks through the basic setup and shows how to run a model on Linux and macOS.&lt;/p&gt;&#xA;&lt;h3 id=&#34;installing-ollama-on-linux&#34;&gt;Installing Ollama on Linux&lt;/h3&gt;&#xA;&lt;p&gt;For Linux, the installation process is straightforward:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Object Detection with YOLOv8: Using a Pre-Trained Model on Images</title>
      <link>https://nalar.dev/object-detection-with-yolov8-using-a-pre-trained-model-on-images/</link>
      <pubDate>Sat, 25 May 2024 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/object-detection-with-yolov8-using-a-pre-trained-model-on-images/</guid>
      <description>&lt;p&gt;In this article, we will experiment with YOLOv8 for object detection in images.&#xA;YOLO (&lt;em&gt;You Only Look Once&lt;/em&gt;) is one of the best-known object detection algorithms. YOLOv8 offers fast performance and accurate results. Fortunately, the &lt;code&gt;ultralytics&lt;/code&gt; library makes it straightforward to use.&lt;/p&gt;&#xA;&lt;h3 id=&#34;what-you-need&#34;&gt;What You Need&lt;/h3&gt;&#xA;&lt;p&gt;Before you begin, make sure you have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python&lt;/li&gt;&#xA;&lt;li&gt;The &lt;code&gt;ultralytics&lt;/code&gt; library&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If it is not installed yet, install it with pip:&lt;/p&gt;&#xA;&lt;div &#xA;    x-data=&#34;{&#xA;        code: $el.querySelector(&#39;code&#39;).innerText&#xA;    }&#34;&#xA;    class=&#34;relative my-4 rounded-lg group&#34;&#xA;&gt;&#xA;    &lt;button&#xA;        @click=&#34;navigator.clipboard.writeText(code); $el.innerText = &#39;Copied!&#39;; setTimeout(() =&gt; $el.innerText = &#39;Copy&#39;, 2000)&#34;&#xA;        class=&#34;absolute top-2 right-2 bg-neutral-700 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity&#34;&#xA;    &gt;&#xA;        Copy&#xA;    &lt;/button&gt;&#xA;    &#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install ultralytics&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h3 id=&#34;simple-code-example&#34;&gt;Simple Code Example&lt;/h3&gt;&#xA;&lt;p&gt;Here is a short example that detects objects with YOLOv8:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Practical Guide to SMS Spam Detection with BERT and PyTorch</title>
      <link>https://nalar.dev/practical-guide-to-sms-spam-detection-with-bert-and-pytorch/</link>
      <pubDate>Sat, 25 May 2024 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/practical-guide-to-sms-spam-detection-with-bert-and-pytorch/</guid>
      <description>&lt;p&gt;In this article, we will explore SMS spam detection with BERT.&#xA;BERT (&lt;em&gt;Bidirectional Encoder Representations from Transformers&lt;/em&gt;) is a widely used NLP model architecture that can be adapted to many text tasks, including classification. PyTorch and Hugging Face Transformers provide a convenient way to work with BERT models.&lt;/p&gt;&#xA;&lt;h3 id=&#34;what-you-need&#34;&gt;What You Need&lt;/h3&gt;&#xA;&lt;p&gt;Before you begin, make sure you have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python&lt;/li&gt;&#xA;&lt;li&gt;PyTorch&lt;/li&gt;&#xA;&lt;li&gt;Hugging Face Transformers&lt;/li&gt;&#xA;&lt;li&gt;An SMS dataset, such as the SMS Spam Collection, if you plan to fine-tune a classifier&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Install the required libraries with:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Real-Time Object Detection with YOLOv8 and OpenCV</title>
      <link>https://nalar.dev/real-time-object-detection-with-yolov8-and-opencv/</link>
      <pubDate>Sat, 25 May 2024 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/real-time-object-detection-with-yolov8-and-opencv/</guid>
      <description>&lt;p&gt;YOLO (&lt;em&gt;You Only Look Once&lt;/em&gt;) is one of the most popular object detection approaches. In this article, we will use &lt;strong&gt;YOLOv8&lt;/strong&gt; with &lt;strong&gt;OpenCV&lt;/strong&gt; to perform real-time object detection through a webcam.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;p&gt;Make sure you have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Python 3.8+&lt;/li&gt;&#xA;&lt;li&gt;The &lt;code&gt;ultralytics&lt;/code&gt; library for YOLOv8&lt;/li&gt;&#xA;&lt;li&gt;The &lt;code&gt;opencv-python&lt;/code&gt; library for webcam access&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Install the dependencies with pip:&lt;/p&gt;&#xA;&lt;div &#xA;    x-data=&#34;{&#xA;        code: $el.querySelector(&#39;code&#39;).innerText&#xA;    }&#34;&#xA;    class=&#34;relative my-4 rounded-lg group&#34;&#xA;&gt;&#xA;    &lt;button&#xA;        @click=&#34;navigator.clipboard.writeText(code); $el.innerText = &#39;Copied!&#39;; setTimeout(() =&gt; $el.innerText = &#39;Copy&#39;, 2000)&#34;&#xA;        class=&#34;absolute top-2 right-2 bg-neutral-700 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity&#34;&#xA;    &gt;&#xA;        Copy&#xA;    &lt;/button&gt;&#xA;    &#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install ultralytics opencv-python&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;example-code&#34;&gt;Example Code&lt;/h2&gt;&#xA;&lt;p&gt;The following Python example performs object detection from a webcam stream:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using YOLOv8 for Object Detection with Labels and Confidence Scores</title>
      <link>https://nalar.dev/using-yolov8-for-object-detection-with-labels-and-confidence-scores/</link>
      <pubDate>Sat, 25 May 2024 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/using-yolov8-for-object-detection-with-labels-and-confidence-scores/</guid>
      <description>&lt;p&gt;In this article, we will use YOLOv8 to detect objects in an image and print each object&amp;rsquo;s label and confidence score.&#xA;YOLO (&lt;em&gt;You Only Look Once&lt;/em&gt;) has long been a popular choice for object detection, and YOLOv8 provides a convenient Python API through the &lt;code&gt;ultralytics&lt;/code&gt; package.&lt;/p&gt;&#xA;&lt;p&gt;Here is how to use it.&lt;/p&gt;&#xA;&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h3&gt;&#xA;&lt;p&gt;Make sure Python and the &lt;code&gt;ultralytics&lt;/code&gt; library are installed on your system. If needed, install the package with pip:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
