Azure AI Services: Real-World Examples and Decision Criteria

Let’s take a deeper dive into how you might choose between Azure Cognitive Services, Azure Machine Learning, and Azure Bot Services in real-world business scenarios. 1. Azure Cognitive Services When to Use It Quick Integration & Out-of-the-Box Capabilities: If your business needs an immediate boost by incorporating AI into existing applications without building models from scratch, Cognitive Services fit the bill perfectly. They offer pre-trained APIs for vision (image recognition, OCR), speech (speech-to-text, text-to-speech), language (sentiment analysis, translation), and decision making (personalizers, anomaly detectors). ...

May 5, 2025 · 5 min · tc

Building a Local RAG System: My Journey and How You Can Too

My Story: Why I Built a Local RAG System A few months ago, I found myself frustrated with the limitations and privacy concerns of cloud-based AI tools. I wanted to experiment with Retrieval-Augmented Generation (RAG) on my own terms—locally, with full control over my data and the ability to tinker under the hood. As a developer who loves open source, C#, and learning by doing, I decided to build my own local RAG system from scratch. ...

May 5, 2025 · 4 min · Taner

Building an MCP Server: Contracts and Use Cases for AI-Driven Code Quality, Documentation, and Dependency Management

Introduction The Model Context Protocol (MCP) is an emerging standard for integrating AI-driven tools into software development workflows. In this post, I’ll share how you can design contracts for an MCP server to automate code quality checks, generate API documentation, and manage dependencies—all with practical C# examples. 1. Code Quality Checker MCP Server Purpose: Integrate with static analysis tools (like SonarQube or ESLint) to automate code reviews, enforce style guidelines, and generate actionable reports. ...

May 5, 2025 · 3 min · TC

Choosing the Right Embedding Model for Your RAG Application

When building a Retrieval-Augmented Generation (RAG) application, selecting the right embedding model is crucial. After researching various models, I’ve summarized the key differences and use cases for two popular options: nomic-embed-text and all-minilm. Let’s dive in! Key Differences Between Nomic-embed-text and All-MiniLM 1. Architecture Nomic-embed-text: Optimized for handling large token context windows, making it suitable for both short and long text embeddings. All-MiniLM: Based on the MiniLM architecture, designed for sentence-level embeddings using self-supervised contrastive learning. 2. Performance Nomic-embed-text: Excels in semantic similarity tasks and produces high-quality embeddings for detailed documents. All-MiniLM: Offers faster inference speeds and is lightweight, making it ideal for real-time applications. 3. Use Cases Nomic-embed-text: Versatile and handles diverse text lengths, making it suitable for tasks like semantic search and clustering. All-MiniLM: Best for sentence-level tasks, such as paraphrase detection and short text similarity. Nomic-embed-text Use Cases Since nomic-embed-text is optimized for long text inputs and broad context windows, it’s ideal for applications requiring deep contextual understanding: ...

May 5, 2025 · 3 min · tc

Designing an Event-Driven RAG Application

I’ve been exploring ways to integrate Retrieval-Augmented Generation (RAG) into my website, and I wanted to design a small, event-driven app to learn more about it. My goal was to create something simple yet practical for my site. Below is a Mermaid diagram I created to model the flow of my application. It highlights the main components of an event-driven RAG system, covering content updates, user queries, and background indexing: ...

May 5, 2025 · 3 min · TC

Enhancing Code Quality with MCP and ReSharper CLI

Introduction Recently, I started to learn about Model Context Protocol (MCP) and wrote a small project to use on Visual Studio Code with GitHub Copilot agent. After completing some tutorials, I wanted to create something more useful for my own tasks. I decided to write an MCP server that checks code quality and code coverage using ReSharper CLI, which is free and available with my Visual Studio subscription. This use case is perfect for me as it integrates seamlessly with my development workflow. ...

May 5, 2025 · 3 min · tc

Exploring Quantization Techniques for RAG Applications

Quantization has been on my mind lately as I explore ways to optimize my RAG (Retrieval-Augmented Generation) application. With so many options available, I wanted to break down the main techniques and share my thoughts on their strengths, trade-offs, and where they might fit best. Let’s dive in! 1. Scalar Quantization What It Is: Scalar quantization simplifies things by treating each component of a vector independently. For example, a 32-bit floating-point value can be mapped down to an 8-bit integer using a defined range and step-width. ...

May 5, 2025 · 4 min · tc

Fine-Tuning vs Retrieval-Augmented Generation (RAG)

When I first started exploring AI, I was eager to use my own data with large language models (LLMs). However, I faced a dilemma: should I fine-tune a model with my data or use Retrieval-Augmented Generation (RAG)? After diving into research, I discovered the strengths and challenges of each approach. Here’s what I learned: Fine-Tuning Fine-tuning involves retraining a pre-trained model on a specific dataset to adapt it to a particular domain or task. For example: ...

May 5, 2025 · 2 min · tc

Integrating Azure AI Services: C# End-to-End Guide

Below is a detailed, step‐by‐step integration guide written entirely in C#. In this scenario, a retail chatbot uses: Azure Cognitive Services (LUIS): to parse customer messages and extract intents and entities. Azure Machine Learning: to call a custom recommendation model that produces personalized product suggestions. Azure Bot Services:—using the Bot Builder SDK for .NET—to drive a conversational interface that ties it all together. Step 1: Define Business Requirements & Architecture Business Use Case: A retail business wants a conversational assistant on its website. When a customer sends a query (e.g., “I’m looking for summer dresses”), the solution should: ...

May 5, 2025 · 6 min · tc

Quantization in RAG Applications

I have been working on my RAG application and when it comes to using my data (although small), I was thinking about performance and size. I decided to check Quantization. Quantization can be a useful technique in my RAG (Retrieval-Augmented Generation) workflow, especially when dealing with high-dimensional embeddings. It essentially reduces the precision of embeddings—compressing them so that the memory footprint is lower and the similarity searches can be faster, all while preserving most of the semantic information. Let’s break down the concept and how I might integrate it into the app: ...

May 5, 2025 · 3 min · tc