Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ challenge_final_results: bool = False
judge_intervention: Optional[str] = None
judge_metric: Optional[str] = None
judge_endpoint_url: Optional[str] = None
judge_model_name: Optional[str] = None
judge_api_key: str = "-"
judge_always_intervene: bool = False
```
Expand Down
6 changes: 3 additions & 3 deletions mallm/coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
from mallm.agents.draftProposer import DraftProposer
from mallm.agents.judge import Judge
from mallm.agents.panelist import Panelist
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.discourse_policy.policy import DiscoursePolicy
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.discussion_paradigms.paradigm import DiscussionParadigm
from mallm.models.Chat import Chat
from mallm.models.discussion.ResponseGenerator import ResponseGenerator
from mallm.models.discussion.SimpleResponseGenerator import SimpleResponseGenerator
Expand Down Expand Up @@ -273,7 +273,7 @@ def discuss(
raise Exception(
f"No valid discourse policy for paradigm {config.discussion_paradigm}"
)
policy: DiscoursePolicy = DISCUSSION_PARADIGMS[config.discussion_paradigm]()
policy: DiscussionParadigm = DISCUSSION_PARADIGMS[config.discussion_paradigm]()

logger.info(
f"""Starting discussion with coordinator {self.id}...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import Any, Optional

from mallm.agents.panelist import Panelist
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.models.discussion.ResponseGenerator import ResponseGenerator
from mallm.utils.config import Config
from mallm.utils.enums import DecisionAlteration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from typing import Any, Optional

from mallm.agents.panelist import Panelist
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.utils.config import Config
from mallm.utils.enums import DecisionAlteration
from mallm.utils.types import Agreement, VotingResult, VotingResultList, WorkerFunctions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from typing import Any, Optional

from mallm.agents.panelist import Panelist
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.models.discussion.ResponseGenerator import ResponseGenerator
from mallm.utils.config import Config
from mallm.utils.enums import DecisionAlteration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import Any, Optional

from mallm.agents.panelist import Panelist
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.models.discussion.ResponseGenerator import ResponseGenerator
from mallm.utils.config import Config
from mallm.utils.enums import DecisionAlteration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from typing import Any, Optional

from mallm.agents.panelist import Panelist
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.models.discussion.ResponseGenerator import ResponseGenerator
from mallm.utils.config import Config
from mallm.utils.enums import DecisionAlteration
Expand All @@ -11,9 +11,9 @@
logger = logging.getLogger("mallm")


class Summary(DecisionProtocol):
class Judge(DecisionProtocol):
"""
The Summary decision protocol creates a summary of all answers after a certain number of turns.
The Judge decision protocol creates a summary of all answers after a certain number of turns.
"""

_name = "summary"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from typing import Any, Optional

from mallm.agents.panelist import Panelist
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.models.discussion.ResponseGenerator import ResponseGenerator
from mallm.utils.config import Config
from mallm.utils.enums import DecisionAlteration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import Any, Optional

from mallm.agents.panelist import Panelist
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.models.discussion.ResponseGenerator import ResponseGenerator
from mallm.utils.config import Config
from mallm.utils.enums import DecisionAlteration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from mallm.agents.draftProposer import DraftProposer
from mallm.agents.panelist import Panelist
from mallm.discourse_policy.policy import DiscoursePolicy
from mallm.discussion_paradigms.paradigm import DiscussionParadigm
from mallm.utils.types import Agreement, Memory, TemplateFilling, VotingResultList

if TYPE_CHECKING:
Expand All @@ -18,7 +18,7 @@
logger = logging.getLogger("mallm")


class CollectiveRefinement(DiscoursePolicy):
class CollectiveRefinement(DiscussionParadigm):
"""
A discussion protocol where agents improve their answers through multiple rounds of feedback.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from mallm.agents.draftProposer import DraftProposer
from mallm.agents.judge import Judge
from mallm.agents.panelist import Panelist
from mallm.discourse_policy.policy import DiscoursePolicy
from mallm.discussion_paradigms.paradigm import DiscussionParadigm
from mallm.utils.types import Agreement, TemplateFilling, VotingResultList

if TYPE_CHECKING:
Expand All @@ -18,7 +18,7 @@
logger = logging.getLogger("mallm")


class DiscourseDebate(DiscoursePolicy):
class DiscussionDebate(DiscussionParadigm):
def draft_proposer_call(
self,
draft_proposer: DraftProposer,
Expand Down Expand Up @@ -120,7 +120,8 @@ def discuss(
logger.debug(
f"Discussion {coordinator.id} goes into debate round: {r!s}"
)
debate_agreements: list[Agreement] = []
if r == 0:
debate_agreements = self.agreements
for i, a in enumerate(
coordinator.agents[1:]
): # similar to relay paradigm
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@

from mallm.agents.draftProposer import DraftProposer
from mallm.agents.panelist import Panelist
from mallm.discourse_policy.policy import DiscoursePolicy
from mallm.discussion_paradigms.paradigm import DiscussionParadigm
from mallm.utils.types import TemplateFilling

if TYPE_CHECKING:
from mallm.coordinator import Coordinator
logger = logging.getLogger("mallm")


class DiscourseMemory(DiscoursePolicy):
class DiscussionMemory(DiscussionParadigm):
def __init__(self) -> None:
super().__init__(
"""Paradigm: Memory
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
logger = logging.getLogger("mallm")


class DiscoursePolicy(ABC):
class DiscussionParadigm(ABC):
def __init__(self, paradigm_str: str = "") -> None:
self.paradigm_str = paradigm_str
self.decision = False
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@

from mallm.agents.draftProposer import DraftProposer
from mallm.agents.panelist import Panelist
from mallm.discourse_policy.policy import DiscoursePolicy
from mallm.discussion_paradigms.paradigm import DiscussionParadigm
from mallm.utils.types import TemplateFilling

if TYPE_CHECKING:
from mallm.coordinator import Coordinator
logger = logging.getLogger("mallm")


class DiscourseRelay(DiscoursePolicy):
class DiscussionRelay(DiscussionParadigm):
def __init__(self) -> None:
super().__init__(
"""Paradigm: Relay
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@

from mallm.agents.draftProposer import DraftProposer
from mallm.agents.panelist import Panelist
from mallm.discourse_policy.policy import DiscoursePolicy
from mallm.discussion_paradigms.paradigm import DiscussionParadigm
from mallm.utils.types import TemplateFilling

if TYPE_CHECKING:
from mallm.coordinator import Coordinator
logger = logging.getLogger("mallm")


class DiscourseReport(DiscoursePolicy):
class DiscussionReport(DiscussionParadigm):
def __init__(self) -> None:
super().__init__(
"""Paradigm: Report
Expand Down
40 changes: 20 additions & 20 deletions mallm/utils/dicts.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
from mallm.decision_protocol.approval_voting import ApprovalVoting
from mallm.decision_protocol.consensus import (
from mallm.decision_protocols.approval_voting import ApprovalVoting
from mallm.decision_protocols.consensus import (
HybridMajorityConsensus,
MajorityConsensus,
SupermajorityConsensus,
UnanimityConsensus,
)
from mallm.decision_protocol.consensus_voting import ConsensusVoting
from mallm.decision_protocol.cumulative_voting import CumulativeVoting
from mallm.decision_protocol.protocol import DecisionProtocol
from mallm.decision_protocol.ranked_voting import RankedVoting
from mallm.decision_protocol.simple_voting import SimpleVoting
from mallm.decision_protocol.summary import Summary
from mallm.discourse_policy.collective_refinement import CollectiveRefinement
from mallm.discourse_policy.debate import DiscourseDebate
from mallm.discourse_policy.memory import DiscourseMemory
from mallm.discourse_policy.policy import DiscoursePolicy
from mallm.discourse_policy.relay import DiscourseRelay
from mallm.discourse_policy.report import DiscourseReport
from mallm.decision_protocols.consensus_voting import ConsensusVoting
from mallm.decision_protocols.cumulative_voting import CumulativeVoting
from mallm.decision_protocols.protocol import DecisionProtocol
from mallm.decision_protocols.ranked_voting import RankedVoting
from mallm.decision_protocols.simple_voting import SimpleVoting
from mallm.decision_protocols.judge import Judge
from mallm.discussion_paradigms.collective_refinement import CollectiveRefinement
from mallm.discussion_paradigms.debate import DiscussionDebate
from mallm.discussion_paradigms.memory import DiscussionMemory
from mallm.discussion_paradigms.paradigm import DiscussionParadigm
from mallm.discussion_paradigms.relay import DiscussionRelay
from mallm.discussion_paradigms.report import DiscussionReport
from mallm.models.discussion.CriticalResponseGenerator import CriticalResponseGenerator
from mallm.models.discussion.FreeTextResponseGenerator import FreeTextResponseGenerator
from mallm.models.discussion.ReasoningResponseGenerator import (
Expand All @@ -43,14 +43,14 @@
"cumulative_voting": CumulativeVoting,
"ranked_voting": RankedVoting,
"consensus_voting": ConsensusVoting,
"summary": Summary,
"summary": Judge,
}

DISCUSSION_PARADIGMS: dict[str, type[DiscoursePolicy]] = {
"memory": DiscourseMemory,
"report": DiscourseReport,
"relay": DiscourseRelay,
"debate": DiscourseDebate,
DISCUSSION_PARADIGMS: dict[str, type[DiscussionParadigm]] = {
"memory": DiscussionMemory,
"report": DiscussionReport,
"relay": DiscussionRelay,
"debate": DiscussionDebate,
"collective_refinement": CollectiveRefinement,
}

Expand Down
2 changes: 1 addition & 1 deletion test/decision_protocol/test_majority_consensus.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from mallm.agents.draftProposer import DraftProposer
from mallm.agents.panelist import Panelist
from mallm.coordinator import Coordinator
from mallm.decision_protocol.consensus import (
from mallm.decision_protocols.consensus import (
HybridMajorityConsensus,
UnanimityConsensus,
)
Expand Down