Spaces:
Sleeping
Sleeping
| # π§ AI-Driven Email Agent π§ | |
| A production-grade, multi-agent system built with LangGraph and FastAPI that automates email triage, context retrieval, and drafting. This project demonstrates advanced implementation of **Long-term Memory**, **State Persistence**, and **Human-in-the-Loop Interrupts** using LangGraph's Functional API Command pattern. | |
| --- | |
| ## π Key Features | |
| - **Advanced Learning Implementation** | |
| Implemented **Semantic Memory**, **Checkpointer Persistence**, and **Functional Interrupts**, enabling the agent to maintain state and handle user feedback reliably. | |
| - **Multi-Agent Workflow** | |
| Specialized agents for: | |
| - Triage | |
| - Context Synthesis | |
| - Email Drafting | |
| - **Intelligent Triage** | |
| Automatically classifies emails, assigns priority, and determines if a reply is required. | |
| - **Semantic Memory** | |
| Uses `langmem` and `PostgresStore` to retrieve past interactions, allowing the agent to remember previous project details. | |
| - **Resource Management** | |
| A dedicated **Token Count Node** ensures large emails (e.g., deployment logs) are summarized before processing to optimize costs. | |
| - **Human-in-the-Loop** | |
| The graph pauses using `interrupt()` to allow users to: | |
| - Review drafts | |
| - Approve responses | |
| - Provide feedback via `Command(resume=...)` | |
| - **Scalable Architecture** | |
| Built with **FastAPI**, **Docker**, and a modular structure for enterprise-grade deployment. | |
| --- | |
| ## π οΈ Tech Stack | |
| - **Orchestration:** `langgraph` (Functional API), `langchain` | |
| - **LLM Interface:** `langchain-groq` | |
| - **Memory & Persistence:** | |
| - `langmem` | |
| - `PostgresCheckpoint` | |
| - `PostgresStore` (Neon/PostgreSQL) | |
| - **Database ORM:** SQLAlchemy 2.0 | |
| - **Embeddings:** `langchain_huggingface` (DistilBERT) | |
| - **Backend:** FastAPI + Uvicorn | |
| - **Configuration:** `pydantic-settings` (.env management) | |
| - **Authentication:** `google-auth` (Gmail API Integration) | |
| --- | |
| ## π Project Structure | |
| ```bash | |
| app/ | |
| βββ agents/ # Brains: Specialized LLM logic (Triage, Writer, Context) | |
| βββ database/ # Data: SQLAlchemy models and Connection Pooling | |
| βββ nodes/ # Workflow: Functional steps of the graph (Safety, Tokens) | |
| βββ persistance/ # Persistence: Postgres Checkpointer & Memory Store config | |
| βββ state/ # Schema: Pydantic & TypedDict state definitions | |
| βββ utils/ # Toolbox: Token counters, Embeddings, and Auth helpers | |
| βββ graph.py # Logic: StateGraph construction and compilation | |
| βββ main.py # Entry: FastAPI app and Controller logic |