Skip to content

Commit b765b51

Browse files
author
Heena Ugale
committed
getting new remote structure
2 parents 321112d + 54a0ab7 commit b765b51

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+4914
-37
lines changed

.vscode/extensions.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"recommendations": [
3+
"ms-azuretools.vscode-azurefunctions",
4+
"ms-python.python"
5+
]
6+
}

.vscode/settings.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
{
3+
"azureFunctions.deploySubpath": "scenarios\\incubations\\copilot\\realtime_streaming\\azurefunc",
4+
"azureFunctions.scmDoBuildDuringDeployment": true,
5+
"azureFunctions.projectLanguage": "Python",
6+
"azureFunctions.projectRuntime": "~4",
7+
"debug.internalConsoleOptions": "neverOpen",
8+
"azureFunctions.projectSubpath": "scenarios\\incubations\\copilot\\realtime_streaming\\azurefunc"
9+
}

.vscode/tasks.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"type": "func",
6+
"label": "func: host start",
7+
"command": "host start",
8+
"problemMatcher": "$func-python-watch",
9+
"isBackground": true,
10+
"options": {
11+
"cwd": "${workspaceFolder}/scenarios\\openai_on_custom_dataset\\orchestrator"
12+
}
13+
}
14+
]
15+
}

ARCHITECTURE.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
2+
3+
# System Architecture
4+
![System Architecture Diagram](media/system_architecture.png)
5+
6+
This document outlines the architecture for the Microsoft AI Agentic Workshop platform. The architecture is modular and designed to support a wide variety of agent design patterns, allowing you to focus on agent implementation and experimentation without changing the core infrastructure.
7+
8+
---
9+
10+
## High-Level Overview
11+
12+
The system comprises **four primary layers**:
13+
14+
1. **Front End**: User-facing chat interface.
15+
2. **Backend**: Orchestrates conversation flow, session state, and acts as a bridge between the front end and agent logic.
16+
3. **Agent Service Layer**: Loads, instantiates, and operates agent implementations (e.g., single-agent, multi-agent, multi-domain patterns).
17+
4. **Model Context Protocol (MCP) API Server**: Exposes structured business operations and tools via API endpoints for agent use.
18+
19+
Supporting databases include:
20+
21+
- **SQL Database**: Contains core business/transactional data (customers, subscriptions, invoices, etc.).
22+
- **Vector Database**: Enables semantic (embedding-based) retrieval over internal knowledge/documents.
23+
24+
---
25+
26+
## Component Breakdown
27+
28+
### 1. Frontend
29+
30+
- **Technology**: Streamlit (Python)
31+
- **Functionality**:
32+
- Presents an interactive chat interface.
33+
- Maintains a unique, persistent session for each user.
34+
- Displays real-time chat history.
35+
- Communicates with the backend using HTTP endpoints for prompt submission, response retrieval, and session management (reset/new conversations).
36+
37+
### 2. Backend
38+
39+
- **Technology**: FastAPI (asynchronous Python)
40+
- **Responsibilities**:
41+
- Exposes HTTP API endpoints for frontend communication.
42+
- Manages sessions and conversation history in memory.
43+
- Connects inbound user requests with the appropriate agent instance in the Agent Service layer.
44+
- Forwards tool/API calls requested by agents to the MCP API server.
45+
- **Endpoints**:
46+
- `/chat`: Processes chat requests and returns agent responses.
47+
- `/reset_session`: Clears session memory and context state.
48+
- `/history/{session_id}`: Fetches conversation history.
49+
- **Session Store**: Tracks session state and chat history (in-memory; pluggable for persistent storage).
50+
51+
### 3. Agent Service Layer
52+
53+
- **Design**: Pluggable and modular—enables selecting and loading different agent design patterns:
54+
- **Intelligent Single Agent**: One agent using tools to handle requests end-to-end.
55+
- **Multi-Domain Agent**: Coordinator agent routes requests to specialist agents (e.g., CRM, Billing, Security).
56+
- **Collaborative Multi-Agent System**: Planning/analysis agent orchestrates multiple domain experts.
57+
- **Capabilities**:
58+
- Tool usage via structured API calls to MCP endpoints.
59+
- Augmented responses using Retrieval-Augmented Generation (RAG) with the vector knowledge base.
60+
- Maintains both short-term (session) and, optionally, shared or long-term memory for multi-step reasoning.
61+
- **Implementation**:
62+
- Built using Semantic Kernel, autogen, or Azure Agent-Service frameworks for agent planning, orchestration, and tool connectivity.
63+
- Easily configured and swapped by changing agent module imports and startup parameters.
64+
65+
### 4. Model Context Protocol (MCP) API Server
66+
67+
- **Technology**: FastAPI/asyncio, JSON schema validation with Pydantic.
68+
- **Purpose**: Simulates realistic enterprise APIs, exposing business and operational data through agent-friendly, structured APIs.
69+
- **Key Endpoint Categories**:
70+
- Customer/account lookup
71+
- Subscription, invoice, and payment management
72+
- Data usage reporting
73+
- Product and promotion queries
74+
- Support ticket management
75+
- Security log review and account unlock
76+
- Semantic search over the knowledge base
77+
- **Endpoint Examples**:
78+
- `get_all_customers`, `get_customer_detail`
79+
- `get_subscription_detail`, `get_invoice_payments`, `pay_invoice`
80+
- `get_data_usage`, `get_promotions`, `get_eligible_promotions`
81+
- `search_knowledge_base`
82+
- `get_security_logs`, `unlock_account`
83+
- `get_customer_orders`, `get_support_tickets`, `create_support_ticket`
84+
- `get_products`, `get_product_detail`, `update_subscription`
85+
- `get_billing_summary`
86+
- **Characteristics**:
87+
- Pydantic-model-validated requests and responses for reliable tool invocation.
88+
- Serves as the central integration point for all structured data and knowledge base access.
89+
90+
---
91+
92+
## Databases
93+
94+
- **SQL Database**: Stores structured business data, such as customer profiles, subscriptions, invoices, and order histories.
95+
- **Vector Database**: Stores embedding-based representations of knowledge documents and internal policies, enabling fast and relevant retrieval during RAG operations by agents.
96+
97+
---
98+
99+
## Summary
100+
101+
This four-layer architecture ensures clear separation of concerns across user interaction, backend orchestration, agent intelligence, and enterprise data access. The platform makes it easy to experiment with a wide range of agent frameworks and design patterns, supporting robust, enterprise-grade agentic solutions without the need to modify underlying infrastructure.

