{"data":{"slug":"langchain-ai-chat-langchain","name":"chat-langchain","tagline":"chat-langchain","github_url":"https://github.com/langchain-ai/chat-langchain","owner":"langchain-ai","repo":"chat-langchain","owner_avatar_url":"https://avatars.githubusercontent.com/u/126733545?v=4","primary_language":"TypeScript","stars":6398,"forks":1483,"topics":[],"archived":false,"github_pushed_at":"2026-07-11T01:04:58+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/langchain-ai-chat-langchain","markdown_url":"https://www.graphcanon.com/tools/langchain-ai-chat-langchain.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/langchain-ai-chat-langchain","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=langchain-ai-chat-langchain","description":null,"homepage_url":"https://chat.langchain.com","license":"MIT","open_issues":49,"watchers":48,"ai_summary":null,"readme_excerpt":"# Chat LangChain\n\n> A documentation assistant deployed as a Managed Deep Agent.\n\n\n\n\n\n## Overview\n\nThis is a documentation assistant agent that helps answer questions about LangChain, LangGraph, and LangSmith. It demonstrates how to build a production-ready agent using:\n\n- **Managed Deep Agents** - For managed deployment, identity, and connectors\n- **LangChain Agents** - For agent creation with middleware support\n- **Guardrails** - To keep conversations on-topic\n\nThe repo also includes a Next.js frontend in `frontend/` for the public chat UI.\n\n## Features\n\n- **Documentation Search** - Searches official LangChain docs\n- **Support KB** - Searches the Pylon knowledge base for known issues\n- **Link Validation** - Verifies URLs before including in responses\n- **Guardrails** - Filters off-topic queries\n\n## Quick Start\n\n### Prerequisites\n\n- Python 3.11+\n- [uv](https://github.com/astral-sh/uv) (recommended) or pip\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/langchain-ai/chat-langchain.git\ncd chat-langchain\n\n# Install dependencies with uv\nuv sync\n\n# Or with pip\npip install -e .\n```\n\n### Configuration\n\n```bash\n# Copy environment template\ncp .env.example .env\n\n# Edit .env with your API keys\n```\n\n#### Required Environment Variables\n\n| Variable            | Description                                                                                              |\n| ------------------- | -------------------------------------------------------------------------------------------------------- |\n| `ANTHROPIC_API_KEY` | Anthropic API key (or use another provider)                                                              |\n| `MINTLIFY_API_URL`  | Mintlify API base URL for docs search (e.g. `https://api-dsc.mintlify.com/v1/search/docs.langchain.com`) |\n| `MINTLIFY_API_KEY`  | Mintlify API key for docs search                                                                         |\n| `PYLON_API_KEY`     | Pylon API key for support KB                                                                             |\n| `PYLON_KB_ID`       | Pylon knowledge base ID for support articles                                                             |\n| `USE_LOCAL_PROMPTS` | Optional. Set to `true` to use local prompt files instead of pulling Prompt Hub prompts                  |\n\n### Running Locally\n\n#### Backend\n\n```bash\n# Build the Managed Deep Agent bundle\nuv run mda dev .\n\n# Or with pip\nmda dev .\n```\n\n#### Frontend\n\n```bash\ncd frontend\nnpm ci\nnpm run dev:local\n```\n\nPoint the frontend at the local MDA deployment via `NEXT_PUBLIC_LANGGRAPH_API_URL`\n(see `frontend/.env.local.example`). Auth, guest issuance, and LangSmith\noperations go through the managed identity and connector surface.\n\n## Project Structure\n\n```txt\n├── agent.py                    # Managed Deep Agent entrypoint\n├── identity.py                 # MDA identity contract (Supabase + guest)\n├── instructions.md             # Managed Deep Agent system prompt\n├── connectors/\n│   ├── langsmith.py            # LangSmith feedback + trace connector\n│   └── mcp.py                  # Managed MCP connector declaration\n├── src/\n│   ├── agent/\n│   │   ├── docs_graph.py      # Legacy LangGraph agent module retained for now\n│   │   └── config.py          # Model configuration\n│   ├── tools/\n│   │   ├── docs_tools.py      # Documentation search\n│   │   ├── pylon_tools.py     # Support KB tools\n│   │   └── link_check_tools.py # URL validation\n│   ├── prompts/\n│   │   └── docs_agent_prompt.py\n│   └── middleware/\n│       ├── guardrails_middleware.py\n│       ├── ingress_guards_middleware.py\n│       └── retry_middleware.py\n├── frontend/                  # Next.js public chat UI\n└── pyproject.toml             # Python project config\n```\n\n## How It Works\n\nThe agent uses a docs-first research strategy:\n\n1. **Guardrails Check** - Validates the query is LangChain-related\n2. **Documentation Search** - Searches official docs via Mintlify\n3. **Knowledge Base** - Searches Pylon for known is","github_created_at":"2023-01-16T20:43:13+00:00","created_at":"2026-07-11T10:49:45.3843+00:00","updated_at":"2026-07-11T10:49:49.186652+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"typescript","name":"typescript"}],"trust":{"provenance":{"is_fork":false,"github_id":589743600,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T10:49:46.094Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":0,"days_since_push":0,"last_release_at":null},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:49:47.396Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T10:49:46.567Z"},"languages":{"value":["typescript","python"],"source":"github.language+pyproject.toml","observed_at":"2026-07-11T10:49:46.567Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-11T10:49:46.567Z"}}}}