-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdebate_state.py
More file actions
20 lines (16 loc) · 931 Bytes
/
debate_state.py
File metadata and controls
20 lines (16 loc) · 931 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from typing import TypedDict, List, Dict, Literal
DebateStage = Literal["opening", "rebuttal", "counter", "final_argument"]
class DebateMessage(TypedDict):
speaker: str # e.g. pro or con
content: str # The message each speaker produced
validated: bool # Whether the FactChecker ok’d this message
stage: DebateStage # The stage of the debate when this message was produced
class DebateState(TypedDict):
debate_topic: str
positions: Dict[str, str]
messages: List[DebateMessage]
opening_statement_pro_agent: str
stage: str # "opening", "rebuttal", "counter", "final_argument"
speaker: str # "pro" or "con"
times_pro_fact_checked: int # The number of times the pro agent has been fact-checked. If it reaches 3, the pro agent is disqualified.
times_con_fact_checked: int # The number of times the con agent has been fact-checked. If it reaches 3, the con agent is disqualified.