Posts

Showing posts with the label ai

A .NET Agent Orchestration Framework - The Orchestrator

Image
Introduction This is part two of my series on the agent orchestration framework I'm building in .NET. You really should read the first part, Introduction , before this one, so if you haven't already, take the time to do so now! In this post I'm going to talk about the orchestrator, the central piece of the framework. I'm going to describe its contract and how we should use it. Some related parts will be covered in other posts. The IOrchestrator Interface The orchestrator is main part of the framework, as I said before. It is the one that coordinates - with some assistance - the different agents, distributes the work to be done, enforces reviews and revision processes, then gathers all responses and summarises them. The interface that describes the orchestrator is IOrchestrator  (surprise, surprise), and this is what it looks like: public interface IOrchestrator : IDisposable { event EventHandler<OrchestrationEventArgs>? OrchestrationStarting; event E...

A .NET Agent Orchestration Framework - Introduction

Image
Introduction In this new series of posts I will talk about a multi-agent orchestration framework that I've been developing in the last few months. This framework (name yet to be defined) is provider and model-agnostic and the responsibility to connect to the models of choice is outside its scope; anything works as long as it has a Microsoft.Extensions.AI wrapper. As with most of the code I write, it is being developed in .NET and this post explains some of the core concepts and technologies used to build it; I will expand on each concept (the orchestrator, the agents, the training, the knowledge management, etc) in subsequent posts. I also plan to eventually make the code available in GitHub and NuGet. This is somewhat linked to my PhD research , but I won't get too academic here (I am not!), this is essentially a proof of concept that seems to work, and something I'm having fun with! The posts in the series I plan to write are, as of now: Introduction (this one) Orchestra...

AI and LLMs in .NET Index

These are the posts in the series: Generating Structured Code Using Azure, OpenAI and .NET Using LLMs and MCP in .NET A .NET Agent Orchestration Framework - Introduction A .NET Agent Orchestration Framework - The Orchestrator

Using LLMs and MCP in .NET

Introduction This post picks up where this one left. It will be my second post on using LLMs, and AI, in general. This time I'm going to cover integrating MCP tools with the LLM's response. MCP stands for Model Context Protocol , and it is an open standard . In a nutshell, it is a protocol designed to help LLMs communicating with the real world, for example, accessing a database, getting real-time weather information for a specific location, creating a ticket in some system, sending out an email, etc. We need an MCP host and some tools registered with it. There are many ways by which LLMs can communicate with the MCP host, always using JSON-RPC 2.0 for messaging: Standard input/output, if running on the same machine HTTP calls Streams, mainly for the same machine Custom-defined Now, I won't go through all of them now, I'll just pick HTTP transport, as it's probably the most usual one. Also, I will be using the  OpenAI  API. Essentially, we registe...