|
11 months ago | |
---|---|---|
.. | ||
README.md | 11 months ago | |
langgraph-custom-agent.ipynb | 11 months ago | |
langgraph-rag-agent-local.ipynb | 11 months ago | |
langgraph-rag-agent.ipynb | 11 months ago | |
langgraph-tool-calling-agent.ipynb | 11 months ago | |
tool-calling-agent.ipynb | 11 months ago |
LLM agents use planning, memory, and tools to accomplish tasks. Agents can empower Llama 3 with important new capabilities. Here, we will show how to give Llama 3 the ability to perform web search, as well as multi-modality: image generation (text-to-image), image analysis (image-to-text), and voice (text-to-speech) tools!
LangChain offers several different ways to implement agents with Llama 3:
(1) ReAct agent
- Uses AgentExecutor with tool-calling versions of Llama 3.
(2) LangGraph tool calling agent
- Uses LangGraph with tool-calling versions of Llama 3.
(3) LangGraph custom agent
- Uses LangGraph with any version of Llama 3 (so long as it supports structured output).
As we move from option (1) to (3) the degree of customization and flexibility increases:
(1) ReAct agent
using AgentExecutor is a great for getting started quickly with minimal code, but requires a version of Llama 3 with reliable tool-calling, is the least customizable, and uses higher-level AgentExecutor abstraction.
(2) LangGraph tool calling agent
is more customizable than (1) because the LLM assistant (planning) and tool call (action) nodes are defined by the user, but it still requires a version of Llama 3 with reliable tool-calling.
(3) LangGraph custom agent
does not require a version of Llama 3 with reliable tool-calling and is the most customizable, but requires the most work to implement.
ReAct agent
The AgentExecutor manages the loop of planning, executing tool calls, and processing outputs until an AgentFinish signal is generated, indicating task completion.
Our first notebook, tool-calling-agent
, shows how to build a tool calling agent with AgentExecutor and Llama 3.
LangGraph tool calling agent
LangGraph is a library from LangChain that can be used to build reliable agents.
Our second notebook, langgraph-tool-calling-agent
, shows an alternative to AgentExecutor for building a Llama 3 powered agent.
LangGraph custom agent
Our third notebook, langgraph-custom-agent
, shows how to build a Llama 3 powered agent without reliance on tool-calling.
LangGraph RAG Agent
Our fourth notebook, langgraph-rag-agent
, shows how to apply LangGraph to build a custom Llama 3 powered RAG agent that use ideas from 3 papers:
We implement each approach as a control flow in LangGraph:
We will build from CRAG (blue, below) to Self-RAG (green) and finally to Adaptive RAG (red):
Local LangGraph RAG Agent
Our fifth notebook, langgraph-rag-agent-local
, shows how to apply LangGraph to build advanced RAG agents using Llama 3 that run locally and reliably.
See this video overview for more detail on the design of this agent.