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 defined by Deeplearning.ai using Groq.
Below, you have a description of the 4 patterns we are going to 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 this pattern in action?
- Check the notebook for a step by step explanation
- Check the
ReflectionAgent
for a complete Python implementation
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 this pattern in action?
TBD
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 Plannin Pattern provided; 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 this pattern in action?
TBD
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 this pattern in action?
TBD