Lance Martin f6fbf97bc9 Add LangChain recipies 1 jaar geleden
..
README.md f6fbf97bc9 Add LangChain recipies 1 jaar geleden
langgraph-agent.ipynb f6fbf97bc9 Add LangChain recipies 1 jaar geleden
langgraph-rag-agent-local.ipynb f6fbf97bc9 Add LangChain recipies 1 jaar geleden
langgraph-rag-agent.ipynb f6fbf97bc9 Add LangChain recipies 1 jaar geleden
tool-calling-agent.ipynb f6fbf97bc9 Add LangChain recipies 1 jaar geleden

README.md

LangChain <> Llama3 Cookbooks

LLM agents use planning, memory, and tools to accomplish tasks.

LangChain offers several different ways to implement agents.

(1) Use agent executor with tool-calling versions of llama3.

(2) Use LangGraph, a library from LangChain that can be used to build reliable agents.


Agent Executor

Our first notebook, tool-calling-agent, shows how to build a tool calling agent with agent executor.

This show how to build an agent that uses web search and retrieval tools.


LangGraph

LangGraph is a library from LangChain that can be used to build reliable agents.

LangGraph can be used to build agents with a few pieces:

  • Planning: Define a control flow of steps that you want the agent to take (a graph)
  • Memory: Persist information (graph state) across these steps
  • Tool use: Tools can be used at any step to modify state

Our second notebook, langgraph-agent, shows how to build an agent that uses web search and retrieval tool in LangGraph.

It discusses some of the trade-offs between agent executor and LangGraph.

Our third notebook, langgraph-rag-agent, shows how to apply LangGraph to build advanced RAG agents that use ideas from 3 papers:

  • Corrective-RAG (CRAG) paper uses self-grading on retrieved documents and web-search fallback if documents are not relevant.
  • Self-RAG paper adds self-grading on generations for hallucinations and for ability to answer the question.
  • Adaptive RAG paper routes queries between different RAG approaches based on their complexity.

We implement each approach as a control flow in LangGraph:

  • Planning: The sequence of RAG steps (e.g., retrieval, grading, generation) that we want the agent to take
  • Memory: All the RAG-related information (input question, retrieved documents, etc) that we want to pass between steps
  • Tool use: All the tools needed for RAG (e.g., decide web search or vectorstore retrieval based on the question)

We will build from CRAG (blue, below) to Self-RAG (green) and finally to Adaptive RAG (red):

RAG

Our fouth notebook, langgraph-rag-agent-local, shows how to apply LangGraph to build advanced RAG agents that run locally and reliable.

See this video overview for more detail.