Agentic Mesh is an advanced AI-powered system designed to solve complex business queries using intelligent agents. This project leverages modern tools such as Poetry for dependency management, Ngrok for seamless local-to-remote sharing, MLflow for experiment tracking, and LlamaIndex for building high-performing agents with context-aware prompts.
Agentic Mesh is an end-to-end solution to manage and solve business queries by leveraging the power of intelligent agents. The system is designed to handle diverse data pipelines, execute complex tasks, and streamline the user experience through automation and intelligence.
- Seamless Dependency Management: Managed with Poetry to ensure hassle-free package resolution.
- Remote Experiment Sharing: Uses Ngrok to securely share MLflow dashboards with the team.
- Experiment Tracking: MLflow tracks all experiments with detailed logs for parameters, metrics, and artifacts.
- Intelligent Agents: Powered by LlamaIndex to perform efficient data retrieval and reasoning with customizable prompts.
- Reproducibility: Ensures experiments and results can be reproduced reliably.
- Demo Video: Watch the Live Demo
- Blog Post: Read the Detailed Blog Here
Explore the live walkthrough of Agentic Mesh in action and learn about the complete development journey in the accompanying blog post.
This project leverages a well-curated tech stack for seamless development, experiment tracking, and intelligent query handling. Below is a detailed overview of the tools and technologies used:
- Python dependency management and packaging tool.
- Solves dependency conflicts with
poetry.lock
. - Ensures consistent environments across development, testing, and production.
- Used for tracking experiments, logging metrics, and managing models.
- Integrated with Ngrok for remote sharing of experiment results.
- Provides reproducibility and detailed comparison across experiments.
- Exposes local servers to the internet via secure tunnels.
- Enabled sharing of MLflow tracking server with team members remotely.
- Simplifies collaboration and remote debugging.
- Provides tools for indexing and querying large datasets using natural language.
- Features:
- Index Builders: Structures data for efficient retrieval.
- Context Templates: Fine-tuned prompts for high-accuracy responses.
- Agents: Multi-step reasoning for solving complex queries.
- Pandas: Data manipulation and analysis.
- NumPy: Numerical computing.
- LlamaIndex: Indexing and querying large datasets.
- HuggingFace: Using open source language and embedding models.
- Asyncio: For running concurrent fucntions while using LLamaParser.
- Gradio: For a quick demo of Agentic Mesh
- Google Colab: Free Tier
Follow these steps to set up the project:
Poetry is a dependency and package manager for Python. You can install Poetry by running the following command:
curl -sSL https://install.python-poetry.org | python3 - --version 1.8.5
This will install Poetry version 1.8.5. Ensure that the Poetry binary is added to your system's PATH
. To do so, append the following line to your shell configuration file (e.g., .bashrc
or .zshrc
):
export PATH="$HOME/.local/bin:$PATH"
Alternatively, you can call Poetry explicitly using its full path:
~/.local/bin/poetry --version
This project uses a basic_requirements.txt file to list its dependencies. To add these dependencies to Poetry, run:
cat basic_requirements.txt | xargs -n 1 poetry add
This will add all required dependencies to the project.
Once the dependencies are added, export them to a requirements.txt file using the following command:
poetry export --without-hashes -f requirements.txt > requirements.txt
This generates a requirements.txt file that can be used to install dependencies via pip.
Navigate to the project directory and install the required dependencies. This project uses a requirements.txt
file generated by Poetry to manage dependencies. To install the dependencies, run:
pip install -r requirements.txt
Once the dependencies are installed, open the Jupyter Notebook and execute the cells sequentially. Start Jupyter Notebook with the following command:
jupyter notebook AgenticMesh.ipynb
I would love to hear your thoughts about Agentic Mesh. If you have any feedback, suggestions, or queries, feel free to reach out to me at:
Author: @anujsahani01