Jason Haley

Ramblings from an Independent Consultant

Demo Review: Simple RAG using SQL Server, OpenAI and Function Calling

Demo Review: Simple RAG using Blazor, SQL Server, Azure OpenAI and Function Calling If you are like me, a full stack C# developer who is attempting to get up to speed on how GenAI technologies are going to show up in our business applictions - then after you get the first demo up and running, this demo (also by Michael Washington) is a great next step. RAG (Retrieval Augmented Generation) applications typically have the following steps: Gather input from the user (Retrieval) Use the user’s input to do a query over data or documents (ofen using vector embeddings) and gather N number of the best results from that search then pass to an LLM as context to use in crafting a response for the user (Generation) Return the natual language result from the LLM describing its search result …

Demo Review: Simple RAG using SQL Server and OpenAI

Demo Review: Simple RAG using Blazor, SQL Server and Azure OpenAI Are you a full stack C# developer attempting to get up to speed on all this GenAI stuff? Are you typically a relational database developer (ie. SQL Server) wondering what all the hoopla is around vector databases and more importantly how all this stuff relates to some type of functionaly that you have a chance at really using in your day-to-day work? Oh and you probably have not had time to dig into this pattern named Retrieval Augmented Generation (RAG) due to being too busy implementing web application or service code. If so, then fear not! This demo is a fantastic place for you to start. It uses your skillset to get a RAG application up and running without introducing too many things outside of what you already know …

RAG Demo Chronicles

Introducing: The RAG Demo Chronicles (Blog Series) In my last blog entry I mentioned how I’ve been spending a lot of time learning AI related topics lately. Recently the newest research topic is RAG (Retrieval Augmented Generation). The more I learn about RAG, the more I am convinced it is how my clients will be able to take advantage of GenAI in the short term. For those of you who are not familiar with the topic, you may have heard a presentation or blog focusing on “How to Chat with Your Documents” or something along those lines - these are usually about RAG. The idea is an application that is like ChatGPT but only looks at your data and documents. As I learn more, I am playing with a lot of demo code - and I want to capture the different characteristics and features …

(Personal Update) Learning AI

This is the first of many blog posts I plan to make this year, stay tuned (please subscribe) for more soon. Learning AI Currently I am working my way through the four stages of competence with the topic of AI. This quarter (Q1 of 2024), I’m currently working on moving from stage 2 to stage 3 in the four stages of competence. For reference, those stages are: Unconscious incompetence Conscious incompetence Conscious competence Unconscious competence Last year I moved from stage 1 to stage 2: In the beginning of last year (2023) I had my head buried in the sand while all the other leaders in my industry were actively learning how to use the latest and greatest AI tool (ChatGPT). Around the middle of the year when Microsoft started making their Github Copilot more available and more …

Azure VPN Client Using Point-to-Site to Connect to Azure SQL Database

Connect to Azure using Point-to-Site VPN to Connect to Azure SQL Database This past week a client of mine gave me a challenge: Configure an environment that meets the following criteria Remove the need to manage IP addresses for SQL Azure Use a hub and spoke VNET configuration Connect to Azure using a VPN - using Azure Active Directory (AAD) authentication would be a bonus Connect to SQL Azure using AAD authentication Originally, I thought this would be quick and simple … turns out it isn’t. After doing some searching online, I found many people trying to solve similiar challenges. Here are some recent posts I found in Microsoft Learn: Azure SQL Access Through VPN Connecting to an Azure SQL server with a P2S VPN connection Using Private Endpoints in Conjuction with a Virtual …

Quickstart: Deploy an existing container image to Container Apps using Bicep

Like my last post (Quickstart: Container Apps using Bicep), this post is a supplement to the existing Azure Container Apps docs and provides a Bicep walkthrough to getting started. Quickstart: Deploy an existing container image to Container Apps using Bicep Azure Container Apps is a serverless platform to run and orchestrate your container applications. In this quickstart, you’ll use Bicep to create a Container Apps environment with an existing container image stored in an Azure Container Registry. If you have not used Bicep yet or want to learn more about what it can do, I recommend going through the Fundamentals of Bicep learning path to get you started. Prerequisites An Azure account with an active subscription. If you don’t have one, you can create one for free. Azure CLI …

Quickstart: Container Apps using Bicep

This quickstart is a supplement to the existing Azure Container Apps docs and provides a Bicep walkthrough to getting started. Quickstart: Deploy you first container app using Bicep Azure Container Apps is a serverless platform to run and orchestrate your container applications. In this quickstart, you’ll use Bicep to create a Container Apps environment with the helloworld sample container image. If you have not used Bicep yet or want to learn more about what it can do, I recommend going through the Fundamentals of Bicep learning path to get you started. Prerequisites An Azure account with an active subscription. If you don’t have one, you can create one for free. Azure CLI Bicep tools Setup First you’ll need to sign in to Azure using the CLI (I typically use the device …

How to set environment variables in a Container App using the Azure CLI

Last month when I presented on Azure Container Apps, I was asked “How would you set an environment variable?”. Since it isn’t currently surfaced in the Azure Portal, I wasn’t sure. Container Apps is still in preview and right now the best way to access the largest amount of features is by using ARM or Bicep … but since it is new a lot of people start with the Portal or the Azure CLI to explore. In this short post, I want to capture how I should have answered the question during my demo. How can I pass environment variables to a Container App? If you look through the documentation, you can find an exmple of environment variables being set in the Manage Secrets Example page. In that example they are focusing on secrets, but since secrets get surfaced in the …

How to rollback a Container App revision using the Azure CLI

Earlier this month I posted How to rollback a Container App revision which focused on using the Azure Portal UI. In this entry I want to go over the same demo scenario using the Azure CLI. Prerequisites for this walkthrough are to follow the steps in the Quickstart first: Deploy your first container app (Azure CLI), and insert the following steps before the last Clean up resources step. Rollback a container app revision using the Azure CLI At this point you’ve created the Container App and verified the deployment in the browser, now let’s look at the list of revisions using the containerapp revision list command. In order to get a list of revisions that shows the same Name, Date Created, Provision Status, Traffic and Active columns shown in the portal, run the folllowing …

How to rollback a Container App revision

Last week I presented “A look at Azure Container Apps” to our local Azure user group. I was my first time presenting the topic and I’ll just say it wasn’t my best presentation (believe me - I’ve watched the whole recording). But anyway … during one of the demos a question came up about if it was easy to rollback a revision. I attempted to do perform a demo of how to do it, but the demo gods were not helping me last Thursday night. Today at lunch I tried it again, and of course it worked fine. This is a walkthrough of how it should have worked last week. Prerequisite for this walkthrough is to follow the steps in the Deploy your first container app (Azure Portal), but insert the following steps before the last Clean up resources step. Rollback a …