Content
# Learn Agentic AI 🚀
Welcome to the **Learn Agentic AI** repository! This project focuses on exploring Agentic AI through the Dapr Agentic Cloud Ascent (DACA) design pattern. We utilize various cutting-edge technologies, including the OpenAI Agents SDK, memory management, and cloud-native solutions.
[](https://github.com/bilal0399/learn-agentic-ai/releases)
## Table of Contents
- [Introduction](#introduction)
- [Technologies Used](#technologies-used)
- [Getting Started](#getting-started)
- [Features](#features)
- [Architecture](#architecture)
- [How to Use](#how-to-use)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
## Introduction
Agentic AI represents a significant leap in how we interact with technology. This repository serves as a comprehensive guide to implementing Agentic AI solutions using the DAPR framework and various cloud technologies. By integrating tools like OpenAI's SDK and Kubernetes, we can create intelligent applications that learn and adapt over time.
## Technologies Used
This project leverages a wide range of technologies:
- **Dapr**: A portable, event-driven runtime that makes it easy to build microservices.
- **OpenAI Agents SDK**: A toolkit for developing intelligent agents.
- **Memory Management**: Techniques to store and retrieve information effectively.
- **MCP (Microservices Communication Protocol)**: A standard for communication between microservices.
- **A2A (Agent-to-Agent Communication)**: Facilitates communication between different agents.
- **Knowledge Graphs**: Structures for storing interconnected descriptions of entities.
- **Docker**: A platform for developing, shipping, and running applications in containers.
- **Kubernetes**: An orchestration tool for managing containerized applications.
- **PostgreSQL**: A powerful relational database system.
- **Redis**: An in-memory data structure store, used as a database, cache, and message broker.
- **RabbitMQ**: A message broker that enables applications to communicate with each other.
- **Kafka**: A distributed streaming platform.
- **Rancher Desktop**: A tool for managing Kubernetes clusters on your desktop.
## Getting Started
To get started with this project, you need to set up your environment. Follow these steps:
1. **Clone the Repository**:
```bash
git clone https://github.com/bilal0399/learn-agentic-ai.git
cd learn-agentic-ai
```
2. **Install Dependencies**:
Use Docker to set up your environment. Make sure you have Docker installed and running.
```bash
docker-compose up
```
3. **Run the Application**:
After the dependencies are installed, you can run the application.
```bash
docker-compose up
```
4. **Access the Application**:
Open your web browser and navigate to `http://localhost:8080`.
## Features
- **Event-Driven Architecture**: Use Dapr's pub-sub model for seamless communication.
- **Scalability**: Deploy on Kubernetes for easy scaling.
- **Intelligent Agents**: Leverage OpenAI's SDK to create agents that learn and adapt.
- **Real-Time Data Processing**: Utilize Kafka and RabbitMQ for handling real-time data streams.
- **Persistent Storage**: Store data in PostgreSQL and Redis for fast access.
## Architecture
The architecture of this project is designed for modularity and scalability. Below is a high-level overview of how the components interact:
- **Client**: The user interface that interacts with the agents.
- **Dapr Sidecar**: Each service runs alongside a Dapr sidecar to handle service invocation and pub-sub messaging.
- **Agents**: Built using OpenAI's SDK, these agents perform tasks based on user input.
- **Database**: PostgreSQL stores persistent data, while Redis serves as a caching layer.

## How to Use
1. **Create an Agent**:
To create a new agent, define its behavior in the `agents` directory. Use the OpenAI SDK to specify its functions.
2. **Configure Dapr**:
Update the Dapr configuration files to include your new agent. This allows Dapr to route messages to the correct service.
3. **Deploy**:
Use Kubernetes to deploy your agents. Ensure your configuration files are correctly set up.
4. **Monitor**:
Use monitoring tools to keep track of your agents' performance. Adjust configurations as needed for optimal performance.
## Contributing
We welcome contributions! If you want to help improve this project, please follow these steps:
1. **Fork the Repository**: Click the "Fork" button on the top right of the page.
2. **Create a New Branch**: Use a descriptive name for your branch.
```bash
git checkout -b feature/YourFeature
```
3. **Make Your Changes**: Implement your feature or fix.
4. **Commit Your Changes**: Write a clear commit message.
```bash
git commit -m "Add Your Feature"
```
5. **Push to Your Fork**:
```bash
git push origin feature/YourFeature
```
6. **Create a Pull Request**: Go to the original repository and click "New Pull Request."
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
## Contact
For questions or feedback, please reach out to the repository owner:
- **Bilal**: [bilal0399](https://github.com/bilal0399)
You can also check the [Releases](https://github.com/bilal0399/learn-agentic-ai/releases) section for the latest updates and downloads.
---
Thank you for your interest in **Learn Agentic AI**! We hope you find this repository helpful in your journey to mastering Agentic AI technologies.
You Might Also Like
Ollama
Ollama enables easy access to large language models on various platforms.

n8n
n8n is a secure workflow automation platform for technical teams with 400+...
OpenWebUI
Open WebUI is an extensible web interface for customizable applications.

Dify
Dify is a platform for AI workflows, enabling file uploads and self-hosting.

Zed
Zed is a high-performance multiplayer code editor from the creators of Atom.
MarkItDown MCP
markitdown-mcp is a lightweight MCP server for converting various URIs to Markdown.