# Full-Stack Python Chatbot with LangGraph [![CI](https://github.com/langchain-ai/langgraph-fullstack-python/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/langchain-ai/langgraph-fullstack-python/actions/workflows/unit-tests.yml) [![Integration Tests](https://github.com/langchain-ai/langgraph-fullstack-python/actions/workflows/integration-tests.yml/badge.svg)](https://github.com/langchain-ai/langgraph-fullstack-python/actions/workflows/integration-tests.yml) [![Open in - LangGraph Studio](https://img.shields.io/badge/Open_in-LangGraph_Studio-00324d.svg?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4NS4zMzMiIGhlaWdodD0iODUuMzMzIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHBhdGggZD0iTTEzIDcuOGMtNi4zIDMuMS03LjEgNi4zLTYuOCAyNS43LjQgMjQuNi4zIDI0LjUgMjUuOSAyNC41QzU3LjUgNTggNTggNTcuNSA1OCAzMi4zIDU4IDcuMyA1Ni43IDYgMzIgNmMtMTIuOCAwLTE2LjEuMy0xOSAxLjhtMzcuNiAxNi42YzIuOCAyLjggMy40IDQuMiAzLjQgNy42cy0uNiA0LjgtMy40IDcuNkw0Ny4yIDQzSDE2LjhsLTMuNC0zLjRjLTQuOC00LjgtNC44LTEwLjQgMC0xNS4ybDMuNC0zLjRoMzAuNHoiLz48cGF0aCBkPSJNMTguOSAyNS42Yy0xLjEgMS4zLTEgMS43LjQgMi41LjkuNiAxLjcgMS44IDEuNyAyLjcgMCAxIC43IDIuOCAxLjYgNC4xIDEuNCAxLjkgMS40IDIuNS4zIDMuMi0xIC42LS42LjkgMS40LjkgMS41IDAgMi43LS41IDIuNy0xIDAtLjYgMS4xLS44IDIuNi0uNGwyLjYuNy0xLjgtMi45Yy01LjktOS4zLTkuNC0xMi4zLTExLjUtOS44TTM5IDI2YzAgMS4xLS45IDIuNS0yIDMuMi0yLjQgMS41LTIuNiAzLjQtLjUgNC4yLjguMyAyIDEuNyAyLjUgMy4xLjYgMS41IDEuNCAyLjMgMiAyIDEuNS0uOSAxLjItMy41LS40LTMuNS0yLjEgMC0yLjgtMi44LS44LTMuMyAxLjYtLjQgMS42LS41IDAtLjYtMS4xLS4xLTEuNS0uNi0xLjItMS42LjctMS43IDMuMy0yLjEgMy41LS41LjEuNS4yIDEuNi4zIDIuMiAwIC43LjkgMS40IDEuOSAxLjYgMi4xLjQgMi4zLTIuMy4yLTMuMi0uOC0uMy0yLTEuNy0yLjUtMy4xLTEuMS0zLTMtMy4zLTMtLjUiLz48L3N2Zz4=)](https://langgraph-studio.vercel.app/templates/open?githubUrl=https://github.com/langchain-ai/langgraph-fullstack-python) This template demonstrates how to build a full-stack chatbot application using LangGraph's HTTP configuration capabilities. It showcases how to combine a React-style agent with a modern web UI, all hosted within a single LangGraph deployment. ## Key Features - 🌐 **Single Deployment** - Host both your agent and UI in one LangGraph deployment - 🎨 **Modern UI** - Beautiful chat interface built with FastHTML - 🔄 **React-Style Agent** - Intelligent chatbot using LangGraph's React agent pattern - 🛠️ **Easy Configuration** - Simple HTTP routing setup through `langgraph.json` - ⚡ **Fast Development** - Rapid prototyping with FastHTML's server-side components ## How It Works ### HTTP Configuration The magic happens in `langgraph.json`, where we configure both the agent and HTTP routes: ```json { "dependencies": ["."], "graphs": { "agent": "./src/react_agent/graph.py:graph" }, "http": { "app": "./src/react_agent/app.py:app" } } ``` This configuration: 1. Defines the agent graph in `graph.py` 2. Sets up HTTP routes through FastHTML in `app.py` ### FastHTML UI The UI is built using FastHTML, a lightweight server-side component framework. Key features: - Modern chat interface using DaisyUI components - Real-time message updates - Clean, responsive design ### LangGraph Agent The chatbot uses LangGraph's React agent pattern, which: - Processes messages through a Claude 3 model - Maintains conversation state - Can be easily extended with custom tools ## Getting Started Install the dependencies: ```bash pip install uv uv sync --dev ``` Then run the local server: ```bash uv run langgraph dev --no-browser ``` Visit `http://localhost:2024` to interact with your chatbot! ## Customization ### Modify the Agent Edit `src/react_agent/graph.py` to: - Change the system prompt - Add custom tools - Modify the agent's behavior ### Customize the UI Edit `src/react_agent/app.py` to: - Update the chat interface - Add new components - Modify styling ## Next Steps - Add persistent storage for chat history - Implement custom tools for your agent - Enhance the UI with additional features - Deploy to production using LangGraph Platform For more examples and detailed documentation: - [LangGraph Documentation](https://langchain-ai.github.io/langgraph) - [FastHTML Documentation](https://fasthtml.readme.io) - [DaisyUI Components](https://daisyui.com/components)