Recent Releases of https://github.com/pgalko/bambooai

https://github.com/pgalko/bambooai - v0.4.25

Rebuild of the groq_models.py module, now including tool calls - Added support for "openai/gpt-oss-120b" and "moonshotai/kimi-k2-instruct" from the Groq API - Added support for "gpt-5"and "gpt-5-mini" (The OpenAI verification requirement/process is annoying!)

- Python
Published by pgalko 7 months ago

https://github.com/pgalko/bambooai - v0.4.24

Date pickers for SweatStack window selection (https://github.com/pgalko/BambooAI/pull/47) * Changes default port in docker compose to 5001 because MacOS uses 5000 already

  • Date pickers for SweatStack date selection and better button loading message

  • Adds back lap metric for SweatStack data selection

@AartGoossens

- Python
Published by pgalko 8 months ago

https://github.com/pgalko/bambooai - v0.4.22

Add prompt enhancements for better dataset comprehension - Added dataset summary/describe in addition to df.head. This is required for composite datasets eg. SweatStack multi athlete. - Ontology rebuild to match SweatStack/Garmin datasets - Better management of analyst_selector context window - Some styling improvements

image

@AartGoossens

- Python
Published by pgalko 8 months ago

https://github.com/pgalko/bambooai - v0.4.21

Added export to PDF feature - When the analysis is complete, user now has an ability to export the summary and the visualisations as PDF - Updated the LLM_CONFIG.json with the new Gemini pro and Flash models

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.20

Added feature to generate and explore ideas - A new feature that allows generation and exploration of ideas. When the analysis is complete the user can request the variation of the original task to explore and execute the varied versions. User has an ability to set the degree of variation on scale 1-5. - Updated workflow map to indicate forking, as related to the previous point - Theme toggle moved under settings - A few bug fixes image

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.19

A major refactor of Messages management, and some bug fixes Thanks @rnYulianto

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - 0.4.18

Integration with SweatStack

SweatStack is a Backend-as-a-Service (BaaS) for sport data applications. More information about SweatStack can be found at sweatstack.no.

Thanks @AartGoossens

image

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.17

  • Bug fixes
  • Custom code exec fix
  • Better way to handle text highlighting
  • Cleaned up OutputManager class and system messages from QA module

image

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.15

Adds manual Episodic memory search - This allows user to manually search for previous interactions stored in episodic memory - The feature requires vectordb to be enabled, and index initialised - Returns topk=10 results, filtered for score > 0.2

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.13

Fixed non-stopping spinner, added the new Gemini Pro model - Adds the new Gemini Pro 6-5 model - Added thinking budget - Fixes non-stopping tool call spinner - Fixes analyst selector instructions when web search is required

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.12

More styling.... God I hate this, I now have a lot more respect for the frontend developers and designers. I am pretty sure I have broken something...

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.11

Some styling improvements with backward compatibility

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.09

  • Format Gemini thoughts
  • Custom code exec bug fix

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.08

Major rebuild of QA Retrieval

  • This is a first step towards episodic memory functionality
  • Adds a seamless integration of the vector storage for the selected tasks
  • Links with the local favourite solutions storage.
  • When the solution is stored in the favourites, the intent_breakdown is vectorised and stored in Pinecone vector db together with the relevant metadata
  • When the new task lands the vector_db is searched for similar tasks from the past. If the match is found the metadata is retrieved and offered as examples to guide the solving of the new task.
  • Prompts have been adjusted to allow "smarter" integration of the retrieved similar past solutions

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.07

Added feature to generate datasets and files - BambooAI can now capture any datasets that resulted from the execution of the code, and consolidates them in the "datasets/generated" folder - User can view or download the generated datasets using Web App or directly from the directory - The feature works for both local and remote code execution - Fixed a substantial bug where default_prompts.yaml was not being included in the package - Version change to 0.4.07

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.06

Add ability to use custom prompt templates, and support for the new Anthropic Claude 4 models. - Changed prompt template format to yaml - Adds a new class PromptManager to handle prompt templates assignment - Adds a new parameter custom_prompt_file to allow users to submit path to their custom prompt templates yaml file, that will overwrite the default prompt templates - All prompt related handling now consolidated within messages package - Added support for the new Anthropic Claude 4 (Sonnet, Opus) models

- Python
Published by pgalko 9 months ago

https://github.com/pgalko/bambooai - v0.4.05

Enable use of auxiliary datasets and generic ontologies

  • Adds functionality to use auxiliary datasets in .csv or .parquet formats

    • Added a parameter to provide paths to aux dataset
    • Up to 3 aux datasets can be included at the time
    • No need to load into memory upon instantiation. The datasets are puled and merged/joined during the code execution if they are relevant to the analysis task.
    • Supported if running inside docker container, or using remote code executor API
  • Adds a new UI handling for Ontologies where they are now attached the same way as datasets

  • The framework now offers a support for generic type of ontologies, describing schema and content of one or more custom datasets

  • Removed feature to attach aux datasets via function calls

  • Removed feature to attach datasets from the Cloud storage services. Will need to update the logic, and will re-add in a future release

  • Some bug fixes

Screenshot 2025-05-17 at 2 22 33 pm

- Python
Published by pgalko 10 months ago

https://github.com/pgalko/bambooai - v0.4.04

Added visual workflow navigation feature - Added a new menu item "Workflow Map (CMD+M)" to visually inspect and navigate the branches of the current workflow. This has several benefits including ease of navigation, better context window management, better response accuracy, better management of checkpoints etc. - The feature is based on interactive mermaid diagrams tracking the flow and branching of the enquiry

Workflow Map Feature

- Python
Published by pgalko 10 months ago

https://github.com/pgalko/bambooai - v0.4.03

  • Improvements, bug fixes
  • Added support for the new Gemini 2.5 Pro model

- Python
Published by pgalko 10 months ago

https://github.com/pgalko/bambooai - v0.4.02

  • bug fixes

- Python
Published by pgalko 10 months ago

https://github.com/pgalko/bambooai - v0.4.01

Fixed import errors Added support for Docker

- Python
Published by pgalko 10 months ago

https://github.com/pgalko/bambooai - v0.4.00

This is a major upgrade

  • A new web app (Demo in README.md)
  • Bunch of new features and bug fixes
  • Tighter integration of reasoning models
  • Incorporated user feedback during execution
  • Added support for VLLM and Ollama
  • Custom code edits
  • Workflows storage
  • Multimodal and In-Context queries

- Python
Published by pgalko 10 months ago

https://github.com/pgalko/bambooai - v0.3.52

This is a relatively large, and potentially breaking update.

  • Added support for Anthropic Claude 3.5 including function calls (streaming)
  • Major overhaul to vector storage and retrieval
  • Added a functionality when data frames can be explained/described with ontology. This significantly improves the accuracy of the responses.
  • Added a new agent "Dataframe Inspector"
  • A bunch of changes to prompts to facilitate the new features

- Python
Published by pgalko over 1 year ago

https://github.com/pgalko/bambooai - v0.3.50

  • Library now supports scraping of dynamic web content via Selenium
  • Requires manual ChromeDriver download, and the path to it set in SELENIUM_WEBDRIVER_PATH env var
  • If the env var is set, the library selects the Selenium for all scraping tasks
  • a couple bug fixes

- Python
Published by pgalko almost 2 years ago

https://github.com/pgalko/bambooai - v0.3.48

Major refactor of qa_retrieval.py, new gemini models

  • Adds support for new pinecone client
  • Removes vector db records duplication
  • Add support for OpenAI embeddings models in addition to hf_sentence_transformers
  • text-embedding-3-small now default embeddings model

- Python
Published by pgalko almost 2 years ago

https://github.com/pgalko/bambooai - v0.3.44

  • Google search seamlessly incorporated into the flow. A very positive results with Groq:Llama 3 70B when selected as a model for the Search agent.

json {"agent": "Google Search Query Generator", "details": {"model": "llama3-70b-8192", "provider":"groq","max_tokens": 4000, "temperature": 0}}, {"agent": "Google Search Summarizer", "details": {"model": "llama3-70b-8192", "provider":"groq","max_tokens": 4000, "temperature": 0}} - Some improvements to jupyter notebook output formatting. - Search could benefit further from Something like Selenium or pypeteer to allow for scraping of dynamic websites. At the moment only static content is supported. Tricky, as we do not want the library to become too bloated

- Python
Published by pgalko almost 2 years ago

https://github.com/pgalko/bambooai - v0.3.42

  • I have now updated the notebook output formatting using Markdown instead of HTML. It is now much more pleasant for the user. The changes are included in the this version (v0.3.42), and pushed to PyPi.

  • Video to illustrate the new output here: https://github.com/pgalko/BambooAI/assets/39939157/6058a3a2-63d9-44b9-b065-0a0cda5d7e17

  • Also benchmarked the library against "OpenAI Assitants API + Code Interpreter". BambooAI much cheaper and faster :-).

