haive.games.debate_v2.judges ============================ .. py:module:: haive.games.debate_v2.judges .. autoapi-nested-parse:: AI Judge System for Gamified Debates. This module provides sophisticated AI judge agents that can evaluate debates using different criteria and scoring methodologies. Classes ------- .. autoapisummary:: haive.games.debate_v2.judges.AIDebateJudge haive.games.debate_v2.judges.DebateJudgingPanel haive.games.debate_v2.judges.DebateJudgment haive.games.debate_v2.judges.JudgeScore haive.games.debate_v2.judges.JudgeType haive.games.debate_v2.judges.JudgingCriteria Functions --------- .. autoapisummary:: haive.games.debate_v2.judges.create_academic_judges haive.games.debate_v2.judges.create_public_judges haive.games.debate_v2.judges.create_tournament_judges Module Contents --------------- .. py:class:: AIDebateJudge(name, judge_type = JudgeType.BALANCED, expertise_area = None, strictness_level = 0.5) AI judge that evaluates debate performances. Init . :param name: [TODO: Add description] :param judge_type: [TODO: Add description] :param expertise_area: [TODO: Add description] :param strictness_level: [TODO: Add description] .. py:method:: judge_player_performance(player_name, player_position, debate_transcript, topic) :async: Judge a single player's performance in the debate. .. py:class:: DebateJudgingPanel(judges) Panel of multiple AI judges for comprehensive debate evaluation. Init . :param judges: [TODO: Add description] .. py:method:: create_expert_panel(expertise_area) :classmethod: Create a panel specialized in a particular area. .. py:method:: create_standard_panel(num_judges = 3) :classmethod: Create a standard panel with configurable number of randomized judges. :param num_judges: Number of judges to include (default: 3 to avoid ties) Must be odd number for proper tie-breaking. .. py:method:: judge_debate(topic, players, positions, debate_transcript) :async: Get comprehensive judgment from all judges. .. py:class:: DebateJudgment(/, **data) Bases: :py:obj:`pydantic.BaseModel` Complete judgment of a debate by multiple judges. Create a new model by parsing and validating input data from keyword arguments. Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model. `self` is explicitly positional-only to allow `self` as a field name. .. py:class:: JudgeScore(/, **data) Bases: :py:obj:`pydantic.BaseModel` Individual judge's scoring for a debate. Create a new model by parsing and validating input data from keyword arguments. Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model. `self` is explicitly positional-only to allow `self` as a field name. .. py:class:: JudgeType Bases: :py:obj:`str`, :py:obj:`enum.Enum` Different types of AI judges with different personalities. Initialize self. See help(type(self)) for accurate signature. .. py:class:: JudgingCriteria Bases: :py:obj:`str`, :py:obj:`enum.Enum` Different criteria for judging debates. Initialize self. See help(type(self)) for accurate signature. .. py:function:: create_academic_judges(num_judges = 3) Create academic judges focused on evidence and logic. :param num_judges: Number of judges (default: 3) .. py:function:: create_public_judges(num_judges = 3) Create public judges focused on accessibility and appeal. :param num_judges: Number of judges (default: 3) .. py:function:: create_tournament_judges(num_judges = 3) Create judges suitable for tournament play. :param num_judges: Number of judges (default: 3 to avoid ties)