Observed since 21 Oct, 09:20 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Democratic AI: Multi-agent opinion aggregation with fairness guarantees
AgorAI is a Python library for building fair, unbiased AI systems through democratic multi-agent opinion aggregation. It combines social choice theory, welfare economics, and modern LLMs to enable collective decision-making with provable fairness guarantees.
AgorAI addresses a fundamental challenge in AI: How do we make fair decisions when different perspectives disagree?
Instead of relying on a single AI model's judgment, AgorAI:
Perfect for: AI researchers, ML engineers, and social scientists building fair multi-agent systems.
pip install agorai[all]
API Keys (Optional):
OPENAI_API_KEY, ANTHROPIC_API_KEY, or configure Ollama locallyOPENAI_API_KEY or REPLICATE_API_TOKENThe most common use case - combine utilities/opinions from multiple agents:
from agorai.aggregate import aggregate
# Three agents provide utilities for three candidates
utilities = [
[0.8, 0.2, 0.5], # Agent 1's utilities
[0.3, 0.7, 0.4], # Agent 2's utilities
[0.6, 0.5, 0.9], # Agent 3's utilities
]
# Use "fair" aggregation (Atkinson method)
result = aggregate(utilities, method="fair")
print(f"Winner: Candidate {result['winner']}")
print(f"Scores: {result['scores']}")
Try different methods:
# Protect minorities
result = aggregate(utilities, method="minority-focused") # Maximin
# Resist outliers
result = aggregate(utilities, method="robust") # Robust Median
# Democratic voting
result = aggregate(utilities, method="democratic") # Majority
# Or use technical names
result = aggregate(utilities, method="schulze_condorcet")
See all options: Aggregation Methods Documentation
Detect and mitigate bias by synthesizing diverse cultural perspectives:
from agorai.bias import mitigate_bias
# Analyze content from multiple cultural perspectives
result = mitigate_bias(
input_text="Is this job posting discriminatory?",
input_image=None, # Optional: for multimodal analysis
aggregation_method="fair",
num_perspectives=5 # Generate 5 diverse cultural perspectives
)
print(f"Decision: {result['decision']}")
print(f"Confidence: {result['confidence']:.2%}")
print(f"Fairness metrics: {result['fairness_metrics']}")
See full guide: Bias Mitigation Documentation
| Category | Methods | Use When |
|---|---|---|
| Social Choice | Majority, Borda, Schulze, Approval | Democratic legitimacy, ranked preferences |
| Welfare Economics | Maximin, Atkinson | Fairness, inequality aversion, minority protection |
| Machine Learning | Robust Median, Consensus | Outlier resistance, ensemble predictions |
| Game Theory | Nash Bargaining, Veto Hybrid | Strategic settings, minority veto power |
Full list: Aggregation Methods Documentation
Problem: Single AI models can be biased, unfair, or make decisions that don't align with diverse human values.
Solution: Democratic aggregation provides:
AgorAI builds on decades of research in social choice theory, welfare economics, and multi-agent AI systems.
Related Research:
Citing AgorAI:
@software{agorai2025,
author = {Schlenker, Samuel},
title = {AgorAI: Democratic AI Through Multi-Agent Aggregation},
year = {2025},
url = {https://github.com/yourusername/agorai}
}
Contributions for research and non-commercial purposes are welcome! See CONTRIBUTING.md for guidelines.
Areas where we'd love help:
Research and Non-Commercial License
Copyright (c) 2025 Samuel Schlenker
Free for academic research, education, and non-commercial use. Commercial use requires prior written agreement.
See LICENSE for full terms.
Built with ❤️ for the democratic AI research community
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.2.1 | 17 Dec 2025 | 11 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 09:20 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:ccb2e21fcda04aac1aac980268f9dc4e4d47008870ea0ea34d0550d2b039f317