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/swarms/agents/consistency_agent.md

3.7 KiB

Consistency Agent Documentation

The SelfConsistencyAgent is a specialized agent designed for generating multiple independent responses to a given task and aggregating them into a single, consistent final answer. It leverages concurrent processing to enhance efficiency and employs a majority voting mechanism to ensure the reliability of the aggregated response.

Purpose

The primary objective of the SelfConsistencyAgent is to provide a robust mechanism for decision-making and problem-solving by generating diverse responses and synthesizing them into a coherent final answer. This approach is particularly useful in scenarios where consistency and reliability are critical.

Class: SelfConsistencyAgent

Initialization

  • __init__: Initializes the SelfConsistencyAgent with specified parameters.

Arguments

Argument Type Default Description
num_samples int 5 Number of independent responses to sample.
return_list bool False Whether to return the conversation as a list.
max_loops int 1 Maximum number of loops for the agent to run.
return_dict bool False Whether to return the conversation as a dictionary.
return_json bool False Whether to return the conversation as JSON.
majority_voting_prompt str None Custom prompt for majority voting.

Methods

  • run: Generates multiple responses for the given task and aggregates them.

    • Arguments:
      • task (str): The input prompt.
      • answer (str, optional): The expected answer to validate responses against.
    • Returns: str - The aggregated final answer.
  • aggregate: Aggregates a list of responses into a single final answer using majority voting.

    • Arguments:
      • responses (List[str]): The list of responses.
    • Returns: str - The aggregated answer.
  • check_responses_for_answer: Checks if a specified answer is present in any of the provided responses.

    • Arguments:
      • responses (List[str]): A list of responses to check.
      • answer (str): The answer to look for in the responses.
    • Returns: bool - True if the answer is found, False otherwise.

Examples

Example 1: Basic Usage

from swarms.agents.consistency_agent import SelfConsistencyAgent

# Initialize the agent
agent = SelfConsistencyAgent(
    agent_name="Reasoning-Agent",
    model_name="gpt-4o-mini",
    max_loops=1,
    num_samples=5
)

# Define a task
task = "What is the 40th prime number?"

# Run the agent
final_answer = agent.run(task)

# Print the final aggregated answer
print("Final aggregated answer:", final_answer)

Example 2: Using Custom Majority Voting Prompt

from swarms.agents.consistency_agent import SelfConsistencyAgent

# Initialize the agent with a custom majority voting prompt
agent = SelfConsistencyAgent(
    agent_name="Reasoning-Agent",
    model_name="gpt-4o-mini",
    max_loops=1,
    num_samples=5,
    majority_voting_prompt="Please provide the most common response."
)

# Define a task
task = "Explain the theory of relativity in simple terms."

# Run the agent
final_answer = agent.run(task)

# Print the final aggregated answer
print("Final aggregated answer:", final_answer)