Task: Devise a machine learning model to predict the survival of passengers on the Titanic. The output should include the accuracy of the model and visualizations of the confusion matrix, correlation matrix, and other relevant metrics.

Dataset: Titanic.csv

Model: GPT-4-Turbo

OpenAI Assistants API (Code Interpreter)

  • Result:
    • Confusion Matrix:
    • True Negative (TN): 90 passengers were correctly predicted as not surviving.
    • True Positive (TP): 56 passengers were correctly predicted as surviving.
    • False Negative (FN): 18 passengers were incorrectly predicted as not surviving.
    • False Positive (FP): 15 passengers were incorrectly predicted as surviving.

| Metric | Value | | -------------- | ------------ | | Execution Time | 77.12 seconds| | Input Tokens | 7128 | | Output Tokens | 1215 | | Total Cost | $0.1077 |

BambooAI (No Planning, Google Search or Vector DB)

  • Result:
    • Confusion Matrix:
    • True Negative (TN): 92 passengers were correctly predicted as not surviving.
    • True Positive (TP): 55 passengers were correctly predicted as surviving.
    • False Negative (FN): 19 passengers were incorrectly predicted as not surviving.
    • False Positive (FP): 13 passengers were incorrectly predicted as surviving.

| Metric | Value | | -------------- | ------------ | | Execution Time | 47.39 seconds| | Input Tokens | 722 | | Output Tokens | 931 | | Total Cost | $0.0353 |

- Python
Published by pgalko almost 2 years ago

https://github.com/pgalko/bambooai - v0.3.38

  • Planning agent can now use google search via function_calls. This is currently only available for OpenAI LLMs.
  • A new logic for expert selector
  • Plans now included in Vector DB record metadata alongside code. This is particularly beneficial for non OpenAI models.
  • A completely new google_search.py module using ReAct method
  • Some prompt adjustments. Current date now included in some system prompts.
  • A bunch of bug fixes

- Python
Published by pgalko almost 2 years ago

https://github.com/pgalko/bambooai - v0.3.32

Added support for a bunch of models and APIs

  • Added support for Ollama
  • Added support for Anthtropic, Mistral, Groq, Google Gemini
  • Some bug fixes

- Python
Published by pgalko almost 2 years ago

https://github.com/pgalko/bambooai - v0.3.30

  • BambooAI now compatible with the latest version of OpenAI client library
  • New OpenSource LLM added "Open Code Interpreter"
  • A few mods to prompts
  • The Default OpenAI model switched to GPT-4-Turbo

- Python
Published by pgalko almost 2 years ago

https://github.com/pgalko/bambooai - v0.3.29

  • Load llm config from env var or json file
  • Load prompt templates from json file
  • Add ability to specify an llm config individually for each agent
  • Append full traceback to error correction calls
  • Refactor the code for functions and classes to match agent work flow
  • Change variable names to be more descriptive
  • Change output messages to be more descriptive

Deprecation Notice (October 25, 2023): Please note that the "llm", "localcodemodel", "llmswitchplan", and "llmswitchcode" parameters have been deprecated as of v 0.3.29. The assignment of models and model parameters to agents is now handled via LLMCONFIG. This can be set either as an environment variable or via a LLMCONFIG.json file in the working directory. Please see README "Usage" section for details.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.28

-Result of the previous computation added to the user prompt -model max_tokens increased to 2000 -minor output wording changes

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.27

-Consolidated all output and print in "output_manager" module. -A few bug fixes related to log entries duplication.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.24

  • Replaced txt logs with json
  • Consolidated all logging tasks in log_manager.py module
  • Added messages reset when used in notebook

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.23

  • Added ability to log and monitor llm calls
  • Improved token usage and cost reporting
  • Minor improvements and bug fixes

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.22

The llmswitch argument has been deprecated and replaced with llmswitchplan and llmswitch_code arguments to allow for more granular control of the llm cascading.

  • llmswitchplan allows switching to gpt 4 for all planning tasks (select expert, select analyst, devise plan) while using gpt 3.5 for all other tasks.

  • llmswitchcode allows switching to gpt 4 for error correction and self reflection tasks while using gpt 3.5 for all other tasks including planning.

These changes will enable high-quality outputs at a reduced token cost.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - 0.3.21

Fixed excessive token usage due to poorly formatted code generation prompt. Described in issue #2. Specifically, each line of the default example code had a leading space. This led the language model to interpret the pattern as intentional, ultimately causing code execution to fail due to an indentation error. This failure, in turn, triggered an unnecessary error correction call, which led to token usage ballooning after several iterations.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.20

A few bug fixes

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.19

Added a bunch of recently released coding open source models

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.18

  • Removed the need to enclose the generated code between <code></code> tags
  • All Regex consolidated in a separate module (reg_ex.py)
  • Added ability to use local models for code generation. Currently supporting WizardCoder-15B-V1.0 and WizardCoder-15B-1.0-GPT
    • A new local_models.py module added to facilitate this functionality.
    • Gradually add modifications to allow for the use of more open source models.
  • Bug fixes

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.16

