mirror of
https://github.com/hwchase17/langchain.git
synced 2026-06-09 10:17:00 +00:00
**TL;DR much of the provided `Makefile` targets were broken, and any time I wanted to preview changes locally I either had to refer to a command Chester gave me or try waiting on a Vercel preview deployment. With this PR, everything should behave like normal.** Significant updates to the `Makefile` and documentation files, focusing on improving usability, adding clear messaging, and fixing/enhancing documentation workflows. ### Updates to `Makefile`: #### Enhanced build and cleaning processes: - Added informative messages (e.g., "📚 Building LangChain documentation...") to makefile targets like `docs_build`, `docs_clean`, and `api_docs_build` for better user feedback during execution. - Introduced a `clean-cache` target to the `docs` `Makefile` to clear cached dependencies and ensure clean builds. #### Improved dependency handling: - Modified `install-py-deps` to create a `.venv/deps_installed` marker, preventing redundant/duplicate dependency installations and improving efficiency. #### Streamlined file generation and infrastructure setup: - Added caching for the LangServe README download and parallelized feature table generation - Added user-friendly completion messages for targets like `copy-infra` and `render`. #### Documentation server updates: - Enhanced the `start` target with messages indicating server start and URL for local documentation viewing. --- ### Documentation Improvements: #### Content clarity and consistency: - Standardized section titles for consistency across documentation files. [[1]](diffhunk://#diff-9b1a85ea8a9dcf79f58246c88692cd7a36316665d7e05a69141cfdc50794c82aL1-R1) [[2]](diffhunk://#diff-944008ad3a79d8a312183618401fcfa71da0e69c75803eff09b779fc8e03183dL1-R1) - Refined phrasing and formatting in sections like "Dependency management" and "Formatting and linting" for better readability. [[1]](diffhunk://#diff-2069d4f956ab606ae6d51b191439283798adaf3a6648542c409d258131617059L6-R6) [[2]](diffhunk://#diff-2069d4f956ab606ae6d51b191439283798adaf3a6648542c409d258131617059L84-R82) #### Enhanced workflows: - Updated instructions for building and viewing documentation locally, including tips for specifying server ports and handling API reference previews. [[1]](diffhunk://#diff-048deddcfd44b242e5b23aed9f2e9ec73afc672244ce14df2a0a316d95840c87L60-R94) [[2]](diffhunk://#diff-048deddcfd44b242e5b23aed9f2e9ec73afc672244ce14df2a0a316d95840c87L82-R126) - Expanded guidance on cleaning documentation artifacts and using linting tools effectively. [[1]](diffhunk://#diff-048deddcfd44b242e5b23aed9f2e9ec73afc672244ce14df2a0a316d95840c87L82-R126) [[2]](diffhunk://#diff-048deddcfd44b242e5b23aed9f2e9ec73afc672244ce14df2a0a316d95840c87L107-R142) #### API reference documentation: - Improved instructions for generating and formatting in-code documentation, highlighting best practices for docstring writing. [[1]](diffhunk://#diff-048deddcfd44b242e5b23aed9f2e9ec73afc672244ce14df2a0a316d95840c87L107-R142) [[2]](diffhunk://#diff-048deddcfd44b242e5b23aed9f2e9ec73afc672244ce14df2a0a316d95840c87L144-R186) --- ### Minor Changes: - Added support for a new package name (`langchain_v1`) in the API documentation generation script. - Fixed minor capitalization and formatting issues in documentation files. [[1]](diffhunk://#diff-2069d4f956ab606ae6d51b191439283798adaf3a6648542c409d258131617059L40-R40) [[2]](diffhunk://#diff-2069d4f956ab606ae6d51b191439283798adaf3a6648542c409d258131617059L166-R160) --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
66 lines
2.8 KiB
Plaintext
66 lines
2.8 KiB
Plaintext
---
|
|
sidebar_position: 0.5
|
|
---
|
|
# Repository Structure
|
|
|
|
If you plan on contributing to LangChain code or documentation, it can be useful
|
|
to understand the high level structure of the repository.
|
|
|
|
LangChain is organized as a [monorepo](https://en.wikipedia.org/wiki/Monorepo) that contains multiple packages.
|
|
You can check out our [installation guide](/docs/how_to/installation/) for more on how they fit together.
|
|
|
|
Here's the structure visualized as a tree:
|
|
|
|
```text
|
|
.
|
|
├── cookbook # Tutorials and examples
|
|
├── docs # Contains content for the documentation here: https://python.langchain.com/
|
|
├── libs
|
|
│ ├── langchain
|
|
│ │ ├── langchain
|
|
│ │ ├── tests/unit_tests # Unit tests (present in each package not shown for brevity)
|
|
│ │ ├── tests/integration_tests # Integration tests (present in each package not shown for brevity)
|
|
│ ├── community # Third-party integrations
|
|
│ │ ├── langchain-community
|
|
│ ├── core # Base interfaces for key abstractions
|
|
│ │ ├── langchain-core
|
|
│ ├── experimental # Experimental components and chains
|
|
│ │ ├── langchain-experimental
|
|
| ├── cli # Command line interface
|
|
│ │ ├── langchain-cli
|
|
│ ├── text-splitters
|
|
│ │ ├── langchain-text-splitters
|
|
│ ├── standard-tests
|
|
│ │ ├── langchain-standard-tests
|
|
│ ├── partners
|
|
│ ├── langchain-partner-1
|
|
│ ├── langchain-partner-2
|
|
│ ├── ...
|
|
│
|
|
├── templates # A collection of easily deployable reference architectures for a wide variety of tasks.
|
|
```
|
|
|
|
The root directory also contains the following files:
|
|
|
|
* `pyproject.toml`: Dependencies for building docs and linting docs, cookbook.
|
|
* `Makefile`: A file that contains shortcuts for building, linting and docs and cookbook.
|
|
|
|
There are other files in the root directory level, but their presence should be self-explanatory. Feel free to browse around!
|
|
|
|
## Documentation
|
|
|
|
The `/docs` directory contains the content for the documentation that is shown
|
|
at [python.langchain.com](https://python.langchain.com/) and the associated [API Reference](https://python.langchain.com/api_reference/).
|
|
|
|
See the [documentation](../how_to/documentation/index.mdx) guidelines to learn how to contribute to the documentation.
|
|
|
|
## Code
|
|
|
|
The `/libs` directory contains the code for the LangChain packages.
|
|
|
|
To learn more about how to contribute code see the following guidelines:
|
|
|
|
- [Code](../how_to/code/index.mdx): Learn how to develop in the LangChain codebase.
|
|
- [Integrations](../how_to/integrations/index.mdx): Learn how to contribute to third-party integrations to `langchain-community` or to start a new partner package.
|
|
- [Testing](../how_to/testing.mdx): Guidelines to learn how to write tests for the packages.
|