BambooAI  by pgalko

Python library for conversational data analysis using LLMs

created 2 years ago
657 stars

Top 51.9% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

BambooAI is a Python library designed for conversational data discovery and analysis, empowering users to interact with datasets using natural language. It targets data analysts, researchers, and power users seeking to streamline workflows and derive insights without extensive coding, offering both web UI and Jupyter notebook interfaces.

How It Works

BambooAI employs a multi-agent system that breaks down data analysis into six sequential steps: initiation, task routing, user feedback, dynamic prompt building, debugging and execution, and results presentation. It leverages LLMs for tasks like code generation, error correction, and planning, with options for internet search and knowledge base integration via vector databases.

Quick Start & Requirements

  • Install via pip: pip install bambooai
  • Configure environment variables (.env) and LLM settings (LLM_CONFIG.json).
  • Example usage:
    import pandas as pd
    from bambooai import BambooAI
    df = pd.read_csv('titanic.csv')
    bamboo = BambooAI(df=df, planning=True, vector_db=False, search_tool=True)
    bamboo.pd_agent_converse()
    
  • Supports API-based models (OpenAI, Gemini, Anthropic, etc.) and local models (Ollama, VLLM).
  • Requires API keys for chosen LLM providers.

Highlighted Details

  • Supports custom data frame ontologies (RDF/OWL) for enhanced understanding.
  • Offers a planning agent for complex task decomposition.
  • Includes self-healing/error correction capabilities for generated code.
  • Provides a web application interface and Docker deployment option.

Maintenance & Community

  • Contributions are welcome via pull requests.
  • Development is ongoing with planned future improvements.

Licensing & Compatibility

  • The repository does not explicitly state a license in the provided README.

Limitations & Caveats

  • The project is described as experimental.
  • API keys are required for most model providers, and their setup is crucial for functionality.
  • The README mentions that if no LLM configuration is provided, execution will fail.
Health Check
Last commit

4 days ago

Responsiveness

1 week

Pull Requests (30d)
1
Issues (30d)
1
Star History
88 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.