{
setNewServer({ ...newServer, url: e.target.value });
From f73599b84c2f630b644d06ddae35bc17868cd376 Mon Sep 17 00:00:00 2001
From: arkml
Date: Tue, 20 May 2025 12:56:37 +0530
Subject: [PATCH 4/6] Update using_rag.md
---
apps/docs/docs/using_rag.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/apps/docs/docs/using_rag.md b/apps/docs/docs/using_rag.md
index a6094652..23447e00 100644
--- a/apps/docs/docs/using_rag.md
+++ b/apps/docs/docs/using_rag.md
@@ -49,6 +49,8 @@ export FIRECRAWL_API_KEY=your_firecrawl_api_key
## File Parsing Options
+By default, Rowboat uses OpenAI for parsing documents. However, if you have access to Google's Gemini, we highly recommend using Gemini 2.0 for file parsing.
+
### Default Parsing (OpenAI)
By default, uploaded PDF files are parsed using `gpt-4o`. You can customize this by setting the following:
@@ -101,4 +103,4 @@ export EMBEDDING_PROVIDER_BASE_URL=your-provider-base-url
export EMBEDDING_PROVIDER_API_KEY=your-provider-api-key
```
-If you don't specify the provider settings, Rowboat will use OpenAI as the default provider.
\ No newline at end of file
+If you don't specify the provider settings, Rowboat will use OpenAI as the default provider.
From 148299d6f8d62789e13b0615defb3d44c623fd0d Mon Sep 17 00:00:00 2001
From: arkml
Date: Tue, 20 May 2025 16:11:44 +0530
Subject: [PATCH 5/6] updated RAG docs
---
apps/docs/docs/using_rag.md | 53 +++++++++++++++++--------------------
1 file changed, 25 insertions(+), 28 deletions(-)
diff --git a/apps/docs/docs/using_rag.md b/apps/docs/docs/using_rag.md
index 23447e00..52deefad 100644
--- a/apps/docs/docs/using_rag.md
+++ b/apps/docs/docs/using_rag.md
@@ -1,12 +1,12 @@
# Using RAG in Rowboat
-Rowboat provides multiple ways to enhance your agents with Retrieval-Augmented Generation (RAG). This guide will help you set up and use each RAG feature.
+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 features.
## Quick Start
Text RAG and local file uploads are enabled by default - no configuration needed! Just start using them right away.
-## Available RAG Features
+## RAG Features
### 1. Text RAG
✅ Enabled by default:
@@ -21,8 +21,28 @@ Text RAG and local file uploads are enabled by default - no configuration needed
- Files are stored locally
- No configuration required
- Files are parsed using OpenAI by default
+- For larger files, we recommend using Gemini models - see section below.
-### 3. S3 File Uploads
+#### 2.1 Using Gemini for File Parsing
+To use Google's Gemini model for parsing uploaded PDFs, set the following variable:
+
+```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. To enable URL scraping, set the following variables:
+
+```bash
+export USE_RAG_SCRAPING=true
+export FIRECRAWL_API_KEY=your_firecrawl_api_key
+```
+
+## Advanced RAG features
+
+### 1. File Uploads Backed by S3
To enable S3 file uploads, set the following variables:
```bash
@@ -36,22 +56,8 @@ export RAG_UPLOADS_S3_BUCKET=your_bucket_name
export RAG_UPLOADS_S3_REGION=your_region
```
-### 4. URL Scraping
-To enable URL scraping, set the following variables:
+### 2. Changing Default Parsing Model
-```bash
-# Enable URL scraping
-export USE_RAG_SCRAPING=true
-
-# Firecrawl API key for web scraping
-export FIRECRAWL_API_KEY=your_firecrawl_api_key
-```
-
-## File Parsing Options
-
-By default, Rowboat uses OpenAI for parsing documents. However, if you have access to Google's Gemini, we highly recommend using Gemini 2.0 for file parsing.
-
-### Default Parsing (OpenAI)
By default, uploaded PDF files are parsed using `gpt-4o`. You can customize this by setting the following:
```bash
@@ -66,16 +72,7 @@ export FILE_PARSING_PROVIDER_BASE_URL=your-provider-base-url
export FILE_PARSING_PROVIDER_API_KEY=your-provider-api-key
```
-### Using Gemini for File Parsing
-To use Google's Gemini model for parsing uploaded PDFs, set the following variable:
-
-```bash
-# Enable Gemini for file parsing
-export USE_GEMINI_FILE_PARSING=true
-export GOOGLE_API_KEY=your_google_api_key
-```
-
-## Embedding Model options
+### 3. Embedding Model Options
By default, Rowboat uses OpenAI's `text-embedding-3-small` model for generating embeddings. You can customize this by setting the following:
From 37cac79da744801faf4ea4eebc93b22889a4be8d Mon Sep 17 00:00:00 2001
From: arkml
Date: Tue, 20 May 2025 17:12:06 +0530
Subject: [PATCH 6/6] fixed token_used error for other providers
---
apps/rowboat_agents/src/graph/core.py | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/apps/rowboat_agents/src/graph/core.py b/apps/rowboat_agents/src/graph/core.py
index e59079a6..6e94f057 100644
--- a/apps/rowboat_agents/src/graph/core.py
+++ b/apps/rowboat_agents/src/graph/core.py
@@ -153,8 +153,8 @@ async def run_turn_streamed(
# Initialize agents and get external tools
new_agents = get_agents(
- agent_configs=agent_configs,
- tool_configs=tool_configs,
+ agent_configs=agent_configs,
+ tool_configs=tool_configs,
complete_request=complete_request
)
new_agents = add_child_transfer_related_instructions_to_agents(new_agents)
@@ -196,12 +196,15 @@ async def run_turn_streamed(
if event.type == "raw_response_event":
# Handle token usage counting
if hasattr(event.data, 'type') and event.data.type == "response.completed" and hasattr(event.data.response, 'usage'):
- tokens_used["total"] += event.data.response.usage.total_tokens
- tokens_used["prompt"] += event.data.response.usage.input_tokens
- tokens_used["completion"] += event.data.response.usage.output_tokens
- print('-'*50)
- print(f"Found usage information. Updated cumulative tokens: {tokens_used}")
- print('-'*50)
+ try:
+ tokens_used["total"] += event.data.response.usage.total_tokens
+ tokens_used["prompt"] += event.data.response.usage.input_tokens
+ tokens_used["completion"] += event.data.response.usage.output_tokens
+ print('-'*50)
+ print(f"Found usage information. Updated cumulative tokens: {tokens_used}")
+ print('-'*50)
+ except Exception as e:
+ print(f"Warning: Tokens used is likely not available for your chosen model: {e}")
web_search_messages = handle_web_search_event(event, current_agent)
for message in web_search_messages: