BambooAI  by pgalko

Python library for conversational data analysis using LLMs

Created 2 years ago
717 stars

Top 48.0% on SourcePulse

GitHubView on GitHub
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

1 month ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
1
Star History
31 stars in the last 30 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Anton Troynikov Anton Troynikov(Cofounder of Chroma), and
44 more.

llama_index by run-llama

0.3%
44k
Data framework for building LLM-powered agents
Created 2 years ago
Updated 21 hours ago
Feedback? Help us improve.