This repository offers two key resources to help watsonx developers enhance their AI agents with web access:
-
A three step tutorial series for building research agents with web access and watsonx.
-
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-instructmodel, to transform your business spreadsheets with intelligent web-sourced information.
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.
This application requires API keys from the following services:
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- Create a virtual environment and activate it:
python3.11 -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate- Install dependencies:
python3.11 -m pip install -r requirements.txt- From the root of the project, run the backend server:
python app.py- 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- Navigate to the frontend directory:
cd ui- Install dependencies:
npm install- Start the development server:
npm run dev- Launch the app in your browser with http://localhost:5174/
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.
app.py– FastAPI server that handles API endpoint.
POST /api/enrich/batch: endpoint that handles batched agent execution and spreadsheet population.
Feel free to submit issues and enhancement requests!
Have questions, feedback, or looking to build a custom solution? We'd love to hear from you!
- Email our team directly:




