Skip to content

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 or Milvus for efficient vector database management.

License

Notifications You must be signed in to change notification settings

whyhow-ai/rule-based-retrieval

Repository files navigation

Rule-based Retrieval

Python Version License PyPI Version Code Style: Black Checked with mypy Whyhow Discord

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, Milvus or Qdrant credentials

Install from PyPI

You can install the package directly from PyPI using pip:

pip install rule-based-retrieval

Install from GitHub

Alternatively, you can clone the repo and install the package:

git clone [email protected]: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:

pip install -e .[dev]

For ZSH:

pip install -e ".[dev]"

If you want to install the package directly without explicitly cloning yourself run

pip install git+ssh://[email protected]/whyhow-ai/rule-based-retrieval

Documentation

Documentation can be found here.

To serve the docs locally run

pip install -e .[docs]
mkdocs serve

For ZSH:

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

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:

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 [email protected], or follow our newsletter at WhyHow.AI. Join our discussions about rules, determinism and knowledge graphs in RAG on our newly-created Discord.

About

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 or Milvus for efficient vector database management.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages