discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
langchain-ai/chat-langchain · source
Snapshot 0 · 2026-11-04T12:47:27Z · TypeScript · MIT
Content fingerprint
303130ef8556ed025ab7324ffd181aff084e45b69a99df89e54dc80c69d4a934GitHub description at capture
README at capture
# Chat LangChain > A documentation assistant deployed as a Managed Deep Agent. [](https://langchain-ai.github.io/langgraph/) [](https://python.org) [](LICENSE) ## Overview This is a documentation assistant agent that helps answer questions about LangChain, LangGraph, and LangSmith. It demonstrates how to build a production-ready agent using: - **Managed Deep Agents** - For managed deployment, identity, and connectors - **LangChain Agents** - For agent creation with middleware support - **Guardrails** - To keep conversations on-topic The repo also includes a Next.js frontend in `frontend/` for the public chat UI. ## Features - **Documentation Search** - Searches official LangChain docs via managed MCP - **Support KB** - Searches the Pylon knowledge base for known issues - **Link Validation** - Verifies URLs before including in responses - **Guardrails** - Filters off-topic queries ## Quick Start ### Prerequisites - Python 3.11+ - [uv](https://github.com/astral-sh/uv) (recommended) or pip ### Installation ```bash # Clone the repository git clone https://github.com/langchain-ai/chat-langchain.git cd chat-langchain # Install dependencies with uv uv sync # Or with pip pip install -e . ``` ### Configuration ```bash # Copy environment template cp .env.example .env # Edit .env with your API keys ``` #### Required Environment Variables | Variable | Description | | ------------------- | --------------------------------------------------------------------------------------- | | `ANTHROPIC_API_KEY` | Anthropic API key (or use another provider) | | `PYLON_API_KEY` | Pylon API key for support KB | | `PYLON_KB_ID` | Pylon knowledge base ID for support articles | | `USE_LOCAL_PROMPTS` | Optional. Set to `true` to use local prompt files instead of pulling Prompt Hub prompts | ### Running Locally #### Backend ```bash # Build the Managed Deep Agent bundle uv run mda dev . # Or with pip mda dev . ``` #### Frontend ```bash cd frontend npm ci npm run dev:local ``` Point the frontend at the local MDA deployment via `NEXT_PUBLIC_LANGGRAPH_API_URL` (see `frontend/.env.local.example`). Signed-in and anonymous users authenticate with Supabase; MDA validates those tokens and scopes their threads. ## Project Structure ```txt ├── agent.py # Managed Deep Agent entrypoint ├── identity.py # MDA multi-region Supabase identity contract ├── instructions.md # Managed Deep Agent system prompt ├── tools/ │ └── mcp.py # Managed MCP docs declaration ├── src/ │ ├── agent/ │ │ └── config.py # Model configuration │ ├── tools/ │ │ ├── pylon_tools.py # Support KB tools │ │ ├── pricing_tools.py # Pricing fetch │ │ └── link_check_tools.py # URL validation │ ├── prompts/ │ │ ├── docs_agent_prompt.py # Hub push / eval mirror of instructions.md │ │ ├── guardrails_prompts.py │ │ └── context_summary_prompt.py │ └── middleware/ │ ├── guardrails_middleware.py │ ├── ingress_guards_middleware.py │ └── retry_middleware.py ├── frontend/ # Next.js public chat UI └── pyproject.toml # Python project config ``` ## How It Works The agent uses a docs-first research strategy: 1. **Guardrails Check** - Validates the query is LangChain-related 2. **Documentation Search** - Searches official docs via the managed MCP connector 3. **Knowledge Base** - Searches Pylon for known issues/solutions 4. **Link Validation** - Verifies any URLs before including them 5. **Response Generation** - Synthesizes a helpful answer ## Deployment ### Managed Deep Agents ```bash mda deploy . ``` What MDA owns in this deployment: - **Identity** — `identity.py` verifies signed-in and anonymous Supabase access tokens across the configured regions. - **HTTP surface** — managed agent ingress plus same-origin frontend routes. - **LangSmith browser ops** — the frontend server verifies MDA thread access, then proxies feedback and trace read/share without exposing `LANGSMITH_API_KEY`. - **Docs MCP** — `tools/mcp.py` attaches the LangChain docs MCP tools. - **Thread titles** — generated in the browser (deterministic truncation). - **Checkpointer** — managed by the Managed Deep Agents runtime. ## Resources - [LangChain Documentation](https://docs.langchain.com/oss/python/langchain/overview) - [LangGraph Documentation](https://docs.langchain.com/oss/python/langgraph/overview) - [LangSmith Documentation](https://docs.langchain.com/langsmith/home) ## License MIT