Aggrag allows you to configure LLM experiments, and take them from prototype to deployment wthin a single framework. With Aggrag library, you get a framework that allows:
npm install
and then npm run start
python -m library.app serve
. Note, however:
.env
file in the root directory. Use the .env-sample
file as a reference.pip install -r requirements.txt
. It is recommended to create a new virtualenv in the root directory to avoid installing packages globally. Command to create a new virtual env: python3 -m venv venv
For deployment, however, you can use a command same or similar to: gunicorn --workers=4 --threads=4 -b 0.0.0.0:8000 --log-file=logs/app.log --log-level=info library.wsgi:app
When adding a new package, please make sure to:
requirements.in
file.pip-compile requirements.in
to automatically update the requirements.txt
file with the new package
and its sub-dependencies.pip install -r requirements.txt
to install the updated dependencies.NOTE: After adding a new package and running pip-compile
, always run pip install -r requirements.txt
to ensure
that all dependencies are installed correctly and that there are no issues with the installation process.
Detailed documentation is work in progress.
You will be able to install aggrag locally with Python 3.8 and higher, or use a playground environment hosted by us. The web version of aggrag will have a limited feature set. In a locally installed version you can load API keys automatically from environment variables, write Python code to evaluate LLM/RAG responses.
Aggrag library comes with a directory of RAGs that you can integrate into your application on the fly, or run experiments with them. More details coming soon.
Real-world case studies and sample use cases can be found in the '/examples' directory. We will continue to add more until a substantial number of use cases are covered.
You are also welcome to contribute by adding your own use cases to this directory:)
Aggrag is released under the MIT License.
Aggrag is our original concept, however, for implementation we have relied on the existing development of: arXiv pre-print