I'm so excited for this lesson. This lesson is about multiple models working together. What I mean by that, is that you can have a few agents that are going to be powered by, let's say, smaller models and other agents that can be powered by bigger ones. And you can even have different providers if you choose to. You can also explore this to have specific fine tuned models so that you can have crews there completely multi-model. You can optimize for different things and this unlocks so many different use cases. You can get very specific agents that would not be possible before. So let's check out how to use multi model in an agent system. Come on. So let's talk about how this multi-model implementations works on CrewAI and the benefits that you can get from it. So we already learned about how the smaller models and bigger models optimize for different things and how you might choose to optimize for speed in a few use cases or quality in others. The thing is, with CrewAI, you can use any of the major providers out there. So you can use AWS, Bedrock Anthropic models. You can use any models from Azure, you can use Gemini. You can use OpenAI, Anthropic or anything from HuggingFace and any other vendors out there. Meaning that you have a huge array of models to choose from. And the beauty of this is that then you can pick and choose models for individual agents, so you can have an agent number one, for example, that is using a smaller model and an agent number two, that is using a bigger one, optimizing for different things. This is very helpful. You can say that agent number one is the researcher, and agent number two is a reporter. So together they able to produce a big and greater outcome than they would be able to individually. The good thing is that beyond optimizing agents for model size, you can also optimize it for different providers. So you can have an agent number one using, for example, an Azure model and agent number two using an Anthropic one. And this allows you to have more flexibility in the work around things like the rate limits and specific providers that you might have access to or not. Even beyond that, you can also customize your agents to use fine tuned models, so you can have one agent using a more generic one that you can use from any provider out there, but another one that is going to use a fine tuned model. This can be a model that is fine tuned to write like your company or write, like someone, or have a very specific knowledge about a specific business case in your company. The thing is, with this ability to choose individual models to individual agents, you gain a lot of control on how you want your agents to behave on a very individual level. If that gives you a lot of power on what use cases you want to build and how you want agents to behave. This is very interesting, but let's build something. Let's dive into this and learn how we can use these models to our favor using a few providers out there. So let's jump into Jupyter Notebook and build something yourself. I see you in a second.