Skip to main content

AI Agents

The apps/graphs service is a Python LangGraph microservice for AI agent orchestration.

Architecture

API keys (OpenAI, Tavily) are configured by the user in the client settings UI. The client sends requests to the NestJS API, which proxies them to the LangGraph service — injecting the keys at the server level.

Client (settings UI)
│ API keys stored per user

NestJS API ──HTTP + keys──▶ Python LangGraph Service

┌─────▼──────┐
│ StateGraph │
│ ┌──────┐ │
│ │search│ │ ← Tavily
│ └──┬───┘ │
│ ┌──▼───┐ │
│ │ LLM │ │ ← OpenAI
│ └──────┘ │
└────────────┘

Setup

1. Install dependencies

cd apps/graphs
pip install -r requirements.txt

2. Build the image

langgraph build -t my-saas-graphs:latest

3. Run

pnpm graphs:dev

Key Files

  • apps/graphs/scraper_graph.py — Example graph (web search + LLM analysis)
  • apps/graphs/langgraph.json — LangGraph config

Adding a New Graph

  1. Create a new Python file in apps/graphs/
  2. Define a StateGraph with typed state (TypedDict)
  3. Add nodes and edges
  4. Compile and expose via FastAPI or LangGraph server