Skip to content

Pair Tavily search with IBM watsonx granite models to fill spreadsheet cells with web‑sourced insights and citations.

Notifications You must be signed in to change notification settings

tavily-ai/watsonx-tavily-spreadsheets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tavily Logo IBM watsonx Logo

Powered by Tavily and IBM® watsonx.ai™

🚀 Welcome to the Spreadsheet Enrichment Repository!

This repository offers two key resources to help watsonx developers enhance their AI agents with web access:

  1. A three step tutorial series for building research agents with web access and watsonx.

  2. An end-to-end solution for building AI-enriched spreadsheets with real-time web access. The application combines Tavily's advanced search capabilities with IBM's watsonx.ai foundation models, specifically the latest granite-3-2-8b-instruct model, 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 data processing with Granite LLMs
  • 🔄 Process entire columns in batch for efficient data enhancement
  • 📑 Access 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
  • Modify the agent architecture
  • Configure different watsonx.ai foundation models
  • Perform time-range or domain-filtered search using Tavily's advanced parameters.

Architecture Diagram

Spreadsheet Demo

Setup Instructions

API Keys:

This application requires API keys from the following services:

Set up environment variables:

a. Create a .env file in the project's root directory with your API keys:

TAVILY_API_KEY=<your API key>
WATSONX_API_KEY=<your API key>
WATSONX_PROJECT_ID=<your API key>
WATSONX_URL=<your data center key>
FOUNDATION_MODEL_ID=<watsonx.ai model id>

Note: FOUNDATION_MODEL_ID environment variable is optional for FM selection from watsonx.ai platform. If left empty, the application will use ibm/granite-3-3-8b-instruct by default.

b. Create a .env.development file in the ui directory 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 in your browser with http://localhost:5174/

📂 Repository Structure

This repository includes everything required to create a functional chatbot with web access:

📡 Backend (backend/)

The core backend logic, powered by 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.

API Endpoints

  • POST /api/enrich/batch: endpoint that handles batched agent execution and spreadsheet population.

Contributing

Feel free to submit issues and enhancement requests!

📞 Contact Us

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


Tavily Logo IBM watsonx Logo

Powered by Tavily and IBM® watsonx.ai™

About

Pair Tavily search with IBM watsonx granite models to fill spreadsheet cells with web‑sourced insights and citations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published