Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add multi agent debate #1491

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

zhangzaibin
Copy link
Member

Description

Describe your changes in detail.

Motivation and Context

Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.
You can use the syntax close #15213 if this solves the issue #15213

  • I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes

What types of changes does your code introduce? Put an x in all the boxes that apply:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds core functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation (update in the documentation)
  • Example (update in the folder of example)

Implemented Tasks

  • Subtask 1
  • Subtask 2
  • Subtask 3

Checklist

Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

  • I have read the CONTRIBUTION guide. (required)
  • My change requires a change to the documentation.
  • I have updated the tests accordingly. (required for a bug fix or a new feature)
  • I have updated the documentation accordingly.

Add functionality for multi-agent debate to solve a given problem, supporting two or more agents.

* **apps/agents/agents.py**
  - Import `MultiAgentDebate` from `camel.societies`.
  - Add `multi_agent_debate` function to initialize and manage the debate session.
  - Update `construct_ui` function to include UI elements for multi-agent debate.

* **camel/agents/chat_agent.py**
  - Add `DebateAgent` class extending `ChatAgent` to handle debating logic.
  - Implement methods for initializing agents, handling turns, and determining the winner.

* **camel/societies/role_playing.py**
  - Add `MultiAgentDebate` class to manage the debate session.
  - Implement methods for initializing agents, handling turns, and determining the winner.

* **docs/camel.societies.rst**
  - Add documentation for the new `MultiAgentDebate` class.
  - Update documentation for the `RolePlaying` class to include multi-agent debate.
* **scripts/start_multi_agent_debate.py**
  - Read a CSV file containing multiple questions
  - Allow specifying agent prompts within the script
  - Iterate prompts and collect agent responses during the debate
  - Save the collected prompts and responses as JSON

* **camel/agents/critic_agent.py**
  - Add functionality to score each round of user output during the debate
  - Save the score as a reward in the JSON file
  - Ensure the critic agent is based on LLM, with input as the overall user question and current content
  - Generate output through LLM
@Wendong-Fan
Copy link
Member

Thanks for the contribution @zhangzaibin ! Some checks are not passed could you check and fix this? Here is our contribution guideline FYR:https://github.com/camel-ai/camel/blob/master/CONTRIBUTING.md
Let me know if you need any support~

@Wendong-Fan Wendong-Fan changed the title Add multi agent debate feat: Add multi agent debate Jan 23, 2025
@Wendong-Fan Wendong-Fan added this to the Sprint 21 milestone Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants