LangChain Samples is a collection of code examples, cookbooks, reference implementations, and workshop materials created by customer-facing teams at LangChain. These resources are intended for educational and demonstration purposes, helping developers explore patterns, integrations, and best practices when building with LangChain and related tooling.
This guide outlines the expectations for creating or updating repositories within the LangChain Samples organization.
README File: Each example repository must include a concise README that clearly explains the purpose of the example and provides straightforward instructions for running it. A minimal structure is sufficient, but all essential information should be easy to identify.
LICENSE File: Every repository must include a LICENSE file. The recommended license is MIT, although Apache-2.0 may be used if necessary. For guidance on adding a license file, see the GitHub documentation for an easy way to include a license file.
Version Pinning: Repositories must pin dependency versions to ensure that examples remain reproducible and functional over time. This typically involves including a lockfile such as uv.lock, package-lock.json, or another lockfile generated by your chosen package manager.
Description and Topics: Each repository must include a one-sentence description and relevant topics in the "About" section (located in the upper-right area of the repository's main page). Topics should cover the example type (example, workshop, customer resource), product area (langchain, langgraph, deep agents, observability, evaluation, deployment, etc.), and experience level (beginner, intermediate, advanced, expert).
Overview: Provide a short summary (2–4 sentences) describing what the example does, why it exists, the problem it addresses, and the core idea or pattern it demonstrates.
Quickstart: Offer clear, minimal steps to run the example, including prerequisites, dependency installation, environment variable setup, and run commands.
Configuration (Optional): Document any environment variables, flags, or parameters that users may want to modify (for example, choosing a model provider or adjusting runtime settings).
Additional Notes (Optional): Include useful context such as limitations, cost considerations, known issues, or links to related documentation or blog posts.
License: Specify the license used in the repository.