Metadata-Version: 2.1
Name: rago
Version: 0.9.0
Summary: Rago is a lightweight framework for RAG
License: BSD 3 Clause
Author: Ivan Ogasawara
Author-email: ivan.ogasawara@gmail.com
Requires-Python: >=3.9,<4
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: cpu
Provides-Extra: gpu
Requires-Dist: faiss-cpu (>=1.9.0)
Requires-Dist: google-generativeai (>=0.8.3,<0.9.0)
Requires-Dist: instructor (>=1)
Requires-Dist: langchain (>=0.3.7)
Requires-Dist: langchain-community (>=0.3.7)
Requires-Dist: langdetect (>=1)
Requires-Dist: openai (>=1.52.2,<2.0.0)
Requires-Dist: pydantic (>=2)
Requires-Dist: pypdf (>=5)
Requires-Dist: sentence-transformers (>=3.2.0)
Requires-Dist: sentencepiece (>=0.2.0)
Requires-Dist: spacy (>=3)
Requires-Dist: torch (>=2.5.0) ; extra == "cpu" and extra != "gpu"
Requires-Dist: torch (>=2.5.0) ; extra == "gpu" and extra != "cpu"
Requires-Dist: torchvision (>=0.20.0) ; extra == "cpu" and extra != "gpu"
Requires-Dist: torchvision (>=0.20.0) ; extra == "gpu" and extra != "cpu"
Requires-Dist: transformers (>=4)
Requires-Dist: typeguard (>=4.0)
Description-Content-Type: text/markdown

# Rago

Rago is a lightweight framework for RAG.

- Software License: BSD 3 Clause
- Documentation: https://osl-incubator.github.io/rago

## Features

- Support for Hugging Face
- Support for llama

## Installation

If you want to install it for `cpu` only, you can run:

```bash
$ pip install rago[cpu]
```

But, if you want to install it for `gpu` (cuda), you can run:

```bash
$ pip install rago[gpu]
```

## Setup

### Llama 3

In order to use a llama model, visit its page on huggingface and request your
access in its form, for example: https://huggingface.co/meta-llama/Llama-3.2-1B.

After you are granted access to the desired model, you will be able to use it
with Rago.

you will also need to provide a hugging face token in order to download the
models locally, for example:

```python

rag = Rago(
    retrieval=StringRet(animals_data),
    augmented=SentenceTransformerAug(top_k=3),
    generation=LlamaGen(apikey=HF_TOKEN),
)
rag.prompt('Is there any animals larger than a dinosaur?')
```

