# Rule-based Retrieval
[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/license-MIT-green)](https://opensource.org/licenses/MIT)
[![PyPI Version](https://img.shields.io/pypi/v/rule-based-retrieval)](https://pypi.org/project/rule-based-retrieval/)
[![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)](https://mypy-lang.org/)
[![Whyhow Discord](https://dcbadge.vercel.app/api/server/PAgGMxfhKd?compact=true&style=flat)](https://discord.gg/PAgGMxfhKd)
The Rule-based Retrieval package is a Python package that enables you to create and manage Retrieval Augmented Generation (RAG) applications with advanced filtering capabilities. It seamlessly integrates with OpenAI for text generation and Pinecone for efficient vector database management.
# Installation
### Prerequisites
- Python 3.10 or higher
- OpenAI API key
- Pinecone or Milvus API key
### Install from PyPI
You can install the package directly from PyPI using pip:
```shell
pip install rule-based-retrieval
```
### Install from GitHub
Alternatively, you can clone the repo and install the package:
```shell
git clone git@github.com:whyhow-ai/rule-based-retrieval.git
cd rule-based-retrieval
pip install .
```
### Developer Install
For a developer installation, use an editable install and include the development dependencies:
```shell
pip install -e .[dev]
```
For ZSH:
```shell
pip install -e ".[dev]"
```
If you want to install the package directly without explicitly cloning yourself
run
```shell
pip install git+ssh://git@github.com/whyhow-ai/rule-based-retrieval
```
# Documentation
Documentation can be found [here](https://whyhow-ai.github.io/rule-based-retrieval/).
To serve the docs locally run
```shell
pip install -e .[docs]
mkdocs serve
```
For ZSH:
```shell
pip install -e ".[docs]"
mkdocs serve
```
Navigate to http://127.0.0.1:8000/ in your browser to view the documentation.
# Examples
Check out the `examples/` directory for sample scripts demonstrating how to use the Rule-based Retrieval package.
# How to
### [Demo](https://www.loom.com/share/089101b455b34701875b9f362ba16b89)
`whyhow_rbr` offers different ways to implement Rule-based Retrieval through two databases and down below are the documentations(tutorial and example) for each implementation:
- [Milvus](docs/milvus.md)
- [Pinecone](docs/pinecone.md)
# Contributing
We welcome contributions to improve the Rule-based Retrieval package! If you have any ideas, bug reports, or feature requests, please open an issue on the GitHub repository.
If you'd like to contribute code, please follow these steps:
1. Fork the repository
2. Create a new branch for your feature or bug fix
3. Make your changes and commit them with descriptive messages
4. Push your changes to your forked repository
5. Open a pull request to the main repository
### License
This project is licensed under the MIT License.
### Support
WhyHow.AI is building tools to help developers bring more determinism and control to their RAG pipelines using graph structures. If you're thinking about, in the process of, or have already incorporated knowledge graphs in RAG, we’d love to chat at team@whyhow.ai, or follow our newsletter at [WhyHow.AI](https://www.whyhow.ai/). Join our discussions about rules, determinism and knowledge graphs in RAG on our newly-created [Discord](https://discord.com/invite/9bWqrsxgHr).
Raw data
{
"_id": null,
"home_page": null,
"name": "rule-based-retrieval",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "retrieval, RAG, Pinecone, openai, LLM",
"author": "Tom Smoker",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/78/c0/45823280b95606fec95b5979c8f8e6a07423f3cd6afae89376ae536a1d1d/rule_based_retrieval-0.1.4.tar.gz",
"platform": null,
"description": "# Rule-based Retrieval\n\n[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/downloads/)\n[![License](https://img.shields.io/badge/license-MIT-green)](https://opensource.org/licenses/MIT)\n[![PyPI Version](https://img.shields.io/pypi/v/rule-based-retrieval)](https://pypi.org/project/rule-based-retrieval/)\n[![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)](https://mypy-lang.org/)\n[![Whyhow Discord](https://dcbadge.vercel.app/api/server/PAgGMxfhKd?compact=true&style=flat)](https://discord.gg/PAgGMxfhKd)\n\nThe Rule-based Retrieval package is a Python package that enables you to create and manage Retrieval Augmented Generation (RAG) applications with advanced filtering capabilities. It seamlessly integrates with OpenAI for text generation and Pinecone for efficient vector database management.\n\n# Installation\n\n### Prerequisites\n\n- Python 3.10 or higher\n- OpenAI API key\n- Pinecone or Milvus API key\n\n### Install from PyPI\n\nYou can install the package directly from PyPI using pip:\n\n```shell\npip install rule-based-retrieval\n```\n\n### Install from GitHub\n\nAlternatively, you can clone the repo and install the package:\n\n```shell\ngit clone git@github.com:whyhow-ai/rule-based-retrieval.git\ncd rule-based-retrieval\npip install .\n```\n\n### Developer Install\n\nFor a developer installation, use an editable install and include the development dependencies:\n\n```shell\npip install -e .[dev]\n```\n\nFor ZSH:\n\n```shell\npip install -e \".[dev]\"\n```\n\nIf you want to install the package directly without explicitly cloning yourself\nrun\n\n```shell\npip install git+ssh://git@github.com/whyhow-ai/rule-based-retrieval\n```\n\n# Documentation\n\nDocumentation can be found [here](https://whyhow-ai.github.io/rule-based-retrieval/).\n\nTo serve the docs locally run\n\n```shell\npip install -e .[docs]\nmkdocs serve\n```\n\nFor ZSH:\n\n```shell\npip install -e \".[docs]\"\nmkdocs serve\n```\n\nNavigate to http://127.0.0.1:8000/ in your browser to view the documentation.\n\n# Examples\n\nCheck out the `examples/` directory for sample scripts demonstrating how to use the Rule-based Retrieval package.\n\n# How to\n\n### [Demo](https://www.loom.com/share/089101b455b34701875b9f362ba16b89)\n`whyhow_rbr` offers different ways to implement Rule-based Retrieval through two databases and down below are the documentations(tutorial and example) for each implementation:\n\n- [Milvus](docs/milvus.md) \n- [Pinecone](docs/pinecone.md)\n\n# Contributing\n\nWe welcome contributions to improve the Rule-based Retrieval package! If you have any ideas, bug reports, or feature requests, please open an issue on the GitHub repository.\n\nIf you'd like to contribute code, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch for your feature or bug fix\n3. Make your changes and commit them with descriptive messages\n4. Push your changes to your forked repository\n5. Open a pull request to the main repository\n\n### License\n\nThis project is licensed under the MIT License.\n\n### Support\n\nWhyHow.AI is building tools to help developers bring more determinism and control to their RAG pipelines using graph structures. If you're thinking about, in the process of, or have already incorporated knowledge graphs in RAG, we\u2019d love to chat at team@whyhow.ai, or follow our newsletter at [WhyHow.AI](https://www.whyhow.ai/). Join our discussions about rules, determinism and knowledge graphs in RAG on our newly-created [Discord](https://discord.com/invite/9bWqrsxgHr).\n",
"bugtrack_url": null,
"license": null,
"summary": "Python package for Rule-based Retrieval using RAG",
"version": "0.1.4",
"project_urls": {
"Documentation": "https://whyhow-ai.github.io/rule-based-retrieval/",
"Homepage": "https://whyhow.ai",
"Issue Tracker": "https://github.com/whyhow-ai/rule-based-retrieval/issues"
},
"split_keywords": [
"retrieval",
" rag",
" pinecone",
" openai",
" llm"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3e7bf73245fbbeeb4f7b72891a7ad9cb6ac7a4dac54cf083ed8ec791800485bf",
"md5": "391f7ee5924a88236d46f5ead899b1f6",
"sha256": "a97203b89446e94d4218b3af79dbbf4593de10d112381b7a7118f717a2e0546b"
},
"downloads": -1,
"filename": "rule_based_retrieval-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "391f7ee5924a88236d46f5ead899b1f6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 19133,
"upload_time": "2024-04-26T05:15:02",
"upload_time_iso_8601": "2024-04-26T05:15:02.899262Z",
"url": "https://files.pythonhosted.org/packages/3e/7b/f73245fbbeeb4f7b72891a7ad9cb6ac7a4dac54cf083ed8ec791800485bf/rule_based_retrieval-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "78c045823280b95606fec95b5979c8f8e6a07423f3cd6afae89376ae536a1d1d",
"md5": "60310f9287a02814cc16dd17ebc06302",
"sha256": "354976b6687a64971a15ab586fb8bff9b286d74bace1fc7a1bc19962e24839dd"
},
"downloads": -1,
"filename": "rule_based_retrieval-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "60310f9287a02814cc16dd17ebc06302",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 19694,
"upload_time": "2024-04-26T05:15:04",
"upload_time_iso_8601": "2024-04-26T05:15:04.599116Z",
"url": "https://files.pythonhosted.org/packages/78/c0/45823280b95606fec95b5979c8f8e6a07423f3cd6afae89376ae536a1d1d/rule_based_retrieval-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-26 05:15:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "whyhow-ai",
"github_project": "rule-based-retrieval",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rule-based-retrieval"
}