Skip to content

Commit

Permalink
Add doc for the development of core and experimental sections (#13966)
Browse files Browse the repository at this point in the history
### **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`](#13823),
so I updated the document.

### **Twitter handle** 

lin_bob57617
  • Loading branch information
169 committed Dec 4, 2023
1 parent 25f7294 commit 805e9bf
Showing 1 changed file with 21 additions and 2 deletions.
23 changes: 21 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.
Expand Down

0 comments on commit 805e9bf

Please sign in to comment.