No LangChain, no LangGraph, no LlamaIndex, no CrewAI. Pure and simple API calls to Groq.
This repository contains an implementation of the 4 agentic patterns as defined by Andrew Ng in his DeepLearning.AI blog article series.
Hereβs a description of the four patterns we will be implementing.
A very basic pattern but, despite its simplicity, it provides surprising performance gains for the LLM response.
It allows the LLM to reflect on its results, suggesting modifications, additions, improvements in the writing style, etc.
Want to see how this pattern is implemented? π»
- Check the notebook for a step by step explanation
- Check the
ReflectionAgent
for a complete Python implementation
Take a look at the YouTube video! π
The information stored in the LLM weights is (usually) not enough to give accurate and insightful answers to our questions
That's why we need to provide the LLM with ways to access the outside world π
In practice, you can build tools for whatever you want (at the end of the day they are just functions the LLM can use), from a tool that let's you access Wikipedia, another to analyse the content of YouTube videos or calculate difficult integrals in Wolfram Alpha.
Tools are the secret sauce of agentic applications and the possibilities are endless! π₯«
Want to see how this pattern is implemented? π»
- Check the notebook for a step by step explanation
- Check the
ToolAgent
for a complete Python implementation - Check the
Tool
for understanding how Tools work under the hood.
Take a look at the YouTube video! π
So, we've seen agents capable of reflecting and using tools to access the outside world. But ... what about planning, i.e. deciding what sequence of steps to follow to accomplish a large task?
That is exactly what the Planning Pattern provides; ways for the LLM to break a task into smaller, more easily accomplished subgoals without losing track of the end goal.
The most paradigmatic example of the planning pattern is the ReAct technique, displayed in the diagram above.
Want to see how this pattern is implemented? π»
- Check the notebook for a step by step explanation
- Check the
ReactAgent
for a complete Python implementation
Take a look at the YouTube video! π
You may have heard about frameworks like crewAI or AutoGen, which allow you to create multi-agent applications.
These frameworks implement different variations of the multi-agent pattern, in which tasks are divided into smaller subtasks executed by different roles (e.g. one agent can be a software engineer, another a project manager, etc.)
Want to see how this pattern is implemented? π»
- Check the notebook for a step by step explanation
- Check the
Agent
to see how to implement anAgent
, member of theCrew
. - Check the
Crew
to see how to implement theCrew
Take a look at the YouTube video! π