Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks

# Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks LangGraph adalah library dari LangChain untuk membangun stateful, multi-actor applications dengan Large Language Models (LLMs). Dengan...

By Ruby Abdullah · · tutorial
PythonLangGraphLangChainAI AgentsLLMMulti-Agent

Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks

LangGraph adalah library dari LangChain untuk membangun stateful, multi-actor applications dengan Large Language Models (LLMs). Dengan LangGraph, Anda dapat membuat AI agents yang kompleks dengan kontrol flow yang fleksibel, state management, dan kemampuan untuk menjalankan multiple agents secara bersamaan.

Apa itu LangGraph?

LangGraph memperluas LangChain dengan menyediakan:

  • Stateful graphs: Menyimpan dan mengelola state antar langkah
  • Cyclic flows: Mendukung loops dan kondisional
  • Human-in-the-loop: Interaksi manual di tengah workflow
  • Persistence: Menyimpan state untuk resume later
  • Streaming: Real-time streaming responses

Kapan menggunakan LangGraph:
  • Membangun AI agents dengan multi-step reasoning
  • Workflows yang membutuhkan kondisional dan loops
  • Applications yang butuh human approval
  • Multi-agent systems
  • Complex RAG pipelines

Instalasi

pip install langgraph langchain langchain-openai

Konsep Dasar

1. Graph Components

LangGraph terdiri dari:

  • State: Data yang dikelola sepanjang execution
  • Nodes: Functions yang memproses dan memodifikasi state
  • Edges: Koneksi antar nodes (conditional atau fixed)

2. Basic Graph Structure

from typing import TypedDict, Annotated

from langgraph.graph import StateGraph, START, END

Define state

class State(TypedDict):

messages: list

currentstep: str

Define nodes

def nodea(state: State) -> State:

state["messages"].append("Processed by Node A")

state["currentstep"] = "a"

return state

def nodeb(state: State) -> State:

state["messages"].append("Processed by Node B")

state["currentstep"] = "b"

return state

Build graph

graph = StateGraph(State)

graph.addnode("nodea", nodea)

graph.addnode("nodeb", nodeb)

Add edges

graph.addedge(START, "nodea")

graph.addedge("nodea", "nodeb")

graph.addedge("nodeb", END)

Compile

app = graph.compile()

Run

result = app.invoke({"messages": [], "currentstep": ""})

print(result)

Membangun Simple Chatbot

1. Basic Chatbot dengan Memory

from typing import Annotated

from typingextensions import TypedDict

from langgraph.graph import StateGraph, START, END

from langgraph.graph.message import addmessages

from langchainopenai import ChatOpenAI

from langchaincore.messages import HumanMessage, AIMessage

State dengan message history

class ChatState(TypedDict):

messages: Annotated[list, addmessages]

Initialize LLM

llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.7)

Chatbot node

def chatbot(state: ChatState) -> ChatState:

response = llm.invoke(state["messages"])

return {"messages": [response]}

Build graph

graph = StateGraph(ChatState)

graph.addnode("chatbot", chatbot)

graph.addedge(START, "chatbot")

graph.addedge("chatbot", END)

app = graph.compile()

Interactive chat

def chat(userinput: str, history: list = None):

if history is None:

history = []

history.append(HumanMessage(content=userinput))

result = app.invoke({"messages": history})

return result["messages"]

Usage

messages = chat("Halo, siapa kamu?")

print(messages[-1].content)

messages = chat("Apa yang bisa kamu lakukan?", messages)

print(messages[-1].content)

2. Chatbot dengan Tools

from typing import Annotated

from typingextensions import TypedDict

from langgraph.graph import StateGraph, START, END

from langgraph.graph.message import addmessages

from langgraph.prebuilt import ToolNode, toolscondition

from langchainopenai import ChatOpenAI

from langchaincore.tools import tool

Define tools

@tool

def searchweb(query: str) -> str:

"""Search the web for information."""

Artikel Terkait

Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM

Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM LangChain adalah framework open-source yang di...

Tutorial Zep: Memori Jangka Panjang untuk AI Agent dengan Temporal Knowledge Graph

Zep: Bikin AI Agent Punya Memori Jangka Panjang dengan Temporal Knowledge Graph Temen-temen, pernah ngobrol sama chatbot...

Tutorial Lengkap Google Agent Development Kit (ADK): Membangun AI Agent dengan Python

Tutorial Lengkap Google Agent Development Kit (ADK): Membangun AI Agent dengan Python Google Agent Development Kit (ADK)...

Tutorial Composio: Platform Integrasi Tool untuk AI Agents

Tutorial Composio: Platform Integrasi Tool untuk AI Agents Composio adalah platform open-source yang memungkinkan AI age...