Repository navigation
Release v0.2.0 — Module 7: Additional Tools & Multi-File Upload
·
13039 commits
to master
since this release
🚀 Release v0.2.0 — Module 7: Additional Tools & Multi-File Upload
Date: 2026-03-19
This release focuses on expanding the LLM's capabilities through advanced tool-calling (SQL and Web Search) and improving the file ingestion workflow with concurrent multi-file uploads.
✨ New Features
- Text-to-SQL Tool (
query_documents): Ask structured questions about your metadata (e.g., "How many PDFs do I have?"). Executes via Supabase RPC with Row-Level Security (RLS) enforced. - Web Search Tool (
web_search): Powered by Tavily. Enables the LLM to access real-time data and general knowledge outside the document library. - Multi-Tool Dispatch Loop: Support for sequential and parallel tool calling in a single turn with enhanced error handling.
- Smart Tool Routing: Updated system prompts to help the LLM distinguish between metadata queries (
query_documents), content searches (search_documents), and open-web searches (web_search). - Improved Ingestion: Multi-file drag-and-drop with concurrent upload progress and graceful duplicate skipping.
🛠 Setup & Migration
Important
Database changes are required for this release.
- Database: Run the migration script
012_query_documents_fn.sqlin your Supabase SQL editor to enable the SQL tool. - Environment Variables: To enable Web Search, add your API key to
backend/.env:Note: The tool will be automatically excluded from the LLM if this key is missing.TAVILY_API_KEY=tvly-your-key-here
📂 Files Changed
| Area | Files |
|---|---|
| Backend | threads.py, config.py, openai_service.py, sql_service.py, web_search_service.py |
| Frontend | DocumentUpload.tsx, useDocuments.ts, IngestionPage.tsx |
| Database | 012_query_documents_fn.sql |
| Tests | test_module7_tools.py, test_sql_service.py, test_web_search_service.py |
🔗 Branch Info
- Source:
module-7-tools-final - Target:
master - Commit:
72239d0