A few bug fixes...

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.14

Removed df reset after each exec: The changes to the df between executions will be preserved. The gpt-4-0613 is now much better at remembering the context of the previous calls, and can build up the analysis more effectively.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.13

Code refactoring New expert selection logic Can now run without dataframe Search query sanitization

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.12

Added 2 more experts to better address a variety of tasks, and offer a more granular approach to analysis.

-Data Analyst DF -Data Analyst Generic

The library now works well with generic tasks as well as the task related to the supplied dataframe.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.11

Added Google Search functionality Task classification, and distribution to experts Some code recycling and refactoring

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.9

Refactoring, print formatting, llm response streaming

LLM calls moved to a separate module CLI print formatting to facilitate LLM response streaming Framework setup for a future addition of Google search Added tiktoken library to calculate token usage for streams Some prompt adjustments

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.8

A brand new debug prompt. Works much better, resulting in much lower error rate and greater readability of the generated code. A few bugs corrected, and a little cleanup

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.7

Added vector db retrieval

-Post successful code execution, GPT-4 is asked to rank the answer. -If the resulting rank surpasses a set threshold(8), the question is vectorized and saved together with answer, code, and rank in the Pinecone vector database. -For all subsequent queries the agent conducts a semantic search for similar questions. For any matching questions found, the corresponding code is retrieved and using one-shot prompt technique is attached to the prompt as an example of the desired response.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.6

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.4

A major rebuild to accommodate OpenAI function calls and 16k models

  • Added a new func_calls module
  • Removed support for mermaid diagrams
  • Added support for 16k OpenAI models
  • Reflection replaced with response summarization
  • Fixed input() erratic behavior when running in a notebook
  • Prompts tweaking

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.3.1

Added a functionality where the final answer is sent back to llm for ranking. This is a first step, to allow to build a KB in a vector db. Only answers with a rank above threshold will be stored in the KB, and used in the subsequent iterations as a context. Also transferred the promps to a new prompts.py module to make the main module cleaner. The debug task now includes an instruction to check for any malicious or harming elements. This is to allow for post prompt check, to reduce the risk of prompt injection.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.2.8

  • Fixes the list comprehension.
  • Major prompt overhaul.
  • Added new parameters: debug: bool - If True, the received code is sent back to the Language Learning Model (LLM) for an evaluation of its relevance to the user's question, along with code error checking and debugging. flow_diagram: bool - If True, a mermaid diagram will be generated and displayed to complement the answer.

- Python
Published by pgalko over 2 years ago

https://github.com/pgalko/bambooai - v0.2.7

Prompt enhancements, re fixes, task list evaluation removed.

-A new system prompt has been added -Evaluation of the task lists has been removed. Only single task list will be generated by LLM -Reformatted error reporting prompt to conserve token usage. -Re fixes to better sanitize LLM output

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.2.4

Add task/prompt evaluation and reframing

Following the reception of a question, the OpenAI API is called to review and evaluate the task. The Language Learning Model (LLM) then presents four possible analysis methods, choosing the one it deems most suitable. This selected method is summarized and framed as a task for a hypothetical junior data analyst. The agent then replaces the original question with the task from the previous step and sends this as a prompt to the OpenAI API for code generation.

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.2.3

Some prompt engineering, to add more context into the LLMs answer. Also allows for a non-code responses.

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.2.2

Added Mermaid flow chart to the output Some modifications to output sanitizing function

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.2.1

Enable LLM cascade Added a new argument "llm_switch" to facilitate the target model switching to a more powerful model (gpt-4) when an error is encountered. Improve error print formatting.

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.1.6

A modification of the prompts to include comments, and some print formatting.

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.1.5

Users can now control of how many question/answer pairs they want to keep in memory and feed back to LLM. LLM now also offers a short couple sentences reflection on the answer, explaining the code functionality and flow.

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.1.4

Added functionality to reset the df back to original copy between executions. This is to ensure that when the agent is running in a loop it is always working with an intact copy of the dataset discarding any changes like reindexing or column additions made by the previous runs.

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.1.1

Some further changes to extractcode() function to sanitize the LLM output

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.0.8

The extractcode function has been updated to include a blacklist of Python keywords and functions that are not allowed. These are removed from the extracted code and replaced with comments. These changes help to ensure that potentially dangerous code is not executed by the exec() function. The function also removes any instances of the df = pd.DataFrame() statement with any value inside the parentheses, as this can potentially overwrite the original data.

- Python
Published by pgalko almost 3 years ago

https://github.com/pgalko/bambooai - v0.0.7

Initial release

- Python
Published by pgalko almost 3 years ago