From 879fbb8924b104d5de3b3cfd1cef83038d0eac33 Mon Sep 17 00:00:00 2001 From: Akhilesh Sudhakar <55130408+akhisud3195@users.noreply.github.com> Date: Sat, 17 May 2025 09:51:09 +0530 Subject: [PATCH 1/6] Update discord link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b7460ce..bcea6ccf 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@

Let AI build multi-agent workflows for you in minutes

-[Quickstart](#quick-start) | [Docs](https://docs.rowboatlabs.com/) | [Discord](https://discord.gg/gtbGcqF4) | [Website](https://www.rowboatlabs.com/) | [Youtube](https://www.youtube.com/@RowBoatLabs) +[Quickstart](#quick-start) | [Docs](https://docs.rowboatlabs.com/) | [Discord](https://discord.com/invite/JkJdx3g7) | [Website](https://www.rowboatlabs.com/) | [Youtube](https://www.youtube.com/@RowBoatLabs)
From 4620f4ceb98272399c9db4f459c4bd7e1559f114 Mon Sep 17 00:00:00 2001 From: Akhilesh Sudhakar <55130408+akhisud3195@users.noreply.github.com> Date: Sat, 17 May 2025 10:06:46 +0530 Subject: [PATCH 2/6] Update discord link - 2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bcea6ccf..80659a81 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@

Let AI build multi-agent workflows for you in minutes

-[Quickstart](#quick-start) | [Docs](https://docs.rowboatlabs.com/) | [Discord](https://discord.com/invite/JkJdx3g7) | [Website](https://www.rowboatlabs.com/) | [Youtube](https://www.youtube.com/@RowBoatLabs) +[Quickstart](#quick-start) | [Docs](https://docs.rowboatlabs.com/) | [Discord](https://discord.gg/rxB8pzHxaS) | [Website](https://www.rowboatlabs.com/) | [Youtube](https://www.youtube.com/@RowBoatLabs)
From bac6f4745b7270bfb365bbf391f50a8131a7fd2d Mon Sep 17 00:00:00 2001 From: arkml Date: Tue, 20 May 2025 12:44:20 +0530 Subject: [PATCH 3/6] changed placeholder urls to docker specific ones --- apps/rowboat/app/projects/[projectId]/config/app.tsx | 2 +- .../app/projects/[projectId]/config/components/tools.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/rowboat/app/projects/[projectId]/config/app.tsx b/apps/rowboat/app/projects/[projectId]/config/app.tsx index bfff5392..1aa68727 100644 --- a/apps/rowboat/app/projects/[projectId]/config/app.tsx +++ b/apps/rowboat/app/projects/[projectId]/config/app.tsx @@ -305,7 +305,7 @@ function McpServersSection({ /> { setNewServer({ ...newServer, url: e.target.value }); diff --git a/apps/rowboat/app/projects/[projectId]/config/components/tools.tsx b/apps/rowboat/app/projects/[projectId]/config/components/tools.tsx index 36c7112f..9b66b947 100644 --- a/apps/rowboat/app/projects/[projectId]/config/components/tools.tsx +++ b/apps/rowboat/app/projects/[projectId]/config/components/tools.tsx @@ -210,7 +210,7 @@ function McpServersSection({ projectId }: { projectId: string }) {
{ 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: