transformers pytorch falcon text-generation retrieval-augmented-generation custom_code en dataset:neural-bridge/rag-full-20000 arxiv:2106.09685 license:apache-2.0 autotrain_compatible text-generation-inference region:us
---
license: apache-2.0
datasets:
- neural-bridge/rag-full-20000
language:
- en
tags:
- retrieval-augmented-generation
inference: false
pipeline_tag: text-generation
---
# **Rago v1 7B**
**Rago v1 7B is a 7B parameter retrieval-augmented generation-optimized model built by [Neural Bridge AI](https://www.neuralbridge.ai/) and trained on [RAG Full Dataset 20000](https://huggingface.co/datasets/neural-bridge/rag-full-20000). It is available under [Apache license 2.0](https://www.apache.org/licenses/LICENSE-2.0.html).**

## **Model Description**
Rago v1 7B model is a retrieval-augmented generation-optimized (RAGO) model, which enhances large language models by integrating an external authoritative knowledge base (context) for generating responses. This integration significantly improves the model's ability to produce relevant, accurate, and context-specific output across specialized domains or internal data without necessitating retraining. It addresses key challenges of large language models (LLMs), such as unpredictability, reliance on potentially outdated data, and the propagation of incorrect information, thereby improving user trust in AI applications. Rago v1 7B, specifically, is an advancement built upon the [Falcon-7B](https://huggingface.co/tiiuae/falcon-7b) model, optimized for retrieval-augmented generation, making it particularly effective in contextually aware response generation.

```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch

model = "neural-bridge/Rago-v1-7b"

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto",
)

def create_prompt(context, question):
  return f"""##CONTEXT## {context} ##QUESTION## {question} ##ANSWER##"""

sequences = pipeline(
   create_prompt(
       context="Neural Bridge AI is a software company developing artificial intelligence (AI) solutions. It is founded in New York in the USA.",
       question="What solutions does Neural Bridge AI develop for its clients?"
   ),
    max_length=200,
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
)

def print_result(generated_text):
  result_start = "##ANSWER##"
  answer_start = generated_text.find(result_start)
  print(generated_text[answer_start + len(result_start) :].strip())

for seq in sequences:
    print_result(seq["generated_text"])
```

## **Model Details**

### Training Data

Rago v1 7B has been trained using the [Neural Bridge's RAG Full 20000](https://huggingface.co/datasets/neural-bridge/rag-full-20000) dataset, which comprises a blend of [RefinedWeb](https://huggingface.co/datasets/tiiuae/falcon-refinedweb), [gms8k](https://huggingface.co/datasets/gsm8k), and [RAG Hallucination Dataset 1000](https://huggingface.co/datasets/neural-bridge/rag-hallucination-dataset-1000).

### Training Details

In terms of training specifics, Rago v1 7B is built upon [Falcon-7B](https://huggingface.co/tiiuae/falcon-7b) employing [LoRA](https://arxiv.org/abs/2106.09685) to enhance the model's capability to deliver relevant, precise, and context-specific output across specialized domains or internal datasets. This approach aims to tackle significant challenges faced by LLMs, such as unpredictability, reliance on potentially outdated information, and the spread of incorrect data. The architecture of Rago v1 7B mirrors that of [Falcon-7B](https://huggingface.co/tiiuae/falcon-7b), augmented with [LoRA](https://arxiv.org/abs/2106.09685) adapters. The model is trained on a single NVIDIA A100 GPU for approximately ten hours, utilizing a learning rate of *2e-5* with cosine scheduler, alongside the following LoRA parameters:

* LoRA Rank (R): 32
* LoRA Alpha: 64
* LoRA Dropout: 0.05
* Target Modules: *query_key_value, dense, dense_h_to_4h, dense_4h_to_h*

Rago v1 1B benefits from a custom data collator designed to boost model performance significantly. Employing a masked language modeling (MLM) strategy, the model is fine-tuned to generate more accurate responses by exclusively masking the answer portion of the training data. This custom data collator has led to noticeable improvements in the model's factuality performance.

## **Neural Bridge AI Rago Models Index**

| Model       |  Link                                                     | Base Model
| -----       | ------                                                    | ----------
| Rago v1 1B  |  [link](https://huggingface.co/neural-bridge/Rago-v1-1b)  | [Falcon-RW-1B](https://huggingface.co/tiiuae/falcon-rw-1b)
| Rago v1 7B  |  [link](https://huggingface.co/neural-bridge/Rago-v1-7b)  | [Falcon-7B](https://huggingface.co/tiiuae/falcon-7b)
| Rago v1 40B |  [link](https://huggingface.co/neural-bridge/Rago-v1-40b) | [Falcon-40B](https://huggingface.co/tiiuae/falcon-40b)
| Rago v2 7B  |  [link](https://huggingface.co/neural-bridge/Rago-v2-7b)  | [Llama 2 7B](https://huggingface.co/meta-llama/Llama-2-7b-hf)
| Rago v2 13B |  [link](https://huggingface.co/neural-bridge/Rago-v2-13b) | [Llama 2 13B](https://huggingface.co/meta-llama/Llama-2-13b-hf)

## **License**

This public extract is made available under [Apache license 2.0](https://www.apache.org/licenses/LICENSE-2.0.html). Users should also abide to the [Falcon-7B](https://huggingface.co/tiiuae/falcon-7b) ToU.