You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: .github/CONTRIBUTING.md
+47-11
Original file line number
Diff line number
Diff line change
@@ -70,17 +70,18 @@ Install Poetry: **[documentation on how to install it](https://python-poetry.org
70
70
❗Note: If you use `Conda` or `Pyenv` as your environment/package manager, after installing Poetry,
71
71
tell Poetry to use the virtualenv python environment (`poetry config virtualenvs.prefer-active-python true`)
72
72
73
-
### Core vs. Experimental
73
+
### Different packages
74
74
75
-
This repository contains three separate projects:
76
-
-`langchain`: core langchain code, abstractions, and use cases.
77
-
-`langchain_core`: contain interfaces for key abstractions as well as logic for combining them in chains (LCEL).
78
-
-`langchain_experimental`: see the [Experimental README](https://github.com/langchain-ai/langchain/tree/master/libs/experimental/README.md) for more information.
75
+
This repository contains multiple packages:
76
+
-`langchain-core`: Base interfaces for key abstractions as well as logic for combining them in chains (LangChain Expression Language).
77
+
-`langchain-community`: Third-party integrations of various components.
78
+
-`langchain`: Chains, agents, and retrieval logic that makes up the cognitive architecture of your applications.
79
+
-`langchain-experimental`: Components and chains that are experimental, either in the sense that the techniques are novel and still being tested, or they require giving the LLM more access than would be possible in most production systems.
79
80
80
81
Each of these has its own development environment. Docs are run from the top-level makefile, but development
81
82
is split across separate test & release flows.
82
83
83
-
For this quickstart, start with langchain core:
84
+
For this quickstart, start with langchain:
84
85
85
86
```bash
86
87
cd libs/langchain
@@ -330,15 +331,50 @@ what you wanted by clicking the `View deployment` or `Visit Preview` buttons on
330
331
This will take you to a preview of the documentation changes.
331
332
This preview is created by [Vercel](https://vercel.com/docs/getting-started-with-vercel).
332
333
333
-
## 🏭 Release Process
334
+
## 📕 Releases & Versioning
334
335
335
336
As of now, LangChain has an ad hoc release process: releases are cut with high frequency by
336
-
a developer and published to [PyPI](https://pypi.org/project/langchain/).
337
+
a maintainer and published to [PyPI](https://pypi.org/).
338
+
The different packages are versioned slightly differently.
337
339
338
-
LangChain follows the [semver](https://semver.org/) versioning standard. However, as pre-1.0 software,
339
-
even patch releases may contain [non-backwards-compatible changes](https://semver.org/#spec-item-4).
340
+
### `langchain-core`
340
341
341
-
### 🌟 Recognition
342
+
`langchain-core` is currently on version `0.1.x`.
343
+
344
+
As `langchain-core` contains the base abstractions and runtime for the whole LangChain ecosystem, we will communicate any breaking changes with advance notice and version bumps. The exception for this is anything in `langchain_core.beta`. The reason for `langchain_core.beta` is that given the rate of change of the field, being able to move quickly is still a priority, and this module is our attempt to do so.
345
+
346
+
Minor version increases will occur for:
347
+
348
+
- Breaking changes for any public interfaces NOT in `langchain_core.beta`
349
+
350
+
Patch version increases will occur for:
351
+
352
+
- Bug fixes
353
+
- New features
354
+
- Any changes to private interfaces
355
+
- Any changes to `langchain_core.beta`
356
+
357
+
### `langchain`
358
+
359
+
`langchain` is currently on version `0.0.x`
360
+
361
+
All changes will be accompanied by a patch version increase. Any changes to public interfaces are nearly always done in a backwards compatible way and will be communicated ahead of time when they are not backwards compatible.
362
+
363
+
We are targeting January 2024 for a release of `langchain` v0.1, at which point `langchain` will adopt the same versioning policy as `langchain-core`.
364
+
365
+
### `langchain-community`
366
+
367
+
`langchain-community` is currently on version `0.0.x`
368
+
369
+
All changes will be accompanied by a patch version increase.
370
+
371
+
### `langchain-experimental`
372
+
373
+
`langchain-experimental` is currently on version `0.0.x`
374
+
375
+
All changes will be accompanied by a patch version increase.
376
+
377
+
## 🌟 Recognition
342
378
343
379
If your contribution has made its way into a release, we will want to give you credit on Twitter (only if you want though)!
344
380
If you have a Twitter account you would like us to mention, please let us know in the PR or through another means.
0 commit comments