mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-12 12:59:07 +00:00
CONTRIBUTING.md Quick Start: focus on langchain core; clarify docs and experimental are separate (#10906)
follow up to https://github.com/langchain-ai/langchain/pull/7959 , explaining better to focus just on langchain core no dependencies twitter @cjcjameson
This commit is contained in:
@@ -13,4 +13,4 @@ Some of the code here may be marked with security notices. However,
|
||||
given the exploratory and experimental nature of the code in this package,
|
||||
the lack of a security notice on a piece of code does not mean that
|
||||
the code in question does not require additional security considerations
|
||||
in order to be safe to use.
|
||||
in order to be safe to use.
|
@@ -14,33 +14,6 @@ coverage:
|
||||
--cov-report xml \
|
||||
--cov-report term-missing:skip-covered
|
||||
|
||||
######################
|
||||
# DOCUMENTATION
|
||||
######################
|
||||
|
||||
clean: docs_clean api_docs_clean
|
||||
|
||||
|
||||
docs_build:
|
||||
docs/.local_build.sh
|
||||
|
||||
docs_clean:
|
||||
rm -r docs/_dist
|
||||
|
||||
docs_linkcheck:
|
||||
poetry run linkchecker docs/_dist/docs_skeleton/ --ignore-url node_modules
|
||||
|
||||
api_docs_build:
|
||||
poetry run python docs/api_reference/create_api_rst.py
|
||||
cd docs/api_reference && poetry run make html
|
||||
|
||||
api_docs_clean:
|
||||
rm -f docs/api_reference/api_reference.rst
|
||||
cd docs/api_reference && poetry run make clean
|
||||
|
||||
api_docs_linkcheck:
|
||||
poetry run linkchecker docs/api_reference/_build/html/index.html
|
||||
|
||||
# Define a variable for the test file path.
|
||||
TEST_FILE ?= tests/unit_tests/
|
||||
|
||||
@@ -98,7 +71,6 @@ spell_fix:
|
||||
|
||||
help:
|
||||
@echo '===================='
|
||||
@echo '-- DOCUMENTATION --'
|
||||
@echo 'clean - run docs_clean and api_docs_clean'
|
||||
@echo 'docs_build - build the documentation'
|
||||
@echo 'docs_clean - clean the documentation build artifacts'
|
||||
@@ -120,3 +92,4 @@ help:
|
||||
@echo 'test_watch - run unit tests in watch mode'
|
||||
@echo 'integration_tests - run integration tests'
|
||||
@echo 'docker_tests - run unit tests in docker'
|
||||
@echo '-- DOCUMENTATION tasks are from the top-level Makefile --'
|
||||
|
@@ -1,12 +1,52 @@
|
||||
# Readme tests(draft)
|
||||
# Langchain Tests
|
||||
|
||||
## Integrations Tests
|
||||
## Unit Tests
|
||||
|
||||
Unit tests cover modular logic that does not require calls to outside APIs.
|
||||
If you add new logic, please add a unit test.
|
||||
|
||||
To run unit tests:
|
||||
|
||||
```bash
|
||||
make test
|
||||
```
|
||||
|
||||
To run unit tests in Docker:
|
||||
|
||||
```bash
|
||||
make docker_tests
|
||||
```
|
||||
|
||||
## Integration Tests
|
||||
|
||||
Integration tests cover logic that requires making calls to outside APIs (often integration with other services).
|
||||
If you add support for a new external API, please add a new integration test.
|
||||
|
||||
**warning** Almost no tests should be integration tests.
|
||||
|
||||
Tests that require making network connections make it difficult for other
|
||||
developers to test the code.
|
||||
|
||||
Instead favor relying on `responses` library and/or mock.patch to mock
|
||||
requests using small fixtures.
|
||||
|
||||
To install dependencies for integration tests:
|
||||
|
||||
```bash
|
||||
poetry install --with test_integration
|
||||
```
|
||||
|
||||
To run integration tests:
|
||||
|
||||
```bash
|
||||
make integration_tests
|
||||
```
|
||||
|
||||
### Prepare
|
||||
|
||||
This repository contains functional tests for several search engines and databases. The
|
||||
tests aim to verify the correct behavior of the engines and databases according to their
|
||||
specifications and requirements.
|
||||
The integration tests exercise several search engines and databases. The tests
|
||||
aim to verify the correct behavior of the engines and databases according to
|
||||
their specifications and requirements.
|
||||
|
||||
To run some integration tests, such as tests located in
|
||||
`tests/integration_tests/vectorstores/`, you will need to install the following
|
||||
@@ -15,14 +55,6 @@ software:
|
||||
- Docker
|
||||
- Python 3.8.1 or later
|
||||
|
||||
We have optional group `test_integration` in the `pyproject.toml` file. This group
|
||||
should contain dependencies for the integration tests and can be installed using the
|
||||
command:
|
||||
|
||||
```bash
|
||||
poetry install --with test_integration
|
||||
```
|
||||
|
||||
Any new dependencies should be added by running:
|
||||
|
||||
```bash
|
||||
@@ -70,4 +102,20 @@ pytest tests/integration_tests/vectorstores/test_elasticsearch.py --vcr-record=n
|
||||
pytest tests/integration_tests/vectorstores/test_elasticsearch.py --cov=langchain --cov-report=html
|
||||
start "" htmlcov/index.html || open htmlcov/index.html
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
## Coverage
|
||||
|
||||
Code coverage (i.e. the amount of code that is covered by unit tests) helps identify areas of the code that are potentially more or less brittle.
|
||||
|
||||
Coverage requires the dependencies for integration tests:
|
||||
|
||||
```bash
|
||||
poetry install --with test_integration
|
||||
```
|
||||
|
||||
To get a report of current coverage, run the following:
|
||||
|
||||
```bash
|
||||
make coverage
|
||||
```
|
||||
|
Reference in New Issue
Block a user