Skip to content

Latest commit

 

History

History
151 lines (112 loc) · 4.69 KB

File metadata and controls

151 lines (112 loc) · 4.69 KB

🚀 Welcome to the Spreadsheet Enrichment Repository!

This repository provides a powerful solution for building AI-enriched spreadsheets with real-time web access. The application combines tavily's advanced search capabilities with to transform your business spreadsheets with intelligent web-sourced information.

Step 1: Fill in spreadsheet columns

fill spreadsheet

Step 2: Enrich your spreadsheet

enrich spreadsheet

Step 3: Export as CSV

export spreadsheet

Features

With this application, you can:

  • 📊 Enrich spreadsheet cells with AI-generated content backed by live web data
  • 🧠 Entity extraction and unstructured data processing with LLMs
  • 🔄 Process entire columns or tables in batch for efficient data enhancement
  • ⚡ Real-time streaming updates as data is processed
  • 📑 Source citations for all web-sourced information
  • 📂 Export your enriched data as CSV files for further use

Designed for ease of customization, you can extend this core implementation to:

  • Integrate proprietary data sources (e.g., vectorDB, GraphDB)
  • Modify the LangGraph agent architecture
  • Configure different LLMs
  • Perform time-range or domain-filtered web search using tavily's advanced search parameters
  • Perform news or finance specialty search through tavily's topic parameter)

Setup Instructions

API Keys:

This application requires API keys from the following services:

  • Tavily API - Required for web search capabilities
  • OpenAI - Required (or use Gemini as alternative)
  • Gemini API - Optional alternative to OpenAI

Set up environment variables:

a. Copy the .env.sample file to create your .env file in the project's root directory:

cp .env.sample .env

Then edit .env and add your API keys:

OPENAI_API_KEY=your_openai_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here  # Optional
JWT_SECRET=your_jwt_secret_here  # Generate a secure random string
VITE_APP_URL=http://localhost:5173

b. The ui/.env.development file is already configured for local development with:

VITE_API_URL=http://localhost:8000
VITE_WS_URL=ws://localhost:8000

Backend Setup

Python Virtual Environment

  1. Create a virtual environment and activate it:
python3.11 -m venv venv
source venv/bin/activate  # On Windows: .\venv\Scripts\activate
  1. Install dependencies:
python3.11 -m pip install -r requirements.txt
  1. From the root of the project, run the backend server:
python app.py

Docker

  1. Alternatively, build and run the backend using Docker from the root of the project:
# Build the Docker image
docker build -t spreadsheet .

# Run the container
docker run -p 8000:8000 --env-file .env spreadsheet

Frontend Setup

  1. Navigate to the frontend directory:
cd ui
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Launch the app by pasting http://localhost:5173/ in your browser

📂 Repository Structure

This repository includes everything required to create a functional AI-powered spreadsheet with web access:

Backend (backend/)

The core backend logic, powered by tavily, LLMs, and LangGraph:

  • graph.py – Defines the agent architecture, state management, and processing nodes.

Frontend (ui/)

Interactive React frontend for dynamic user interactions and spreadsheet responses.

Server

  • app.py – FastAPI server that handles API endpoint.

Contributing

Feel free to submit issues, PRs, and enhancement requests!

📞 Contact Us

Have questions, feedback, or looking to build a custom solution? We'd love to hear from you!


Tavily Logo

Powered by tavily