π Live Demo: Frontend | Backend API | API Docs
This project is a fully functional Agentic AI system that combines:
| Component | Description |
|---|---|
| π€ Agentic AI | Autonomous decision-making and workflow execution |
| π RAG | Retrieval-Augmented Generation for contextual document retrieval |
| π§ MCP | Model Context Protocol Servers for persistent agent memory |
| β‘ OpenAI | Function/Tool calling for real-world actions |
| π¨ UI | Modern React + TypeScript interface for agent interaction |
Live Links:
- Frontend UI: https://agentic-ai-prototype.vercel.app
- Backend API: https://agentic-ai-prototype-production-1c87.up.railway.app
- API Documentation (Swagger): https://agentic-ai-prototype-production-1c87.up.railway.app/docs
Once you open the frontend, you can ask the AI agent these questions to test its capabilities:
The AI has been pre-loaded with sample documents about:
- Agentic AI
- RAG
- MCP
- Urban Resilience
- Digital Twins
Ask:
| Question | Expected Response |
|---|---|
What is Agentic AI? |
The AI will retrieve the document about Agentic AI and answer based on it. |
What is RAG? |
The AI will retrieve the RAG document and explain it. |
What is MCP? |
The AI will retrieve the MCP document and explain it. |
What is urban resilience? |
The AI will retrieve the urban resilience document. |
What are digital twins? |
The AI will retrieve the digital twins document. |
You can store and retrieve information in the agent's persistent memory:
| Question | Expected Behavior |
|---|---|
Save to memory: my_favorite_color = blue |
The AI will save my_favorite_color = blue to its memory. |
What is my favorite color? |
The AI will retrieve blue from memory and respond. |
Save to memory: user_name = Muhammad |
The AI will store your name. |
What is my name? |
The AI will recall your name. |
The AI can perform real-world actions:
| Question | Expected Behavior |
|---|---|
Search the web for Python programming |
The AI will call the search_web tool and show simulated results. |
Analyze this data: {"sales": 1000, "profit": 200} |
The AI will call the analyze_data tool. |
Send an email to test@example.com with subject "Hello" and body "This is a test" |
The AI will call the send_email tool (simulated). |
You can run a multi-step autonomous workflow:
| Question | Expected Behavior |
|---|---|
Run workflow for task: plan a project |
The AI will execute a predefined workflow (analyze β decide β execute). |
| Technology | Purpose |
|---|---|
| Python 3.11+ | Core language |
| FastAPI | REST API framework |
| OpenAI API | LLM and function calling |
| Pinecone | Vector database for RAG |
| Uvicorn | ASGI server |
| Technology | Purpose |
|---|---|
| React 18 | UI framework |
| TypeScript | Type safety |
| Tailwind CSS | Styling |
| Vite | Build tool |
| Axios | HTTP client |
| LocalStorage | Chat history persistence |
| Technology | Purpose |
|---|---|
| Docker | Containerization |
| Railway | Backend deployment |
| Vercel | Frontend deployment |
agentic-ai-prototype/
βββ backend/
β βββ app.py # FastAPI server
β βββ requirements.txt # Python dependencies
β βββ .env.example # Environment variables
β βββ upload_documents.py # Pinecone upload script
β βββ Dockerfile # Backend container
βββ frontend/
β βββ src/
β β βββ components/ # React components
β β βββ api/ # API client
β β βββ App.jsx # Main app
β β βββ main.jsx # Entry point
β βββ package.json # Node dependencies
β βββ vite.config.js # Vite config
β βββ Dockerfile # Frontend container
βββ docker-compose.yml # Multi-container setup
βββ README.md # This file
- Python 3.11+
- Node.js 18+
- OpenAI API Key
- (Optional) Pinecone API Key for real RAG
git clone https://github.com/muhammadshiraz/agentic-ai-prototype.git
cd agentic-ai-prototypecd backend
python -m venv venv311
source venv311/bin/activate # On Windows: venv311\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env and add your OPENAI_API_KEY
python app.pycd frontend
npm install
npm run dev- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Health check |
| POST | /api/chat |
Chat with Agentic AI |
| POST | /api/agent/workflow |
Run agentic workflow |
| POST | /api/memory/store |
Store memory |
| GET | /api/memory/retrieve/{key} |
Retrieve memory |
| GET | /api/memory/list |
List all memory |
| DELETE | /api/memory/delete/{key} |
Delete memory |
- Sign up at Railway.app (free, no credit card required)
- Deploy from GitHub repository
- Set Root Directory:
backend/ - Add environment variables:
OPENAI_API_KEYPINECONE_API_KEY(optional)PINECONE_ENVIRONMENT(optional)PINECONE_INDEX(optional)
- Sign up at Vercel.com (free)
- Import your GitHub repository
- Set Root Directory:
frontend/ - Framework Preset:
Vite - Add environment variable:
VITE_API_URL= your Railway backend URL +/api
- β Agentic AI β Autonomous decision-making and workflow execution
- β RAG Pipelines β Contextual document retrieval for accurate responses
- β MCP Servers β Persistent memory for stateful interactions
- β OpenAI Function Calling β Real-world tool execution
- β Full Stack β Python FastAPI + React TypeScript
- β Modern Stack β Tailwind CSS, Vite, Docker
- β Production Ready β Complete error handling, logging, monitoring
- β Containerized β Docker and Docker Compose support
- β Chat History Persistence β LocalStorage for conversation history
- β Clear History Button β Reset conversation anytime
- Add WebSocket support for real-time streaming
- Add authentication and user sessions
- Add more tools (Slack, Notion, GitHub, etc.)
- Add agent memory persistence to database
- Add CI/CD pipeline with GitHub Actions
Pull requests are welcome. For major changes, please open an issue first.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub: github.com/muhammadshiraz
- LinkedIn: linkedin.com/in/muhammadshiraz
- Email: muhammadshiraz996@gmail.com
If you found this project useful, please consider giving it a β on GitHub!
- OpenAI for the LLM API
- FastAPI for the backend framework
- React for the frontend UI
- Tailwind CSS for the styling
- Pinecone for the vector database
- Railway for backend hosting
- Vercel for frontend hosting
Built with β€οΈ by Muhammad Shiraz


