---
title: "RAG (Data)"
description: "How to use our inbuilt RAG"
icon: "database"
---

# Using RAG in Rowboat

Rowboat provides multiple ways to enhance your agents' context with Retrieval-Augmented Generation (RAG). This guide will help you set up and use each RAG feature.

<Info>RAG is called "Data" on the build view in the Rowboat UI. </Info>

---

## Types of RAG

| RAG Type | Description | Configuration Required |
|----------|-------------|------------------------|
| **Text RAG** | Process and reason over text content directly | No configuration needed |
| **File Uploads** | Upload PDF files directly from your device | No configuration needed |
| **URL Scraping** | Scrape content from web URLs using Firecrawl | Requires API key setup |

<Note> URL Scraping does not require any setup in the managed version of Rowboat. </Note>

<Frame>
  <img src="/docs/img/rag-adding-data.png" className="w-full max-w-[800px] rounded-xl" alt="Adding data sources for RAG in Rowboat" />
</Frame>


## RAG Features

### 1. Text RAG

Process and reason over text content directly


### 2. File Uploads

- Upload PDF files directly from your device  
- **Open Source Version**: Files are stored locally on your machine
- **Managed Version**: Files are stored in cloud S3 storage
- Files are parsed using OpenAI by default  

<Note> You can also use Google's Gemini model for parsing as it is better at parsing larger files. </Note>

#### 2.1 Using Gemini for File Parsing

To use Google's Gemini model for parsing uploaded PDFs, set the following variables:

```bash
# Enable Gemini for file parsing
export USE_GEMINI_FILE_PARSING=true
export GOOGLE_API_KEY=your_google_api_key
```


### 3. URL Scraping

Rowboat uses Firecrawl for URL scraping. You can have a maximum of 100 URLs.

**Open Source Version**: To enable URL scraping, set the following variables:

```bash
export USE_RAG_SCRAPING=true
export FIRECRAWL_API_KEY=your_firecrawl_api_key
```

**Managed Version**: No configuration required - URL scraping is handled automatically.
