From 805e9bfc244abae39deec00d40dca8a5a97ac4e5 Mon Sep 17 00:00:00 2001 From: Bob Lin Date: Mon, 4 Dec 2023 14:27:57 -0600 Subject: [PATCH] Add doc for the development of core and experimental sections (#13966) ### **Description** Hi, I just started learning the source code of `langchain` and hope to contribute code. However, according to the instructions in the [CONTRIBUTING.md](https://github.com/langchain-ai/langchain/blob/master/.github/CONTRIBUTING.md) document, I could not run the test command `make test` to run normally. I found that many modules did not exist after [splitting `langchain_core`](https://github.com/langchain-ai/langchain/discussions/13823), so I updated the document. ### **Twitter handle** lin_bob57617 --- .github/CONTRIBUTING.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 766458c414e..8a39944be09 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -72,9 +72,10 @@ tell Poetry to use the virtualenv python environment (`poetry config virtualenvs ### Core vs. Experimental -This repository contains two separate projects: +This repository contains three separate projects: - `langchain`: core langchain code, abstractions, and use cases. -- `langchain.experimental`: see the [Experimental README](https://github.com/langchain-ai/langchain/tree/master/libs/experimental/README.md) for more information. +- `langchain_core`: contain interfaces for key abstractions as well as logic for combining them in chains (LCEL). +- `langchain_experimental`: see the [Experimental README](https://github.com/langchain-ai/langchain/tree/master/libs/experimental/README.md) for more information. Each of these has its own development environment. Docs are run from the top-level makefile, but development is split across separate test & release flows. @@ -128,6 +129,24 @@ make docker_tests There are also [integration tests and code-coverage](https://github.com/langchain-ai/langchain/tree/master/libs/langchain/tests/README.md) available. +### Only develop langchain_core or langchain_experimental + +If you are only developing `langchain_core` or `langchain_experimental`, you can simply install the dependencies for the respective projects and run tests: + +```bash +cd libs/core +poetry install --with test +make test +``` + +Or: + +```bash +cd libs/experimental +poetry install --with test +make test +``` + ### Formatting and Linting Run these locally before submitting a PR; the CI system will check also.