Jason Haley

Ramblings from an Independent Consultant

Demo Review: Chat Copilot

Demo Review: Chat Copilot This is the fifth C# demo in The RAG Demo Chronicles (Blog Series) and has the most extensive use of Semantic Kernel out of all the demos I’ve reviewed. The use of Retrieval Augmented Generation (RAG) is different with this project than the other demos I’ve reviewed - mainly because RAG is just one of its features. With this demo, I also took the time to configure the optional authentication so I could play with the MS Graph plugin … and WOW! Just adding the web searcher and MS Graph plugin really make this a powerful demo app. It gives me a lot of ideas for my own projects. Demo Details Item of Interest As of 6/9/2024 Number of Contributors: 45 Date repo created: 4/2/2023 Update within last month: Yes Link to documentation: Microsoft Learn Page …

Demo Review: Azure Vector Search AI Assistant

Demo Review: Azure Vector Search AI Assistant This is the fourth C# demo in The RAG Demo Chronicles (Blog Series) and is the first demo so far that saves its history to a database. This Retrieval Augmented Generation (RAG) demo is a little different than the last three because it primarily uses data from a database as the content to search instead of documents. It also uses Semantic Kernel more than other demos have, which is neat to see too. This demo has me thinking about the many times in my career when executives or product managers have wanted a tool easy enough to use to create their own reports. Certainly, gets the ideas flowing! Demo Details NOTE: The demo is on the cognitive-search-vector branch Item of Interest As of 2/27/2024 Author: 3 Date created: 5/7/2023 Update within last …

Demo Review: Azure Search OpenAI Demo (Python)

Demo Review: Azure Search OpenAI Demo (Python) This is the last in the family of Azure Search OpenAI demos that I’m covering (I’m not looking at the Java version). I reviewed the C# version and the Javascript/Typescript version earlier this month. Of the three I’m covering, this one seems to be the most active, popular and have the most documentation. At the beginning of this month, the Hack Together: The AI Chat App Hack used this demo at the sample repository, marking it as a solid reference implementation for RAG. NOTE: That event included several RAG themed sessions that were recorded and are available on a youtube playlist. In case you are wondering what the differences are between the demos (besides the language they are written in), here is a feature comparison of …

Demo Review: Azure Search OpenAI Javascript/Typescript

Demo Review: Azure Search OpenAI Javascript/Typescript This is the second in the family of Azure Search OpenAI demos that I’m reviewing. Last week I reviewed the C# version. As you’ll see below, the Javascript version is a bit different. The user interface (UI) functionality is provided by a set of web components that you can add to about any web application (ie. React, Angular, Vue, etc.) - in fact the web application in the demo is written in React. Also the chat communication is written to match the HTTP protocol for AI chat app which means the frontend can communicate with any backend that matches that protocol. In demos #1 and #2 we saw basically the same codebase, but two approaches to the question/answer flow of the system - this demo has three approaches. One of the …

Demo Review: Azure Search OpenAI Demo C#

Demo Review: Azure Search OpenAI Demo C# If you are looking for Retrieval Augmented Generation (RAG) demos that utilize Azure Search and Azure OpenAI (along with several other supporting Azure services), then there is a set of related demos that do just that in GitHub. This family of RAG demos consists of: azure-search-openai-demo-csharp - written in C#. azure-search-openai-demo - written in python. azure-search-openai-javascript - written in javascript/typescript. azure-search-openai-demo-java - written in java. This post is about #1 above, I will cover #2 and #3 in later posts, but I will leave the Java version to someone else to review. Before digging into this family of demos, it is important to note they are not the same functionality ported to different languages. The thing they have …

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 …