Project Snapshot

Hands-on sandbox for exploring agentic workflows in FastAPI. The repo pairs streaming upload endpoints with a LangGraph agent that calls external tools, organized in a clean-architecture layout for learning and iteration.

Business Context

  • Built to experiment with agentic programming best practices without the constraints of a production system.
  • Demonstrates how to package FastAPI + LangChain/LangGraph patterns so teams can extend them into real apps.
  • Highlights both agent reasoning flows and backend API ergonomics in one demo.

Core Capabilities

  • Streaming uploads for PDF and binary files, plus small-file upload examples.
  • LangGraph agent endpoint that invokes a Tavily search tool with a Gemini model.
  • In-memory checkpointing using SQLite to preserve agent state.
  • Config management handled with Pydantic Settings.
  • Clean-architecture layout using adapters, domain, and entrypoints folders.
  • Docker-based dev loop with auto-reload for rapid iteration.

Architecture Highlights

  • Split into two FastAPI apps: be1/ for upload streaming experiments and langgraph-demo/ for agent workflows.
  • Docker Compose boots the LangGraph app and exposes interactive API docs on startup.
  • Notes and scaffolding call out missing tests, persistence wiring, and auth to guide future extensions.

My Role

I assembled the demo, wired the streaming API endpoints and tool-calling LangGraph workflow, and documented the layout and local Docker workflow for fast iteration.

Tech Stack

Python · FastAPI · LangChain · LangGraph · SQLite · Docker · Pydantic

Explore the Code