v1.1.0 · Open Source · MIT Llaboratory logo

Study how LLMs choose tools

A self-hostable, open-source harness for researching LLM tool-calling behavior. Design fake tools, wire in any model, run one session or a thousand, and see exactly what it picked and why.

Get Started GitHub

Why Llaboratory?

LLMs make hundreds of tool-calling decisions. Llaboratory lets you design controlled experiments to understand how — and why — they choose the tools they do.

Design Fake Tools

Create tools with static or dynamic (Python) responses. Parameter schemas, descriptions, and response modes are all first-class experimental variables.

Compose Testing Plans

Assemble tools, model configs, and prompts into versioned, reproducible testing plans. Pin tool versions and freeze model snapshots for exact reproducibility.

Run & Watch Live

Execute sessions with real-time streaming. Watch model reasoning, text, and tool-call arguments arrive incrementally, turn by turn, until the agent loop terminates.

Analyze Results

Per-session metrics, within-plan aggregation, and cross-model comparison. Tool-selection rates, call-order patterns, termination reasons, CSV export, and downloadable markdown findings reports — all available.

Batch Runs

Fire N repetitions of a plan version in one click and watch them run in the background, up to 5 at a time. Stop chasing single-session anecdotes — get a real sample size.

Zero-Setup Onboarding

A first-run checklist gets you to a working experiment in three clicks, with 9 built-in whimsical sample tools ready to load instantly.

Portable Data

Export your tools, models, and plans to a single ZIP and import them anywhere. Factory-reset an instance to a clean slate whenever you need one.

Workflow

From a blank instance to published findings, in a handful of steps.

1. Load your first tools

Follow the Getting Started checklist and load 9 built-in sample tools instantly, or build your own with static payloads or dynamic Python responses. Each save creates an immutable version.

2. Configure models

Point to any OpenAI-compatible endpoint — OpenAI, OpenRouter, LM Studio, Ollama, or anything else that speaks the chat-completions API. Set the model snapshot, params, and API key via environment variables.

3. Assemble a testing plan

Select tools, choose a model, write system/user prompts, and set run parameters. Snapshot everything into an immutable plan version.

4. Run once, or run a batch

Launch a single session with live streaming, or fire N repetitions in the background with Batch Runs. Inspect every tool call and model response as they arrive.

5. Analyze & share

Aggregate across runs, compare models, export CSV, or download a markdown findings report. Export your whole setup as a ZIP to hand off to a collaborator.

See it in action

Live session view — model reasoning, a tool call, and its result, as they stream in.

Llaboratory screenshot showing a live tool-calling session

Get started in seconds

Docker Compose is the quickest way to get up and running.

# Clone & launch
git clone https://github.com/ampyard/Llaboratory.git
cd Llaboratory
docker compose up --build
Full Quickstart Guide