Content
# Customer Support ChatBot
## 📋 Description
Customer Support ChatBot is a demonstration application that implements an airline customer support chatbot and utilizes Yandex AI Studio services.
### ✨ Key Features
- 💬 Natural dialogue with the AI assistant via ChatKit
- 👤 Automatic loading of customer profiles
- ✈️ Management of bookings and itineraries
- 📋 Real-time history of all actions
- 🎨 Modern adaptive interface with dark theme
### ✨ Technical Capabilities
- 🤖 AI agent based on Yandex AI Studio
- 🔌 MCP (Model Context Protocol) integration
- 📊 Vector search in the knowledge base
- 💾 Persistent storage in YDB Document API
- 🚀 Deployment in Yandex Cloud
## 🏗️ Architecture
The project consists of four independent microservices:
```
┌──────────────────────────┐ ┌─────────────────────────────┐
│ Browser (User) │ │ External Agent / Service │
│ ┌────────────────────┐ │ │ (e.g., another AI) │
│ │ Frontend (React) │ │ └──────────────┬──────────────┘
│ │ + OpenAI ChatKit │ │ │
│ └────┬───────────┬───┘ │ │ A2A Protocol
└───────┼───────────┼──────┘ │ (HTTPS)
│ HTTPS │ │
│ │ HTTPS (profiles) │
▼ │ ▼
┌────────────────┐ │ ┌──────────────────┐
│ ChatKit Agent │ │ │ A2A Agent │
├────────────────┤ │ ├──────────────────┤
│• ChatKit Server│ │ │ • A2A Server │
│• AI Agent │ │ │ • AI Agent │
│• YDB Store │ │ │ • Task Store │
│• MCP Client │ │ │ • MCP Client │
└────────┬───────┘ │ └────────┬─────────┘
│ │ │
│ │ │
└──────────┼──────────┬───────────────────────┘
▼ │
┌────────────────────┐ │ ┌────────────────────────┐
│ Airline API │◄┘ │ Yandex AI Studio │
│ │◄────────│ │
├────────────────────┤ MCP ├────────────────────────┤
│ • REST API │ │ • YandexGPT │
│ • Profile CRUD │ │ • Response API │
│ • YDB Store │ │ • Vector Store API │
│ • MCP Server │ │ • MCP Hub │
└────────────────────┘ └────────────────────────┘
```
## 📦 Project Components
### 1. [Frontend](./frontend/) - React + ChatKit UI
A modern web interface for chatting with AI agents.
**Technologies:** React 19, TypeScript, Vite, Tailwind CSS, OpenAI ChatKit
**Features:**
- Interactive ChatKit panel for communication with the AI agent
- Client panel with profile and flights
- Dark/light theme with settings persistence
- Responsive design for desktops and tablets
**Deployment:** Yandex Cloud Object Storage (web hosting)
📖 **[Detailed Documentation →](./frontend/README.md)**
---
### 2. [ChatKit Agent](./chatkit-agent/) - AI agent with ChatKit server
FastAPI server implementing the ChatKit backend with an AI agent based on Yandex AI Studio.
**Technologies:** Python 3.11+, FastAPI, OpenAI Agents SDK, ChatKit, YDB Document API
**Features:**
- ChatKit server for processing chats
- AI agent with YandexGPT model
- Integration with MCP server for tools
- Vector search in the knowledge base (File Search)
- Persistent storage in YDB Document API
**Deployment:** Yandex Cloud Serverless Containers
📖 **[Detailed Documentation →](./chatkit-agent/README.md)**
---
### 3. [A2A Agent](./a2a-agent/) - AI agent supporting Agent-to-Agent protocol
Implementation of an AI agent supporting the Agent-to-Agent (A2A) protocol for invocation by other agents.
**Technologies:** Python 3.11+, A2A SDK, OpenAI Agents SDK, Yandex AI Studio
**Features:**
- Implementation of A2A protocol (Agent Card, Skills)
- Stateless task processing (without history storage)
- Public Agent Card with skill descriptions
- Task-based workflow instead of threads
**Deployment:** Yandex Cloud Serverless Containers
📖 **[Detailed Documentation →](./a2a-agent/README.md)**
---
### 4. [Airline API](./airline-api/) - REST API for managing customer profiles
Microservice for managing customer profiles and bookings.
**Technologies:** Python 3.11+, FastAPI, YDB Document API
**Features:**
- REST API for CRUD operations on profiles
- Management of flights and bookings
- Modification of seats, baggage, meals
- Timeline of actions for each customer
- Integration with MCP Gateway for AI agents
**Deployment:** Yandex Cloud Serverless Containers + MCP Gateway
📖 **[Detailed Documentation →](./airline-api/README.md)**
---
## Deployment in Yandex Cloud
1. **Airline API** → Serverless Container + MCP Gateway
2. **ChatKit Agent** → Serverless Container + YDB
3. **A2A Agent** → Serverless Container
4. **Frontend** → Object Storage (web hosting)
Detailed deployment instructions can be found in the README of each component.