Learn how to build a sophisticated AI agent that can understand both text and images to help users discover recipes. This tutorial demonstrates how to combine LanceDB’s multimodal capabilities with PydanticAI to create an intelligent recipe assistant.
Interactive notebook covering:
Complete codebase including:
Perfect for learning! This Colab notebook provides a step-by-step tutorial with sample data. No setup required - just click and start learning about multimodal agents.
# 1. Extract the downloaded files to a folder
# 2. Navigate to the folder in terminal
cd multimodal-recipe-agent
# 3. Install dependencies with uv
uv sync
# 4. Download the Kaggle dataset
# Visit: https://www.kaggle.com/datasets/pes12017000148/food-ingredients-and-recipe-dataset-with-images
# Extract recipes.csv to the data/ folder
# 5. Import the dataset
uv run python import.py
# 6. Run the complete Streamlit chat application
uv run streamlit run app.pyComplete experience! This gives you the full Streamlit chat interface with a real recipe dataset. Requires downloading the dataset from Kaggle but provides the complete production-ready application.
This tutorial includes complete, runnable code:
multimodal-recipe-agent.ipynb - Interactive Jupyter notebook tutorialagent.py - Complete PydanticAI agent implementationapp.py - Streamlit chat interfaceimport.py - Data import and processing scriptpyproject.toml - Modern Python project configurationuv.lock - Locked dependency versions for reproducible buildsREADME.md - Complete project documentationWhen you download the tutorial, organize your files like this:
multimodal-recipe-agent/
├── multimodal-recipe-agent.ipynb # Interactive tutorial
├── agent.py # Core agent implementation
├── app.py # Streamlit chat interface
├── import.py # Data processing script
├── pyproject.toml # Project configuration
├── uv.lock # Dependency lock file
├── README.md # Project documentation
└── data/ # Generated data (created after import)
├── recipes.csv # Recipe dataset
├── images/ # Recipe images
└── recipes.lance # LanceDB databaseReady to build your first multimodal AI agent? Let’s get started!