DATA.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Data
22

3-
### 1. Data Generation (`data/`)
3+
### 1. Data Generation ([agentic_ai/backend_services/data)](agentic_ai/backend_services/data))
44

55
- **create_db.py**
66
Generates the entire customer, subscription, billing, and usage database (`contoso.db`) with:

README.md

Lines changed: 64 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,66 @@
1-
![alt text](image-1.png)
1+
![alt text](media/image-1.png)
22
# Microsoft AI Agentic Workshop Repository
33

4-
This repository has materials for latest AI Agentic Workshop from Microsoft.
5-
6-
# Repository includes
7-
1. Business scenario - **SCENARIO.md**
8-
2. Step-by-step instructions - **SETUP.md**
9-
3. Agent implementations - **agents** folder
10-
4. Documentation on agent implementations - **AGENT_DOC.md**
11-
5. Agent Design Patterns reference - **AGENT_PATTERNS.md**
12-
6. Common framework all agents in this workshop use - **FRAMEWORK.md**
13-
7. Back-end server and APIs - **applications** folder
14-
8. Front-end app - **applications** folder
15-
9. Common toolset in an MCP server - see **run** folder
16-
10. Data files - **data** folder
17-
18-
# Users can
19-
1. Design and prototype agent solutions
20-
2. Compare single vs multi-agent implementations
21-
3. Develop and compare agents using different platforms
22-
- Azure AI Agent Service
23-
- Semantic Kernel
24-
- Autogen
25-
26-
# Features
27-
- **Latest Azure OpenAI GPT models** (configurable, e.g. GPT-4.1, GPT-4o) as LLM backend
28-
- **MCP Server tool** integration for enhanced agent capabilities
29-
- **Flexible agent architecture**:
30-
- Single agent, multi-agent, or reflection agent (agent module is selectable via `.env`)
31-
- Agents can self-loop, collaborate, reflect, or select roles as coded in agent modules
32-
- **Session-based chat** with persistable conversation history
33-
- **FastAPI backend** with REST endpoints for chat/reset/history
34-
- **Modern Streamlit web frontend** for real-time chat, session reset, and history viewing
35-
- **Environment-based configuration** via `.env`
4+
Welcome to the official repository for the Microsoft AI Agentic Workshop! This repository provides all the resources, code, and documentation you need to explore, prototype, and compare various agent-based AI solutions using Microsoft's leading AI technologies.
5+
6+
---
7+
8+
## Quick Links
9+
10+
- [Business Scenario and Agent Design](./SCENARIO.md)
11+
- [Getting Started (Setup Instructions)](./SETUP.md)
12+
- [System Architecture Overview](./ARCHITECTURE.md)
13+
- [Data Sets](./DATA.md)
14+
- [Code of Conduct](./CODE_OF_CONDUCT.md)
15+
- [Security Guidelines](./SECURITY.md)
16+
- [Support](./SUPPORT.md)
17+
- [License](./LICENSE)
18+
19+
---
20+
21+
## What You Can Do With This Workshop
22+
23+
- **Design and prototype agent solutions** for real-world business scenarios.
24+
- **Compare single-agent vs. multi-agent** architectures and approaches.
25+
- **Develop and contrast agent implementations** using different platforms:
26+
- Azure AI Agent Service
27+
- Semantic Kernel
28+
- Autogen
29+
30+
---
31+
32+
## Key Features
33+
34+
- **Configurable LLM Backend:** Use the latest Azure OpenAI GPT models (e.g., GPT-4.1, GPT-4o).
35+
- **MCP Server Integration:** Advanced tools to enhance agent orchestration and capabilities.
36+
- **Flexible Agent Architecture:**
37+
- Supports single-agent, multi-agent, or reflection-based agents (selectable via `.env`).
38+
- Agents can self-loop, collaborate, reflect, or take on dynamic roles as defined in modules.
39+
- **Session-Based Chat:** Persistent conversation history for each session.
40+
- **Full-Stack Application:**
41+
- FastAPI backend with RESTful endpoints (chat, reset, history, etc.).
42+
- Streamlit frontend for real-time chat, session management, and history viewing.
43+
- **Environment-Based Configuration:** Easily configure the system using `.env` files.
44+
45+
---
46+
47+
## Getting Started
48+
49+
1. Review the [Setup Instructions](./SETUP.md) for environment prerequisites and step-by-step installation.
50+
2. Explore the [Business Scenario and Agent Design](./SCENARIO.md) to understand the workshop challenge.
51+
3. Dive into [System Architecture](./ARCHITECTURE.md) before building and customizing your agent solutions.
52+
4. Utilize the [Support Guide](./SUPPORT.md) for troubleshooting and assistance.
53+
54+
---
55+
56+
## Contributing
57+
58+
Please review our [Code of Conduct](./CODE_OF_CONDUCT.md) and [Security Guidelines](./SECURITY.md) before contributing.
59+
60+
---
61+
62+
## License
63+
64+
This project is licensed under the terms described in the [LICENSE](./LICENSE) file.
65+
66+
---

SCENARIO.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
![alt text](image-1.png)
2-
# Microsoft AI Agentic Workshop Business Scenario and Suggested Queries
1+
![alt text](media/image-1.png)
2+
# Microsoft AI Agentic Workshop Business Scenario
33

44
This document describes the business scenario for this AI Agentic Workshop from Microsoft.
55
There are customer query suggestions below for queries to use with your agents to check and evaluate their responses
@@ -231,4 +231,4 @@ Critically, **all functional specialist agents** independently utilize the organ
231231

232232

233233

234-
### [Checkout the challenges document for more scenarios](backend_services/data/customer_scenarios.md)
234+
### [Checkout the challenge document for more scenarios](agentic_ai/backend_services/data/customer_scenarios.md)

0 commit comments

Comments
 (0)