Skip to main content

Chorus

A Python package for LLM prompt versioning and tracking with dual versioning system and web interface.

Features

  • Dual Versioning System: Project version (semantic) + Agent version (incremental)
  • Automatic Prompt Interception: Automatically intercepts and extracts prompts from LLM API calls
  • Execution Tracking: Captures inputs, outputs, and execution times
  • Web Interface: Beautiful web UI for prompt management and visualization
  • CLI Tools: Command-line interface for prompt management
  • Export/Import: JSON export/import for prompt data
  • Semantic Versioning: Full support for semantic versioning of prompts

Installation

pip install prompt-chorus

Quick Start

1. Basic Usage

from prompt_chorus import chorus

@chorus(system_name="my_ai_system", project_version="1.0.0", description="Basic Q&A prompt")
def ask_question(question: str) -> str:
    # Your LLM API calls are automatically intercepted and prompts extracted
    import openai
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": f"Answer: {question}"}
        ]
    )
    return response.choices[0].message.content

# Run the function - prompts are automatically tracked
result = ask_question("What is Python?")

2. Auto-versioning

@chorus(system_name="text_processor", description="Auto-versioned prompt")
def process_text(text: str) -> str:
    # Prompts from any LLM API call are automatically captured
    import anthropic
    response = anthropic.Anthropic().messages.create(
        model="claude-3-sonnet-20240229",
        max_tokens=1000,
        messages=[
            {"role": "user", "content": f"Process this text: {text}"}
        ]
    )
    return response.content[0].text

# Each time you modify the prompt, agent version auto-increments

3. CLI Usage

# List all tracked prompts
chorus list

# Show specific prompt details
chorus show ask_question 1.0.0

# Start web interface
chorus web

# Export prompts
chorus export --output my_prompts.json

4. Web Interface

chorus web --port 3000

Open your browser to http://localhost:3000 for a beautiful web interface to manage your prompts.

How It Works

Chorus automatically intercepts LLM API calls made within decorated functions and extracts the prompts for versioning. No need to manually specify prompts - just use your existing LLM libraries normally.

Supported LLM Providers

  • OpenAI: openai.ChatCompletion.create(), openai.Completion.create()
  • Anthropic: anthropic.Anthropic().messages.create()
  • Google: google.generativeai.GenerativeModel.generate_content()
  • Cohere: cohere.Client().chat(), cohere.Client().generate()
  • LangChain: All LangChain LLM calls
  • And more: Extensible architecture for additional providers

Advanced Features

Dual Versioning System

Chorus uses a dual versioning approach:

  • Project Version: Semantic version for project changes (e.g., "1.0.0")
  • Agent Version: Incremental version for prompt changes (auto-incremented)

Prompt Tracking

  • Automatic interception of LLM API calls (OpenAI, Anthropic, etc.)
  • Real-time prompt extraction from intercepted messages
  • Execution time tracking
  • Input/output capture
  • Error handling and logging

Web Interface Features

  • Visual prompt management
  • Version comparison
  • Execution history
  • Export/import functionality

Development

Setup

git clone https://github.com/ConsensusLabsAI/prompt-chorus.git
cd prompt-chorus
pip install -e .

Testing

pip install -e ".[dev]"
pytest

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Metadata

Release files for prompt-chorus 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for prompt-chorus 0.1.2
File Size Uploaded Provenance
prompt_chorus-0.1.2.tar.gz 21.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for prompt-chorus 0.1.2
File Interpreter ABI Platform
prompt_chorus-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 43.4 kB

Release files / prompt_chorus-0.1.2.tar.gz

Download URL prompt_chorus-0.1.2.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c50f60a280bac3e5edaffe6d7a3359dfbfca5b06356a64ffc90230e6373bed16
BLAKE2b-256 checksum
How to use checksums
5910416f16e6cbff58939cc5fced7e004d569d60f58304c229009674476f3ce4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / prompt_chorus-0.1.2-py3-none-any.whl

Download URL prompt_chorus-0.1.2-py3-none-any.whl
Size 22.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdae6a2b9c4938f559a0fd1d3a5fd112ca25b46a8ba6a72e2ecff08a8763255e
BLAKE2b-256 checksum
How to use checksums
f707518a9595ec1b29e10e0a874ad65271d5dbda584750e64315d39f7ccea3a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Security for prompt-chorus 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page