Skip to main content

CLI for the Root Signals API

Project description

Root Signals logo

Measurement & Control for LLM Automations

Supported Python versions

PyPI Downloads License

The roots CLI is a powerful command-line tool for interacting with the Root Signals API. It provides a convenient way to manage and execute your Judges directly from the terminal.

Installation

You can install the roots CLI using the following command, which downloads and installs the script to /usr/local/bin:

curl -sSL https://app.rootsignals.ai/cli/install.sh | sh

Authentication

Before using the CLI, you must set your Root Signals API key as an environment variable:

export ROOTSIGNALS_API_KEY="your-api-key"

Usage

The CLI is organized into a main command, roots, with subcommands for different functionalities. The primary resource you'll interact with is the judge.

Judge Management

All Judge-related commands are available under the roots judge subcommand.

list

List all available Judges, with options for filtering and pagination.

roots judge list

Options:

  • --page-size: Number of results to return per page.
  • --cursor: The pagination cursor value.
  • --search: A search term to filter by.
  • --name: Filter by exact judge name.
  • --ordering: Which field to use for ordering the results.
  • --is-preset / --not-is-preset: Filter by preset status.
  • --is-public / --not-is-public: Filter by public status.
  • --show-global / --not-show-global: Filter by global status.

get

Retrieve a specific Judge by its ID.

roots judge get <judge_id>

create

Create a new Judge.

roots judge create --name "My New Judge" --intent "To evaluate the quality of LLM responses."

Options:

  • --name: The name for the new judge (required).
  • --intent: The intent for the new judge (required).
  • --stage: The stage for the new judge.
  • --evaluator-references: JSON string for evaluator references. E.g., '[{"id": "eval-id"}]'

update

Update an existing Judge.

roots judge update <judge_id> --name "My Updated Judge Name"

Options:

  • --name: The new name for the judge.
  • --stage: The new stage for the judge.
  • --evaluator-references: JSON string to update evaluator references. Use "[]" to clear.

delete

Delete a Judge by its ID. You will be prompted for confirmation.

roots judge delete <judge_id>

duplicate

Duplicate an existing Judge.

roots judge duplicate <judge_id>

Judge Execution

execute

Execute a Judge with specific inputs.

roots judge execute <judge_id> --request "What is the capital of France?" --response "Paris"

Options:

  • --request: Request text.
  • --response: Response text to evaluate.
  • --contexts: JSON list of context strings. E.g., '["ctx1"]'
  • --functions: JSON array for the "functions" field.
  • --expected-output: Expected output text.
  • --tag: Add one or more tags.

execute-by-name

Execute a Judge by its name.

roots judge execute-by-name "My New Judge" --request "What is the capital of France?" --response "Paris"

Development

This project uses uv for dependency management. To set up the development environment, run:

. .venv/bin/activate
uv pip sync pyproject.toml

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

root_signals_cli-0.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

root_signals_cli-0.1.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file root_signals_cli-0.1.0.tar.gz.

File metadata

  • Download URL: root_signals_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.2

File hashes

Hashes for root_signals_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 33b4e5a800f40f0fbefea7a3791b15918aaf21d2b286b6d4a9d54ed0a0cb29ae
MD5 d3a6becf98208595625b7bb47fecf84f
BLAKE2b-256 c38d51490faef689e29e7ccb0f0fd655bdaa8464eeee1ef055f6cbf0edddb474

See more details on using hashes here.

File details

Details for the file root_signals_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for root_signals_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 77ebabe0ce15ab495ce1289988dea2e9f42167563b831f3a547fe87426d1fe66
MD5 783717658385496e35e0776e64f52fff
BLAKE2b-256 f576d71a61f67c0b3aacdc7b4b5fb38679279f2a3c2e8c50340ff3de1e844301

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page