Skip to main content

Multi-agent collaboration through pairwise comparisons

Project description

Arbitron ⚖️

Arbitron is an agentic pairwise comparison engine. Multiple agents, each with unique value systems, evaluate items head-to-head and produce a set of pairwise comparisons that can be used to derive item's ranks and weights.

  • Why pairwise? It's easier to compare two items than to assign absolute scores.
  • Why multi-agent? Different models with different perspectives (system prompts) lead to more balanced, less biased outcomes.

✨ Features

  • 🎯 Arbitrary Sets. Evaluate text, code, products, ideas
  • 🤖 Customizable Agents. Specify custom personas, tools, providers
  • 🛡️ Bias Reduction. Ensemble decision-making
  • 🧩 Remixable — Join data with human labels and apply personalized heuristics

🚀 Quickstart

Running your first Arbitron "contest" is easy!

pip install arbitron

Setup your favorite LLM provider's API keys in the environment (e.g: OPENAI_API_KEY) and then run the following code.

import arbitron

movies = [
    arbitron.Item(id="arrival"),
    arbitron.Item(id="blade_runner"),
    arbitron.Item(id="interstellar"),
    arbitron.Item(id="inception"),
    arbitron.Item(id="the_dark_knight"),
    arbitron.Item(id="dune"),
    arbitron.Item(id="the_matrix"),
    arbitron.Item(id="2001_space_odyssey"),
    arbitron.Item(id="the_fifth_element"),
    arbitron.Item(id="the_martian"),
]

agents = [
    arbitron.Agent(
        id="SciFi Purist",
        prompt="Compare based on scientific accuracy and hard sci-fi concepts.",
        model="openai:gpt-5-nano",
    ),
    arbitron.Agent(
        id="Nolan Fan",
        prompt="Compare based on complex narratives and emotional depth.",
        model="openai:gpt-5-nano",
    ),
    arbitron.Agent(
        id="Critics Choice",
        prompt="Compare based on artistic merit and cinematic excellence.",
        model="openai:gpt-5-nano",
    ),
]

description = "Rank the movies based on their soundtrack quality."

comparisons = arbitron.run(description, agents, movies)

print(comparisons)

🏛️ License

MIT License - see LICENSE file for details.

🙌 Acknowledgments

  • DeepGov and their use of AI for Democratic Capital Allocation and Governance.
  • Daniel Kronovet for his many writings on the power of pairwise comparisons.

Margur veit það sem einn veit ekki. Many know what one does not know.

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

arbitron-0.5.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

arbitron-0.5.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file arbitron-0.5.0.tar.gz.

File metadata

  • Download URL: arbitron-0.5.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.3

File hashes

Hashes for arbitron-0.5.0.tar.gz
Algorithm Hash digest
SHA256 04827c1e9e7d8bf7bc5d5864f874a5caf285ff9db417357412d2200017603471
MD5 c14ccc25546fd73ae681f750eb362984
BLAKE2b-256 18613bfbacbff8dcaacfed035e6bf476bf1d63d84e655a1e87944598b191c76a

See more details on using hashes here.

File details

Details for the file arbitron-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: arbitron-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.3

File hashes

Hashes for arbitron-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1588c1baeaa7f25594467b2f289ce87d9852f1227c52452b3a425c4a0ca2146c
MD5 8c87545040bd17e981091359e6219a9f
BLAKE2b-256 a5fef49ee500c2d7679b16ad1ed0af95bd2f3e5354236b675ad34428c6e6fe17

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