You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/docs/examples/llm_council_quickstart.md

171 lines
4.6 KiB

# LLM Council: 3-Step Quickstart Guide
The LLM Council enables collaborative decision-making with multiple AI agents through peer review and synthesis. Inspired by Andrej Karpathy's llm-council, it creates a council of specialized agents that respond independently, review each other's anonymized responses, and have a Chairman synthesize the best elements into a final answer.
## Overview
| Feature | Description |
|---------|-------------|
| **Multiple Perspectives** | Each council member provides unique insights from different viewpoints |
| **Peer Review** | Members evaluate and rank each other's responses anonymously |
| **Synthesis** | Chairman combines the best elements from all responses |
| **Transparency** | See both individual responses and evaluation rankings |
---
## Step 1: Install and Import
First, ensure you have Swarms installed and import the LLMCouncil class:
```bash
pip install swarms
```
```python
from swarms.structs.llm_council import LLMCouncil
```
---
## Step 2: Create the Council
Create an LLM Council with default council members (GPT-5.1, Gemini 3 Pro, Claude Sonnet 4.5, and Grok-4):
```python
# Create the council with default members
council = LLMCouncil(
name="Decision Council",
verbose=True,
output_type="dict-all-except-first"
)
```
---
## Step 3: Run a Query
Execute a query and get the synthesized response:
```python
# Run a query
result = council.run("What are the key factors to consider when choosing a cloud provider for enterprise applications?")
# Access the final synthesized answer
print(result["final_response"])
# View individual member responses
print(result["original_responses"])
# See how members ranked each other
print(result["evaluations"])
```
---
## Complete Example
Here's a complete working example:
```python
from swarms.structs.llm_council import LLMCouncil
# Step 1: Create the council
council = LLMCouncil(
name="Strategy Council",
description="A council for strategic decision-making",
verbose=True,
output_type="dict-all-except-first"
)
# Step 2: Run a strategic query
result = council.run(
"Should a B2B SaaS startup prioritize product-led growth or sales-led growth? "
"Consider factors like market size, customer acquisition costs, and scalability."
)
# Step 3: Process results
print("=" * 50)
print("FINAL SYNTHESIZED ANSWER:")
print("=" * 50)
print(result["final_response"])
```
---
## Custom Council Members
For specialized domains, create custom council members:
```python
from swarms import Agent
from swarms.structs.llm_council import LLMCouncil, get_gpt_councilor_prompt
# Create specialized agents
finance_expert = Agent(
agent_name="Finance-Councilor",
system_prompt="You are a financial analyst specializing in market analysis and investment strategies...",
model_name="gpt-4.1",
max_loops=1,
)
tech_expert = Agent(
agent_name="Technology-Councilor",
system_prompt="You are a technology strategist specializing in digital transformation...",
model_name="gpt-4.1",
max_loops=1,
)
risk_expert = Agent(
agent_name="Risk-Councilor",
system_prompt="You are a risk management expert specializing in enterprise risk assessment...",
model_name="gpt-4.1",
max_loops=1,
)
# Create council with custom members
council = LLMCouncil(
council_members=[finance_expert, tech_expert, risk_expert],
chairman_model="gpt-4.1",
verbose=True
)
result = council.run("Evaluate the risk-reward profile of investing in AI infrastructure")
```
---
## CLI Usage
Run LLM Council directly from the command line:
```bash
swarms llm-council --task "What is the best approach to implement microservices architecture?"
```
With verbose output:
```bash
swarms llm-council --task "Analyze the pros and cons of remote work" --verbose
```
---
## Use Cases
| Domain | Example Query |
|--------|---------------|
| **Business Strategy** | "Should we expand internationally or focus on domestic growth?" |
| **Technology** | "Which database architecture best suits our high-throughput requirements?" |
| **Finance** | "Evaluate investment opportunities in the renewable energy sector" |
| **Healthcare** | "What treatment approaches should be considered for this patient profile?" |
| **Legal** | "What are the compliance implications of this data processing policy?" |
---
## Next Steps
- Explore [LLM Council Examples](./llm_council_examples.md) for domain-specific implementations
- Learn about [LLM Council Reference Documentation](../swarms/structs/llm_council.md) for complete API details
- Try the [CLI Reference](../swarms/cli/cli_reference.md) for DevOps integration