Code intermediate · 3 min read

How to use LangGraph in python

Direct answer
Use LangGraph in Python by importing it from langchain_graphs, creating a graph instance, adding nodes and edges, and then executing the graph to orchestrate AI workflows.

Setup

Install
bash
pip install langchain langchain-graphs
Imports
python
from langchain_graphs import LangGraph
from langchain_openai import ChatOpenAI

Examples

inCreate a LangGraph with a ChatOpenAI node that replies to 'Hello LangGraph!'
outResponse from ChatOpenAI node: 'Hello! How can I assist you with LangGraph today?'
inBuild a LangGraph with two nodes: one generates a prompt, the other processes the response
outFinal output after processing: 'Processed response based on generated prompt.'
inExecute an empty LangGraph
outGraph executed with no nodes, output is None or empty.

Integration steps

  1. Install the required packages with pip.
  2. Import LangGraph and any AI model classes like ChatOpenAI.
  3. Create a LangGraph instance.
  4. Add nodes representing AI models or logic to the graph.
  5. Connect nodes with edges to define data flow.
  6. Execute the graph to run the AI workflow and retrieve results.

Full code

python
from langchain_graphs import LangGraph
from langchain_openai import ChatOpenAI

# Initialize the LangGraph
graph = LangGraph()

# Initialize the OpenAI chat model
chat_model = ChatOpenAI(model="gpt-4o")

# Add a node to the graph that sends a prompt to the chat model
node_id = graph.add_node(chat_model, input_key="prompt", output_key="response")

# Set the input prompt
inputs = {"prompt": "Hello LangGraph!"}

# Execute the graph with inputs
outputs = graph.run(inputs)

# Print the response from the chat model node
print("Response from ChatOpenAI node:", outputs["response"])
output
Response from ChatOpenAI node: Hello! How can I assist you with LangGraph today?

API trace

Request
json
{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello LangGraph!"}]}
Response
json
{"choices": [{"message": {"content": "Hello! How can I assist you with LangGraph today?"}}], "usage": {"total_tokens": 20}}
Extractresponse.choices[0].message.content

Variants

Streaming LangGraph Execution

Use when you want to stream partial outputs from LangGraph nodes for better UX with long responses.

python
from langchain_graphs import LangGraph
from langchain_openai import ChatOpenAI

graph = LangGraph()
chat_model = ChatOpenAI(model="gpt-4o", streaming=True)
node_id = graph.add_node(chat_model, input_key="prompt", output_key="response")
inputs = {"prompt": "Stream response from LangGraph."}

for chunk in graph.stream_run(inputs):
    print(chunk["response"], end='')
Async LangGraph Execution

Use async execution to integrate LangGraph workflows in asynchronous Python applications.

python
import asyncio
from langchain_graphs import LangGraph
from langchain_openai import ChatOpenAI

async def main():
    graph = LangGraph()
    chat_model = ChatOpenAI(model="gpt-4o")
    node_id = graph.add_node(chat_model, input_key="prompt", output_key="response")
    inputs = {"prompt": "Async LangGraph execution example."}
    outputs = await graph.arun(inputs)
    print("Async response:", outputs["response"])

asyncio.run(main())
Using Alternative Model in LangGraph

Use a smaller or cheaper model for faster or cost-effective LangGraph workflows.

python
from langchain_graphs import LangGraph
from langchain_openai import ChatOpenAI

graph = LangGraph()
chat_model = ChatOpenAI(model="gpt-4o-mini")
node_id = graph.add_node(chat_model, input_key="prompt", output_key="response")
inputs = {"prompt": "Use a smaller model in LangGraph."}
outputs = graph.run(inputs)
print("Response from smaller model:", outputs["response"])

Performance

Latency~800ms for gpt-4o non-streaming node execution within LangGraph
Cost~$0.002 per 500 tokens for gpt-4o node calls
Rate limitsDepends on underlying model API limits, typically 500 RPM / 30K TPM for OpenAI GPT-4o
  • Reuse nodes and cache outputs to reduce repeated token usage.
  • Keep prompts concise to minimize token consumption.
  • Use smaller models for less critical or exploratory nodes.
ApproachLatencyCost/callBest for
Standard LangGraph run~800ms~$0.002Simple synchronous workflows
Streaming LangGraph runStarts immediately, streams tokens~$0.002Long responses, better UX
Async LangGraph run~800ms~$0.002Concurrent or async Python apps

Quick tip

Always define clear input and output keys for LangGraph nodes to ensure smooth data flow and debugging.

Common mistake

Beginners often forget to connect nodes properly or set matching input/output keys, causing execution errors or empty results.

Verified 2026-04 · gpt-4o, gpt-4o-mini
Verify ↗