8000 GitHub - amantaras/ai-agent-experience: Code and Azure Infrastructure to Experience Agents Utilizing Semantic Kernel
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

amantaras/ai-agent-experience

 
 

Repository files navigation

AI Agents Experience


Application Overview

The AI Agents Experience is a platform for creating, configuring, and extending custom AI agents which can access your apis, MCP tools, or orchestrate multiple agents. The solution utilizes Semantic Kernel to dynamically build agents and plugins based on the configuration the user desires.

Orchestrator Agent Example

Home Page

Home Page

The home page features:

  • Sidebar showing available agents
  • Main content area with a welcome message and sample chat interaction
  • Feature highlights including Natural Conversations, Code Interpreter, File Processing, Custom Tools, Centralized Configuration, and Enterprise Security

Agent Chat Interface

Agent Chat

The Weather Agent interface allows users to:

  • Interact with the agent through natural language
  • Ask weather-related questions (e.g., "What is the current weather in Orlando, FL?")
  • View agent capabilities and model information

Visualize Data Using Rich HTML, Javascript, and CSS

Agent Chat

Settings & Configuration

Agent Settings

The settings page provides:

  • General configuration options (website name, agent visibility)
  • Model management for configuring AI models
  • Agent management for creating, editing, and deleting agents
  • Authentication settings

Orchestrate Multiple Agents

Agent Settings

Deployment

Requirements

  1. Azure Developer CLI

  2. Create an Azure Resource Group for this project (In the portal or CLI).

    # Create a new resource group (eastus2, preferred)
    az group create --name aiagents-rg --location eastus2
  3. Initialize the Azure Developer CLI

    # locally, if you cloned the repo
    azd init 
    
    # or
    
    # will clone the repo for you
    azd init --template adamhockemeyer/ai-agent-experience 
    
    # Environment name: dev
    
    # Location: East US 2*
    
    # * For best AI Model compatibility (otherwise, edit the `main.parameters.json` file, and specify models that support the region you wish to deploy to)
    
  4. Authenticate Azure Developer CLI

    azd auth login [--tenant-id]
  5. Run the following command to build, deploy & configure the sample

    azd up

Notes

Work in progress features

  • File Upload
  • Code interpreter (infra is done)
  • Remote MCP Server (STIO currently implemented)
  • Add AI Search Example

Appendix


--reload Flag for MCP on Windows

The --reload flag seems to cause issues on Windows when trying to run MCP plugins. Remove the flag.

Remove --reload flag, for FastAPI

App Configuration Limits

Azure App Configuration (we use it to store configuration data for the agents), as a 10KB limit for the value of a key. If you are trying to store a very large system prompt (i.e. >8,000 characters or so), its possible you will hit a limit on value being saved. Ideally break down agents into smaller units of work, and keep their prompts focused. If it is still an issue, you would need to consider storing the prompts elsewhere (hardcoded in code, or CosmosDB, or file for example).

Assigning Data Permissions for Cosmos DB

To assign data permissions for Azure Cosmos DB to a principal ID, follow these steps:

  1. Create a Role Definition: Use the Azure CLI to create a custom role definition for your Cosmos DB account. This role will define the permissions needed for accessing data.

  2. Assign the Role to a Principal: Use the az cosmosdb sql role assignment create command to assign the role to a principal ID. Replace with the Object ID of the principal and with the ID of the role definition.

az cosmosdb sql role assignment create --resource-group "apichat-rg" --account-name "***" --role-definition-id "/subscriptions/******/resourceGroups/apichat-rg/providers/Microsoft.DocumentDB/databaseAccounts/******/sqlRoleDefinitions/00000000-0000-0000-0000-000000000002" --principal-id "******" --scope "/subscriptions/******/resourceGroups/apichat-rg/providers/Microsoft.DocumentDB/databaseAccounts/******"
  1. Validate Access: Ensure that the principal has the correct access by testing with application code using the Azure SDK.

For more detailed instructions, refer to the official documentation.

About

Code and Azure Infrastructure to Experience Agents Utilizing Semantic Kernel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 57.0%
  • Python 25.9%
  • Bicep 13.9%
  • PowerShell 0.9%
  • CSS 0.9%
  • Shell 0.8%
  • Other 0.6%
0