diff options
Diffstat (limited to 'backend/app/schemas.py')
| -rw-r--r-- | backend/app/schemas.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/backend/app/schemas.py b/backend/app/schemas.py index 4213f15..7a657a3 100644 --- a/backend/app/schemas.py +++ b/backend/app/schemas.py @@ -76,6 +76,35 @@ class CouncilRunRequest(BaseModel): attached_file_ids: List[str] = Field(default_factory=list) scopes: List[str] = Field(default_factory=list) +class DebateJudgeMode(str, Enum): + EXTERNAL_JUDGE = "external_judge" + SELF_CONVERGENCE = "self_convergence" + DISPLAY_ONLY = "display_only" + +class DebateFormat(str, Enum): + FREE_DISCUSSION = "free_discussion" + STRUCTURED_OPPOSITION = "structured_opposition" + ITERATIVE_IMPROVEMENT = "iterative_improvement" + CUSTOM = "custom" + +class DebateRunRequest(BaseModel): + node_id: str + incoming_contexts: List[Context] = [] + user_prompt: str + debate_models: List[CouncilMemberConfig] # 2-6 models + judge_model: Optional[CouncilMemberConfig] = None + judge_mode: DebateJudgeMode = DebateJudgeMode.EXTERNAL_JUDGE + debate_format: DebateFormat = DebateFormat.FREE_DISCUSSION + custom_format_prompt: Optional[str] = None + max_rounds: int = 5 + system_prompt: Optional[str] = None + temperature: float = 0.7 + reasoning_effort: ReasoningEffort = ReasoningEffort.MEDIUM + enable_google_search: bool = False + merge_strategy: MergeStrategy = MergeStrategy.SMART + attached_file_ids: List[str] = Field(default_factory=list) + scopes: List[str] = Field(default_factory=list) + class NodeRunResponse(BaseModel): node_id: str output_context: Context |
