In this course you'll learn about this new way of using LLM Agents: deploying multiple agents to work together as teams to accomplish more complex tasks for you.
Everything is taught step by step and the course is fully practical with multiple examples and one complete AI Agents-based App that we build together.
One of the things we use to accomplish this is ChatGPT's API so we can use ChatGPT through Python.
We also use AutoGen to enable our Agents to work together and communicate with one another (to accomplish tasks with no human intervention).
In this course you'll learn about this new way of using LLM Agents: deploying multiple agents to work together as teams to accomplish more complex tasks for you.
Everything is taught step by step and the course is fully practical with multiple examples and one complete AI Agents-based App that we build together.
One of the things we use to accomplish this is ChatGPT's API so we can use ChatGPT through Python.
We also use AutoGen to enable our Agents to work together and communicate with one another (to accomplish tasks with no human intervention).
We also provide a few optional sections. One of these sections teaches to have a front-end, using Streamlit, to more easily interact with your AI Agents.
Another optional section is for those who want to run AI Agents at scale. Here we show you how to deploy your LLM Agents on Google Cloud, so anyone can use your product.
Lastly, one more optional section is available showing how to set up a payment system/subscription model using Stripe for those who want to monetize their AI Agents-based App.
Everything is explained simply and in a step-by-step approach. All code shown in the course is also provided.
Please not that the OpenAI API is not free, you will need to fund your OpenAI developer account with about $5-10 to follow through with the class and build your own app. We clearly show and explain how to do this and minimize your OpenAI costs during this class.
In this lecture, we'll see how to create an API key for OpenAI. We'll need this key to use chatGPT from a python script.
At the end of this lecture, you should have an Open AI API key for your account.
At the end of this lecture, you should have VScode and python installed and working on your computer.
In this lecture, we are going to:
Install python 3.12 (do not use python 3.13 for now)
Setup a python virtual environment for this class
Install the openai package for python in this virtual environment
Put some funding in our OpenAI developer account
This lecture will teach us how to interact with chatGPT from a python script. We'll be using jupyter notebook for that, so we'll first start by installing Jupyter notebook in our python virtual environment.
After this lecture, you should be able to prompt chatGPT for simple queries (autocomplete requests) from python.
A python notebook is provided with this lecture, you should start by downloading it.
This lecture introduce autogen and the concept of Conversable Agent on which autogen relies.
A python notebook is provided with this lecture, you should start by downloading it, you will also need this notebook for the next lecture.
Ensure that you are running python 3.12 and not python 3.13. Autogen is not compatible with python 3.13.
The following message is not an error: "flaml.automl is not available. Please install flaml[automl] to enable AutoML functionalities." You can keep running the code with no worries as we do not use any features from flaml in this course, so there is no need to install it or to worry about his message.
In this lecture, we will explore how to use autogen to interact with chatGPT. We'll also reveal the basic function needs (state persistence or memory), a limitation we'll address in the next lecture. We'll also explore how to use different OpenAI models.
It is important to ensure that everything works correctly for you at the end of this lecture, otherwise, future lectures will not work.
You will need the python notebook provided in the previous lecture to follow along with this lecture.
In this video, we will build our first agents through a classical example: two agents that play the role of stand-up comedians in a show. We'll show how to set up a simple sequential chat during which two comedian agents who'll exchange jokes.
A python notebook is provided with this lecture, you should start by downloading it, you will also need this notebook for the next lecture.
Warning: The more recent versions of LMStudio have changed how the `llm_config` should be defined. The interface has also changed compared to what you'll see in the video. The notebook provided as a Downloadable Material gives an updated `llm_config` and shows how to load a model and start a local server in the most recent versions.
In this lecture, we'll see how you can better explore an exchange between agents (a chat) after it is over. We'll see how to get a transcript of the whole chat, the detailed costs associated with this chat and how to get an automated summary of the chat or a "last message" summary.
We'll also mention in this lecture how the cache of autogen works and how to reset it if necessary to get fresh new answers for a same chat strcture.
You will need the python notebook provided in the previous lecture to follow along with this lecture.
In this lecture, we will see how to better control chat termination condition. Until now, we have forced the chat between agents to end after a certain number of turns, in this lecture, we'll show how to let the agents themselves decide when they're done with the task provided and will trigger the end of the chat.
You will need the python notebook provided two lecture ago ("State Altering Agents: Stand-Up Comedy") to follow along with this lecture.
This lecture introduces a fun homework you should do to ensure that you're able to setup a chat between agents by yourself based on the previous lectures.
Feel free to share your best results with us!
In this lecture, we'll introduce sequential chats between a user (us) and different agents. This case is fundamental because it explains how to transfer data between chats from one exchange with an agent to the next. The example used here is that of a company that uses AI agents to gather information about users who are contacting it because they have an issue with one of the company's products. We also explain and show how to generate a code-friendly summary of the exchange between the agents and the user.
In this lecture, we'll introduce sequential chats between a user (us) and different agents. This case is fundamental because it explains how to transfer data between chats from one exchange with an agent to the next. The example used here is that of a company that uses AI agents to gather information about users who are contacting it because they have an issue with one of the company's products. We also explain and show how to generate a code-friendly summary of the exchange between the agents and the user.
This lecture starts to introduce complex chat structures.
A python notebook is provided with this lecture, you should start by downloading it, you will also need this notebook for the next lecture.
In this lecture, we'll introduce a powerful notion: nested chats. Nested chats are a notion that allows an agent to trigger a kind of internal exchange with other agents that will help it improve and optimize the answer it will provide for a specific request. autogen allows us to easily set up nested chats.
We'll use the example of writing a blogpost that we want to optimize for certain goals to show the usefulness of nested chats. We'll optimize the content of our blogpost in 3 ways in the next lectures:
Using single agent refinement
Using two-agent refinement
Using nested chats and multi-agent refinements
To better explain the advantages of nested chats, we'll start by trying to accomplish the task of writing a blogpost and refining the content of the blogpost using a single agent.
A python notebook is provided with this lecture, you should start by downloading it, you will also need this notebook for the next lecture.
To better explain the advantages of nested chats, we'll now try to accomplish the task of writing a blogpost and refining its content of the blogpost using two agents this time: a writer and a critic that will help improve the first version provided by the writer.
We'll see that this result is better than single agent refinement but we'll see in the next lecture that we can do much better with nested chats.
You will need the python notebook provided in the previous lecture to follow along with this lecture.
In this lecture, we'll introduce a powerful notion: nested chats. Nested chats are a notion that allows an agent to trigger a kind of internal exchange with other agents that will help it improve and optimize the answer it will provide for a specific request. autogen allows us to easily set up nested chats.
You will need the python notebook provided two lectures ago ("Sequential chat coding") to follow along with this lecture.
In this lecture, we are going to introduce that can write code (python) to solve tasks and agents that can execute that code. Agents will decide what code to write to solve a problem/task, another agent will then execute that code and report back, and our agents will be able to find problems and solve them (propose new code versions) until they completely solve the proposed task. This is a very powerful ability because our agents can now rely on everything python can allow for (and python can be used to do almost anything, really) to solve our task without us even knowing how to code. It is very important to grasp what this means at this point, just ask and the agents will determine how to solve the required task with python! They'll try as many times as necessary and if the python code execution fails, they'll propose new ways to solve your task.
This lecture introduces the concepts and structure necessary to let agents execute code.
From now on, a python notebook and a python script will be provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.
In this lecture, we are going to introduce that can write code (python) to solve tasks and agents that can execute that code. Agents will decide what code to write to solve a problem/task, another agent will then execute that code and report back, and our agents will be able to find problems and solve them (propose new code versions) until they completely solve the proposed task. This is a very powerful ability because our agents can now rely on everything python can allow for (and python can be used to do almost anything, really) to solve our task without us even knowing how to code. It is very important to grasp what this means at this point, just ask and the agents will determine how to solve the required task with python! They'll try as many times as necessary and if the python code execution fails, they'll propose new ways to solve your task.
You will need the python notebook and python script provided in the previous lecture to follow along with this lecture.
In this lecture, we'll introduce the concepts and code structure necessary to give our AI agents tools (python functions) that they can use to solve a problem. This is an important feature because it means that they will perform certain steps the way we want them to (using our functions) and won't use OpenAI tokens to generate the code necessary for certain steps.
It becomes even more interesting once you realize that you can use agents to write code to solve task (as you now know they'll save the code they used for you in the coding folder), and you can then take that code (ask them to write any code they generate as functions with proper docstrings) and give it to your future agents as skills if you intend to ask them to perform similar tasks in the future.
A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.
In this lecture, we'll introduce the concepts and code structure necessary to give our AI agents tools (python functions) that they can use to solve a problem. This is an important feature because it means that they will perform certain steps the way we want them to (using our functions) and won't use OpenAI tokens to generate the code necessary for certain steps.
It becomes even more interesting once you realize that you can use agents to write code to solve task (as you now know they'll save the code they used for you in the coding folder), and you can then take that code (ask them to write any code they generate as functions with proper docstrings) and give it to your future agents as skills if you intend to ask them to perform similar tasks in the future.
You will need the python notebook and python script provided in the previous lecture to follow along with this lecture.
In this lecture, we'll introduce the last type of chat structure we'll use in this class. Group chats are extremely powerful structures to solve problems/tasks but they're also unpredictable and inefficient. In group chats, we're going to create a team of agents with different skills that we'll give a task to, and we'll let them determine who should do what and in which order to solve the task. A manager (just like for a real team) will propose a method to solve the task and will then sequentially decide which agent should intervene for each round to keep advancing on the task. This is an extremely powerful method if you have no idea how to solve a problem and it should be your go-to chat structure the first time you're working on a new type of problem. This chat structure will reveal how you should solve this type of problem in the future, you can then use a more efficient chat structure (sequential+nested with more focused agents) to solve that type of problem in the future.
A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.
In this lecture, we'll introduce the last type of chat structure we'll use in this class. Group chats are extremely powerful structures to solve problems/tasks but they're also unpredictable and inefficient. In group chats, we're going to create a team of agents with different skills that we'll give a task to, and we'll let them determine who should do what and in which order to solve the task. A manager (just like for a real team) will propose a method to solve the task and will then sequentially decide which agent should intervene for each round to keep advancing on the task. This is an extremely powerful method if you have no idea how to solve a problem and it should be your go-to chat structure the first time you're working on a new type of problem. This chat structure will reveal how you should solve this type of problem in the future, you can then use a more efficient chat structure (sequential+nested with more focused agents) to solve that type of problem in the future.
You will need the python notebook and python script provided in the previous lecture to follow along with this lecture.
In this lecture, we are going to introduce Streamlit, a python package that can be used to easily create a front-end (webpages) from your python code very easily.
A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.
In this lecture, we will transform our stock analysis app into a Streamlit app and run it locally.
A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.
In this lecture, we will see how to use Google Cloud Shell to run our stock analysis app on a Google temporary machine to test it and ensure it works in the cloud. This is not how we'll run our app over the long term in the cloud, but it is a necessary step to ensure that everything works and it is from where we will deploy our app in the cloud.
You will need the python notebook and python script provided in the lecture ("Stock analysis as a Streamlit app") to follow along with this lecture, in addition to the file provided with this lecture.
In this lecture, we are going to introduce Streamlit, a python package that can be used to easily create a front-end (webpages) from your python code very easily.
At the end of this lecture, you should be able to create a basic Streamlit app with a nice front-end.
You will need the python notebook and python script provided in the previous lecture to follow along with this lecture.
In this lecture, we will see how to deploy our stock analysis app on a permanent machine with Google Cloud and get a permanent link URL for it that we'll be able to share with others and get them to test our app.
The knowledge shared in these lectures can be used to deploy any type of python app on the cloud, not only autogen/streamlit apps.
You will need the python notebook and python script provided in the lecture "Stock analysis as a Streamlit app" to follow along with this lecture, the "requirements.txt" file provided in lecture "Run your App on an ephemeral machine" in addition to the file provided with this lecture.
In this lecture, we'll introduce how st-paywall works and how we'll need to set it up to add a paywall/subscription to our app using Stripe and Google Oauth.
A python notebook and a python script are provided. Use the python notebook to follow and understand the code, but do not execute it. Execute the python script from your VScode, as explained in the class, code execution can be tricky in Jupyter notebook so we'll use python scripts to execute the code.
In this lecture we will show and explain how to use Google Oauth with st-paywall to add authentification to our app ("Login with Google").
You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.
In this lecture, we will show you how to set up your Stripe account to configure it with st-paywall and add a subscription to your agent-based app.
You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.
In this lecture, we will show how to finish setting up Google Oauth with st-paywall to authentify our users when they use our agent-based app.
You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.
In this lecture, we will finalize the setup of st-paywall as we now have all the elements necessary to do so.
You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.
This short lecture will show you how to create a 100% coupon with Stripe which will allow your account to use the app without paying any subscription fee.
You will need the python notebook and python script provided in the lecture "st-paywall setup" to follow along with this lecture.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.