From cb27f6155427278500b8c80996b746dcf8352b7b Mon Sep 17 00:00:00 2001 From: Simon Suo <simonsdsuo@gmail.com> Date: Tue, 4 Apr 2023 13:08:02 -0400 Subject: [PATCH] Update contribution guide (#1041) Co-authored-by: Jerry Liu <jerryjliu98@gmail.com> --- CONTRIBUTING.md | 174 ++++++++++++++++++++++++-- docs/_static/contribution/contrib.png | Bin 0 -> 36740 bytes 2 files changed, 162 insertions(+), 12 deletions(-) create mode 100644 docs/_static/contribution/contrib.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4dcd73cfe1..d53bb73407 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,20 +1,170 @@ # ๐ก Contributing to LlamaIndex +Interested in contributing to LlamaIndex? Here's how to get started! -> โ ๏ธ **NOTE**: We are rebranding GPT Index as LlamaIndex! -> **2/19/2023**: We are still in the middle of the transition. If you are interested in contributing to LlamaIndex, make sure to follow the below steps. For testing, please do `import gpt_index` instead of `import llama_index`. +## Contribution Guideline +The best part of LlamaIndex is our community of users and contributors. -Interested in contributing to LlamaIndex? Here's how to get started! -## Contributions that we're looking for: -- Bug fixes -- New features +### What should I work on? +1. ๐ Extend core modules +2. ๐ Fix bugs +3. ๐ Add usage examples +4. ๐งช Add experimental features +5. ๐ Improve code quality & documentation + +Also, join our Discord for ideas and discussions: https://discord.gg/dGcwcsnxhU. + + +### 1. ๐ Extend Core Modules +The most impactful way to contribute to LlamaIndex is extending our core modules: + + +We welcome contributions in _all_ modules shown above. +So far, we have implemented a core set of functionalities for each. +As a contributor, you can help each module unlock its full potential. + +**NOTE**: We are making rapid improvements to the project, and as a result, +some interfaces are still volatile. Specifically, we are actively working on making the following components more modular and extensible (uncolored boxes above): core indexes, document stores, index queries, query runner + +#### Module Details +Below, we will describe what each module does, give a high-level idea of the interface, show existing implementations, and give some ideas for contribution. + +--- +#### Data Loaders +A data loader ingests data of any format from anywhere into `Document` objects, which can then be parsed and indexed. + +**Interface**: `load_data` takes arbitrary arguments as input (e.g. path to data), and outputs a sequence of `Document` objects. + + +**Examples**: +* [Google Sheets Loader](https://github.com/emptycrown/llama-hub/tree/main/loader_hub/google_sheets) +* [Gmail Loader](https://github.com/emptycrown/llama-hub/tree/main/loader_hub/gmail) +* [Github Repository Loader](https://github.com/emptycrown/llama-hub/tree/main/loader_hub/github_repo) + +Contributing a data loader is easy and super impactful for the community. +The preferred way to contribute is making a PR at [LlamaHub Github](https://github.com/emptycrown/llama-hub). + +**Ideas** +* Want to load something but there's no LlamaHub data loader for it yet? Make a PR! + +--- +#### Node Parser +A node parser parses `Document` objects into `Node` objects (atomic unit of data that LlamaIndex operates over, e.g., chunk of text, image, or table). +It is responsible for splitting text (via text splitters) and explicitly modelling the relationship between units of data (e.g. A is the source of B, C is a chunk after D). + +**Interface**: `get_nodes_from_documents` takes a sequence of `Document` objects as input, and outputs a sequence of `Node` objects. + +**Examples**: +* [Simple Node Parser](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/node_parser/simple.py) + +See [the API reference](https://gpt-index.readthedocs.io/en/latest/reference/node_parser.html) for full details. + +**Ideas**: +* Add new `Node` relationships to model to model hierarchical documents (e.g. play-act-scene, chapter-section-heading). + +--- +#### Text Splitters +Text splitter splits a long text `str` into smaller text `str` chunks with desired size and splitting "strategy" since LLMs have a limited context window size, and the quality of text chunk used as context impacts the quality of query results. + +**Interface**: `split_text` takes a `str` as input, and outputs a sequence of `str` + +**Examples**: +* [Token Text Splitter](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/langchain_helpers/text_splitter.py#L23) +* [Sentence Splitter](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/langchain_helpers/text_splitter.py#L239) + +--- +#### Vector Stores +Our vector store classes store embeddings and support lookup via similiarty search. +These serve as the main data store and retrieval engine for our vector index. + +**Interface**: +* `add` takes in a sequence of `NodeEmbeddingResults` and insert the embeddings (and possibly the node contents & metadata) into the vector store. +* `delete` removes entries given document IDs. +* `query` retrieves top-k most similar entries given a query embedding. + +**Examples**: +* [Pinecone](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/vector_stores/pinecone.py) +* [Faiss](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/vector_stores/faiss.py) +* [Chroma](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/vector_stores/chroma.py) + +**Ideas**: +* See a vector database out there that we don't support yet? Make a PR! + +See [reference](https://gpt-index.readthedocs.io/en/latest/reference/indices/vector_stores/stores.html) for full details. + +--- +#### Query Transforms +A query transform augments a raw query string with associated transformations to improve index querying. +This can interpreted as a pre-processing stage, before the core index query logic is executed. + +**Interface**: `run` takes in a `str` or `Querybundle` as input, and outputs a transformed `QueryBundle`. + +**Examples**: +* [Hypothetical Document Embeddings](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/indices/query/query_transform/base.py#L77) +* [Query Decompose](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/indices/query/query_transform/base.py#L124) + +See [guide](https://gpt-index.readthedocs.io/en/latest/how_to/query/query_transformations.html#hyde-hypothetical-document-embeddings) for more information. + +--- +#### Token Usage Optimizers +A token usage optimizer refines the retrieved `Nodes` to reduce token usage during response synthesis. + +**Interface**: `optimize` takes in the `QueryBundle` and a text chunk `str`, and outputs a refined text chunk `str` that yeilds a more optimized response + +**Examples**: +* [Sentence Embedding Optimizer](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/optimization/optimizer.py) + +--- +#### Node Postprocessors +A node postprocessor refines a list of retrieve nodes given configuration and context. + +**Interface**: `postprocess_nodes` takes a list of `Nodes` and extra metadata (e.g. similarity and query), and outputs a refined list of `Nodes`. + + +**Examples**: +* [Keyword Postprocessor](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/indices/postprocessor/node.py#L32): filters nodes based on keyword match +* [Similarity Postprocessor](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/indices/postprocessor/node.py#L62): filers nodes based on similarity threshold +* [Prev Next Postprocessor](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/indices/postprocessor/node.py#L135): fetchs additional nodes to augment context based on node relationships. + +--- +#### Output Parsers +A output parser enables us to extract structured output from the plain text output generated by the LLM. + +**Interface**: +* `format`: formats a query `str` with structured output formatting instructions, and outputs the formatted `str` +* `parse`: takes a `str` (from LLM response) as input, and gives a parsed tructured output (optionally also validated, error-corrected). + +**Examples**: +* [Guardrails Output Parser](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/output_parsers/guardrails.py) +* [Langchain Output Parser](https://github.com/jerryjliu/llama_index/blob/main/gpt_index/output_parsers/langchain.py) + +See [guide](https://gpt-index.readthedocs.io/en/latest/how_to/output_parsing.html) for more information. + +--- + +### 2. ๐ Fix Bugs +Most bugs are reported and tracked in the [Github Issues Page](https://github.com/jerryjliu/gpt_index/issues). +We try our best in triaging and tagging these issues: +* Issues tagged as `bug` are confirmed bugs. +* New contributors may want to start with issues tagged with `good first issue`. -All future tasks are tracked in [Github Issues Page](https://github.com/jerryjliu/gpt_index/issues). Please feel free to open an issue and/or assign an issue to yourself. -Also, join our Discord for discussions: https://discord.gg/dGcwcsnxhU. +### 3. ๐ Add Usage Examples +If you have applied LlamaIndex to a unique use-case (e.g. interesting dataset, customized index structure, complex query), we would love your contribution in the form of: +1. a guide: e.g. [guide to LlamIndex + Structured Data](https://gpt-index.readthedocs.io/en/latest/guides/tutorials/sql_guide.html) +Todo. +2. an example notebook: e.g. [Composable Indices Demo](https://github.com/jerryjliu/llama_index/blob/main/examples/composable_indices/ComposableIndices-Prior.ipynb) + +### 4. ๐งช Add Experimental Features +If you have a crazy idea, make a PR for it! +Whether if it's the latest research, or what you thought of in the shower, we'd love to see creative ways to improve LlamaIndex. + +### 5. ๐ Improve Code Quality & Documentation +We would love your help in making the project cleaner, more robust, and more understandable. If you find something confusing, it most likely is for other people as well. Help us be better! -## Environment Setup +## Development Guideline +### Environment Setup LlamaIndex is a Python package. We've tested primarily with Python versions >= 3.8. Here's a quick and dirty guide to getting your environment setup. @@ -40,12 +190,12 @@ pip install -r requirements.txt Now you should be set! -## Validating your Change +### Validating your Change Let's make sure to `format/lint` our change. For bigger changes, let's also make sure to `test` it and perhaps create an `example notebook`. -### Formatting/Linting +#### Formatting/Linting You can format and lint your changes with the following commands in the root directory: @@ -61,7 +211,7 @@ pre-commit install We run an assortment of linters: `black`, `ruff`, `mypy`. -### Testing +#### Testing For bigger changes, you'll want to create a unit test. Our tests are in the `tests` folder. We use `pytest` for unit testing. To run all unit tests, run the following in the root dir: diff --git a/docs/_static/contribution/contrib.png b/docs/_static/contribution/contrib.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb70d844aeffe1039f36c7b782a8d438d638a61 GIT binary patch literal 36740 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 V%Va)MV_;xl@O1TaS?83{1ONqE*9HIp literal 0 HcmV?d00001 -- GitLab