Computational AI Research Interface for Bioinformatics, Omics, and Unifying Agents
Project description
https://github.com/OpenTechBio/CARIBOU
CARIBOU CLI: The Open-source Language Agent Framework 🚀
The CARIBOU CLI is a powerful command-line interface for building, testing, and running sandboxed, multi-agent AI systems.
It provides a robust framework for orchestrating multiple language agents that can collaborate to perform complex tasks, such as data analysis, in a secure and isolated environment.
At its core, CARIBOU allows you to define a team of specialized AI agents in a simple JSON "blueprint." You can then deploy this team into a secure sandbox (powered by Docker or Singularity) with a specific dataset and give them a high-level task to solve.
Key Features
- Multi-Agent Blueprints: Define agents, their specialized prompts, and how they delegate tasks to each other using a simple JSON configuration.
- Secure Sandboxing: Execute agent-generated code in an isolated environment using Docker or Singularity to protect your host system.
- Interactive & Automated Modes: Run agent systems in a turn-by-turn interactive chat for debugging or in a fully automated mode for benchmarking.
- Data Curation: Includes tools to browse and download single-cell datasets from the CZI CELLxGENE Census to easily test your agents.
- Configuration Management: Easily manage API keys and application settings with built-in commands.
- User-Friendly CLI: A guided, interactive experience helps you configure every run, with flags available to override settings for use in scripts.
Installation
Prerequisites
Before installing CARIBOU, you need to have the following installed and configured on your system:
- Python (version 3.9 or higher)
- Pip (Python's package installer)
- A Sandbox Backend:
- Docker: Must be installed and the Docker daemon must be running.
- Singularity (Apptainer): Must be installed on your system.
Install from PyPI (Recommended)
Coming soon!
Install from Source (For Developers)
To install the latest development version, you can clone the repository and install it in editable mode:
git clone https://github.com/OpenTechBio/caribou
cd caribou/cli/caribou
pip install -e .
caribou
🚀 Quick Start Guide
This guide will walk you through setting up your API key, downloading a dataset, and launching your first interactive agent session in just a few steps.
Step 1: Configure Your API Key
First, tell CARIBOU about your OpenAI or DeepSeek API key. This is a one-time setup.
caribou config set-openai-key "sk-YourSecretKeyGoesHere"
or
caribou config set-deepseek-key "sk-YourSecretKeyGoesHere"
Your key will be stored securely in a local .env file within the CARIBOU configuration directory.
Step 2: Download a Dataset
Next, let's get some data for our agents to analyze. Run the datasets command to browse and download a sample dataset from the CZI CELLxGENE Census.
# This will start the interactive dataset browser
caribou datasets
Follow the prompts to list versions and datasets, then use the download command as instructed.
Step 3: Run an Agent System!
Now you're ready to run an agent system. The run command is fully interactive if you don't provide any flags. It will guide you through selecting a blueprint, a dataset, and a sandbox environment.
caribou run interactive
This will trigger a series of prompts:
- Select Agent System Blueprint: Choose one of the default systems (from the Package) or one you've created (from User).
- Select a driver agent: Choose which agent in the system will receive the first instruction.
- Select Dataset: Pick the dataset you downloaded in Step 2.
- Choose a sandbox backend: Select
dockerorsingularity. - Choose an LLM backend: Select
chatgptorollama.
After configuration, the session will begin, and you can start giving instructions to your agent team!
Command Reference
CARIBOU's commands are organized into logical groups.
caribou run
The main command for executing an agent system.
- Run interactively (recommended for manual use):
caribou run interactive
- Run automatically for 5 turns:
caribou run auto --turns 5 --prompt "Analyze this dataset and generate a UMAP plot."
- Run with all options specified (for scripting):
caribou run interactive \ --blueprint ~/.local/share/caribou/agent_systems/my_custom_system.json \ --driver-agent data_analyst \ --dataset ~/.local/share/caribou/datasets/my_data.h5ad \ --sandbox docker \ --llm chatgpt
caribou create-system
Tools for building new agent system blueprints.
- Start the interactive builder:
caribou create-system - Create a minimal blueprint quickly:
caribou create-system quick --name my-first-system
caribou datasets
Tools for managing datasets.
- Start the interactive dataset browser:
caribou datasets - Download a specific dataset directly:
caribou datasets download --version stable --dataset-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
caribou config
Manage your CARIBOU configuration.
- Set your OpenAI API key:
caribou config set-openai-key "sk-..."
- Set your DeepSeek API key:
caribou config set-deepseek-key "sk-..."
Configuration
CARIBOU stores all user-generated content and configuration in a central directory. You can override this location by setting the CARIBOU_HOME environment variable.
- Default Location:
- Linux:
~/.local/share/caribou/ - macOS:
~/Library/Application Support/caribou/ - Windows:
C:\Users\<user>\AppData\Local\OpenTechBio\caribou\
- Linux:
- Configuration File: API keys are stored in
$CARIBOU_HOME/.env. - Agent Systems: Custom blueprints are saved to
$CARIBOU_HOME/agent_systems/. - Datasets: Downloaded datasets are stored in
$CARIBOU_HOME/datasets/. - Run Outputs: Code snippets and logs from agent runs are saved to
$CARIBOU_HOME/runs/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file caribou_cli-0.1.2.tar.gz.
File metadata
- Download URL: caribou_cli-0.1.2.tar.gz
- Upload date:
- Size: 7.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bc296261026982b145e4990374cbb0dc3619be70740ceeccd3d10eb05abe452
|
|
| MD5 |
b648563fa3d78f06a785b234b10e1806
|
|
| BLAKE2b-256 |
26e9e788974487fe5d6bf1c0a9fd9b86384157ca1d12b03c52238c40a961f339
|
File details
Details for the file caribou_cli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: caribou_cli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 7.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3f59343586c9605f2d38444fca40294f166c6aee536d4713ad9fc72805b39cf
|
|
| MD5 |
de7014115369e6fa2ac23d12f3f96f57
|
|
| BLAKE2b-256 |
ebefd2de4c95001b1bf079e46cb47bae7604cc54687f207fef3ceb37a2e2a21b
|