IBM's Azure Foundry Enterprise Kit

User Guide

Overview

This guide covers day-to-day operations for teams working with the Azure Foundry Enterprise Kit — from creating agents on Azure AI Foundry Agent Service to monitoring via Azure Monitor and managing lifecycle through the Foundry Control Plane.

Creating an Agent

  1. Choose a blueprint from agent-templates/ that matches your use case
  2. Copy and customize the agent manifest
  3. Configure system prompts in the prompts/ directory
  4. Set up toolbox config in toolbox-configs/
  5. Run initial evaluation
  6. Deploy via SDK client or CI/CD pipeline

Using the Python SDK

The Python SDK wraps the azure-ai-projects SDK 2.0 (AIProjectClient) with agent manifest resolution and Foundry Toolbox integration:

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential

# Initialize Azure AI Foundry client
client = AIProjectClient(
    endpoint="https://your-project.services.ai.azure.com",
    credential=DefaultAzureCredential()
)

# Create agent with Foundry Agent Service
agent = client.agents.create_agent(
    model="gpt-4o",
    name="knowledge-agent",
    instructions=open("prompts/system-prompt.md").read(),
    tools=[{"type": "azure_ai_search", "connection": "ai-search-connection"}]
)

# Create thread and run
thread = client.agents.create_thread()
client.agents.create_message(thread.id, role="user", content="What is our refund policy?")
run = client.agents.create_and_process_run(thread.id, agent_id=agent.id)

Using the TypeScript SDK

The TypeScript SDK uses the @azure/ai-projects package for Azure AI Foundry integration with Entra ID authentication:

import AIProjectClient from '@azure/ai-projects';
import { DefaultAzureCredential } from '@azure/identity';

const client = new AIProjectClient(
  'https://your-project.services.ai.azure.com',
  new DefaultAzureCredential()
);

const agent = await client.agents.createAgent({
  model: 'gpt-4o',
  name: 'knowledge-agent',
  instructions: 'You are a knowledge retrieval agent...',
  tools: [{ type: 'azure_ai_search', connection: 'ai-search-connection' }]
});

const thread = await client.agents.createThread();
await client.agents.createMessage(thread.id, { role: 'user', content: 'What are the top 5 support tickets this week?' });
const run = await client.agents.createAndProcessRun(thread.id, { agentId: agent.id });

Monitoring Agents (Azure Monitor)

Agent telemetry flows through the OpenTelemetry SDK to Azure Application Insights via the azure-monitor-opentelemetry exporter, with structured fields defined in the Telemetry Schema. Use the pre-built KQL queries in observability/kql/ and the Azure Monitor Workbook for:

  • Agent response latency (P50, P95, P99)
  • Tool call success/failure rates
  • Token consumption by agent and model
  • Policy violation frequency
  • Trust score trends over time

Agent Lifecycle

PhaseActions
CreateDefine manifest, configure tools, write prompts
EvaluateRun eval packs, verify trust score meets threshold
DeployProvision via Azure Bicep, deploy as Foundry Agent Application (ARM)
MonitorTrack via Azure Monitor + App Insights, run continuous evals
PromoteCertification pipeline gates: sandbox → staging → production
UpdateVersion bump, re-evaluate, promote through environments
DecommissionDisable agent, archive decision ledger, purge memory

Troubleshooting

  • Agent not responding — Check Azure AI Foundry project endpoint and model deployment status in the Azure Portal
  • Tool calls failing — Verify Foundry Toolbox MCP adapter health, check Azure Key Vault access and Redis token cache
  • Low trust scores — Review eval results in Azure Cosmos DB, check groundedness and policy compliance
  • Policy violations — Inspect Decision Ledger via Cosmos DB queries, review Foundry Control Plane audit logs
  • Guardrail triggers — Check Azure AI Content Safety logs, adjust severity thresholds in guardrails config