# ToolBrain Tutorials Welcome to the ToolBrain tutorials! This guide will walk you through the core concepts and practical examples to help you master the library. --- ## Part 1: Getting Started This section covers the basics to get you up and running with ToolBrain. 1. **What is ToolBrain?** - Understand the core problems ToolBrain solves and its fundamental concepts. - [[Jupyter Notebook]](./00_what_is_toolbrain.ipynb) 2. **Setting Up Your Environment** - A step-by-step guide to installing ToolBrain and its dependencies. - [[Jupyter Notebook]](./01_setting_up_your_environment.ipynb) 3. **Your First Training Run** - A complete walkthrough of your first training script using GRPO. - [[Jupyter Notebook]](./02_your_first_training_run.ipynb) --- ## Part 2: Core Concepts in Depth Dive deeper into the key components that make ToolBrain work. 1. **Understanding Traces** - Learn about the `Trace` and `Turn` objects, the backbone of trace-based learning. - [[Jupyter Notebook]](./03_understanding_traces.ipynb) 2. **Crafting Custom Reward Functions** - Explore built-in reward functions and learn how to create your own. - [[Jupyter Notebook]](./04_crafting_custom_reward_functions.ipynb) 3. **DPO vs. GRPO vs. Supervised - Choosing Your Algorithm** - Understand the differences between the available learning algorithms and when to use each. - [[Jupyter Notebook]](./05_dpo_vs_grpo_vs_supervised.ipynb) --- ## Part 3: More Examples Explore practical, real-world applications of ToolBrain. 1. **Email Search Agent** - Build a complex agent that can search a database to answer questions. - [[Jupyter Notebook]](./06_email_search_agent.ipynb) 2. **Hyperparameter Optimization (HPO) Training** - Use ToolBrain in a novel way to perform HPO on a machine learning model. - [[Jupyter Notebook]](./07_hpo_training.ipynb) 3. **Knowledge Distillation** - Learn how to train a small, efficient model by distilling knowledge from a larger teacher model. - [[Jupyter Notebook]](./08_knowledge_distillation.ipynb) 4. **Tool Retrieval** - Manage large sets of tools efficiently by dynamically selecting the most relevant ones for a given task. - [[Jupyter Notebook]](./09_tool_retrieval.ipynb) 5. **Automatic Task Generation (Zero-Learn)** - Bootstrap your training process by automatically generating a dataset from a high-level description. - [[Jupyter Notebook]](./10_zero_learn_for_automatic_task_generation.ipynb) --- ## Part 4: Efficient Training Learn how to train larger models faster and with less memory. - **Techniques for Efficiency (FP16, LoRA, BitsAndBytes, Unsloth)** - A guide to using LoRA, 4-bit quantization, and Unsloth to optimize your training runs. - [[Jupyter Notebook]](./part_04_efficient_learning.ipynb) --- ## Part 5: Development and Contribution Get involved with the ToolBrain community. - **Extending and Contributing to ToolBrain** - Learn how to write a custom adapter for a new agent framework and how to contribute to the project. - [[Jupyter Notebook]](./part_05_development_and_contribution.ipynb)