A step-by-step series on using MLflow's open source platform to build, track, trace, evaluate, and debug GenAI applications, including managing and optimizing prompts along the way.
Watch the full overview: Mastering GenAI Development with MLflow
| Notebook | Title | Description | Video Tutorial |
|---|---|---|---|
| 1.1 | Setup and Introduction |
|
Watch Tutorial |
| 1.2 | Experiment Tracking for LLMs |
|
Watch Tutorial |
| 1.3 | Introduction to Tracing |
|
Watch Tutorial |
| 1.4 | Manual Tracing and Advanced Observability |
|
Watch Tutorial |
| 1.5 | Prompt Management |
|
Watch Tutorial |
| 1.6 | Framework Integrations |
|
Watch Tutorial |
| 1.7 | Evaluating Agents |
|
Watch Tutorial |
| 1.8 | Prompt Optimization with GEPA |
|
Watch tutorial |
| 1.9 | Complete RAG Application |
|
Watch tutorial |
| 1.10 | Multi-Agent Supervisor Pattern |
|
Coming Soon... |
| 1.11 | LangGraph Deep Agents |
|
N/A |
| 1.12 | CrewAI Multi-Agent Orchestration |
|
N/A |
By the end of the series you'll be able to:
- Set up MLflow for GenAI development and track LLM experiments
- Instrument code with tracing, then use traces to debug and analyze performance
- Track and optimize the cost of LLM calls
- Manage prompts with version control and the Prompt Registry, and optimize them with GEPA
- Integrate MLflow across OpenAI, LangChain, LlamaIndex, and CrewAI
- Evaluate agents with MLflow's built-in judges plus custom, DeepEval, and RAGAS scorers
- Build end-to-end RAG applications
- Build, trace, and evaluate multi-agent orchestration systems
This project uses UV for dependency management.
- Install UV (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh- Install Dependencies
uv sync- Configure API Keys
Create a
.envfile in the tutorials directory:
OPENAI_API_KEY=your-api-key-here
MLFLOW_TRACKING_URI=http://localhost:5000
- Start Jupyter
uv run jupyter notebook- Start MLflow UI (in a separate terminal)
uv run mlflow ui --port 5000- Open Browser Navigate to http://localhost:5000
- Python 3.10+
- UV package manager
- OpenAI API key (or Databricks Workspace)
- Basic understanding of Python and LLMs
mlflow-genai-tutorial-1/
├── 01_setup_and_introduction.ipynb
├── 02_experiment_tracking.ipynb
├── 03_introduction_to_tracing.ipynb
├── 04_manual_tracing_advanced.ipynb
├── 05_prompt_management.ipynb
├── 06_framework_integrations.ipynb
├── 07_evaluating_agents.ipynb
├── 08_prompt_optimization.ipynb
├── 09_complete_rag_application.ipynb
├── 10_multi_agent_supervisor.ipynb
├── 11_deep_agents_langgraph.ipynb
├── 12_crewai_multi_agent.ipynb
├── .env (create this yourself and use the template env_template)
└── README.md
- Keep the MLflow UI open while working through notebooks
- Experiment with different parameter values
- Compare runs in the UI to understand trade-offs
- Tag runs for easy organization
- Track costs from the beginning
Issue: MLflow UI won't start
# Try a different port
uv run mlflow ui --port 5001Issue: API key not recognized
# Restart Jupyter kernel after adding to .env
# Or set manually:
import os
os.environ["OPENAI_API_KEY"] = "your-key"Issue: Module not found
# Sync dependencies with UV
uv sync
# Or install specific package
uv add mlflow openai python-dotenvThis tutorial series is provided as educational content for learning MLflow's GenAI capabilities.
- Found an issue? Open a GitHub issue
- Have suggestions? Submit a pull request
- Want to share? Tag us on social media
- Questions? Check the MLflow community
Authors: Jules (Databricks Developer Relations) + Claude Code Date: February 2026 MLflow Version: 3.14.0

