SYMBOL INDEX (260 symbols across 14 files) FILE: p2l/auto_eval_utils.py function register_simple_metric (line 26) | def register_simple_metric(loss_type: str, metric: str): function register_aggr_metric (line 36) | def register_aggr_metric(loss_type: str, metric: str): function register_helper (line 46) | def register_helper(loss_or_model_type: str, helper_func): function output_labels_p2l (line 57) | def output_labels_p2l(val_data: pd.DataFrame, **kwargs): function translate_coefs (line 68) | def translate_coefs(coef, old_list, new_list): function output_labels_marginal (line 79) | def output_labels_marginal( function output_labels_marginal_gt (line 102) | def output_labels_marginal_gt( function output_labels_arena (line 115) | def output_labels_arena( function preprocess_data_bag (line 133) | def preprocess_data_bag(data: pd.DataFrame, **kwargs): function preprocess_data (line 145) | def preprocess_data(data: pd.DataFrame, **kwargs): function loss (line 155) | def loss(head_output: HeadOutputs, labels: torch.Tensor, loss_type: str,... function tie_loss (line 162) | def tie_loss(head_output: HeadOutputs, labels: torch.Tensor, loss_type: ... function tie_bb_loss (line 168) | def tie_bb_loss( function Aggr_Tie_Loss (line 180) | def Aggr_Tie_Loss( function BCE_loss (line 195) | def BCE_loss(head_output: HeadOutputs, labels: torch.Tensor, **kwargs): function aggr_metric (line 206) | def aggr_metric(metric_name, loss_type, labels, gt_output, model_output): function Aggr_Loss (line 226) | def Aggr_Loss( function Aggr_BCE_Loss (line 242) | def Aggr_BCE_Loss( function expand_output (line 253) | def expand_output(output, labels): function BT_mse (line 263) | def BT_mse( function BT_tie_mst (line 280) | def BT_tie_mst( function RK_mse (line 304) | def RK_mse(head_output: HeadOutputs, labels: torch.Tensor, loss_type: st... function bag_mse (line 319) | def bag_mse(head_output: HeadOutputs, labels: torch.Tensor, loss_type: s... function rk_reparam_probs (line 335) | def rk_reparam_probs( function bag_probs (line 360) | def bag_probs( function rk_probs (line 387) | def rk_probs( function BT_accuracy (line 406) | def BT_accuracy( function BT_tie_accuracy (line 421) | def BT_tie_accuracy( function RK_accuracy (line 441) | def RK_accuracy( function RK_tie_accuracy (line 460) | def RK_tie_accuracy( function bag_tie_accuracy (line 476) | def bag_tie_accuracy( function bag_tie_bb_accuracy (line 493) | def bag_tie_bb_accuracy( function Aggr_Tie_accuracy (line 513) | def Aggr_Tie_accuracy( function Aggr_Tie_accuracy (line 529) | def Aggr_Tie_accuracy( function Aggr_Tie_bb_accuracy (line 545) | def Aggr_Tie_bb_accuracy( function Aggr_Tie_bb_loss (line 561) | def Aggr_Tie_bb_loss( function not_implemented (line 586) | def not_implemented( function bag_accuracy (line 593) | def bag_accuracy( function beta_mean (line 616) | def beta_mean( function beta_std (line 630) | def beta_std( function beta_spread (line 644) | def beta_spread( function beta_mean_spread (line 658) | def beta_mean_spread( function beta_mean_iqr (line 674) | def beta_mean_iqr( function beta_mean_std (line 690) | def beta_mean_std( function aggr_marginal_gt (line 700) | def aggr_marginal_gt( function aggr_p2l (line 708) | def aggr_p2l( function aggr_p2l_batch (line 722) | def aggr_p2l_batch( function aggr_p2l_batch (line 741) | def aggr_p2l_batch( function aggr_non_p2l (line 755) | def aggr_non_p2l(head_output: HeadOutputs, loss_type: str, **kwargs): function aggr_non_p2l (line 762) | def aggr_non_p2l( function train_marginal (line 773) | def train_marginal(model_list, labels, loss_type, lr=1.0, tol=1e-9, max_... function train_aggr_prob (line 808) | def train_aggr_prob( function rk_eta (line 864) | def rk_eta(output): function pairwise_RK_probs (line 874) | def pairwise_RK_probs(real_output: HeadOutputs): function pairwise_RK_reparam_probs (line 900) | def pairwise_RK_reparam_probs(real_output: HeadOutputs, **kwargs): function pairwise_bag_probs (line 926) | def pairwise_bag_probs(real_output: HeadOutputs, **kwargs): function pairwise_BT_probs (line 958) | def pairwise_BT_probs(real_output: HeadOutputs): function remove_beta_nan (line 976) | def remove_beta_nan(beta1, beta2): function leaderboard (line 986) | def leaderboard( function get_leaderboard (line 995) | def get_leaderboard(output, model_list): function l1_dist_prob_bt (line 1017) | def l1_dist_prob_bt(gt_output: HeadOutputs, model_output: HeadOutputs, *... function l1_dist_prob_rk (line 1035) | def l1_dist_prob_rk( function l1_dist_prob_bag (line 1056) | def l1_dist_prob_bag( function beta_iqr (line 1082) | def beta_iqr(gt_output: HeadOutputs, model_output: HeadOutputs, **kwargs): function beta_std_aggr (line 1103) | def beta_std_aggr(gt_output: HeadOutputs, model_output: HeadOutputs, **k... function beta_spread_aggr (line 1118) | def beta_spread_aggr(gt_output: HeadOutputs, model_output: HeadOutputs, ... function kendall_lb (line 1135) | def kendall_lb(gt_output: HeadOutputs, model_output: HeadOutputs, **kwar... function spearman_lb (line 1148) | def spearman_lb(gt_output: HeadOutputs, model_output: HeadOutputs, **kwa... function top_k_frac (line 1156) | def top_k_frac(gt_betas: torch.tensor, model_betas: torch.tensor, k: int): function top_k_displace (line 1164) | def top_k_displace(gt_betas: torch.tensor, model_betas: torch.tensor, k:... function top_k_frac_dict (line 1177) | def top_k_frac_dict(gt_output: HeadOutputs, model_output: HeadOutputs, *... function top_k_dist_dict (line 1192) | def top_k_dist_dict(gt_output: HeadOutputs, model_output: HeadOutputs, *... FILE: p2l/auto_evals.py function parse_model_list (line 25) | def parse_model_list(hf_model, local_path): function change_beta_model_list (line 40) | def change_beta_model_list(df, old_list, new_list): function parse_eval_output_data (line 49) | def parse_eval_output_data( function add_labels_to_data (line 116) | def add_labels_to_data(data, loss_type, model_list): function get_model_list_from_df (line 143) | def get_model_list_from_df(df): function parse_train_data (line 147) | def parse_train_data(hf_data, local_path, loss_type, train_model_list): function parse_arena_data (line 166) | def parse_arena_data(path, initial_rating=1000, BASE=10, SCALE=400): function filter_battle_data (line 193) | def filter_battle_data(battles, category): function get_arena_rankings (line 240) | def get_arena_rankings(data, category): function get_subset_prompts (line 270) | def get_subset_prompts(output, labels, size): function get_subset_prompts_batch (line 284) | def get_subset_prompts_batch(output, labels, size, batch_size): function get_ith_output (line 299) | def get_ith_output(output, i): function save_output (line 305) | def save_output(results, local_dir, hf_dir, file_name): function simple_metrics (line 328) | def simple_metrics(metrics, output, labels, loss_type): function category_metrics (line 343) | def category_metrics( function random_subset_metrics (line 386) | def random_subset_metrics( function aggr_scale_metrics (line 445) | def aggr_scale_metrics( function get_metrics (line 529) | def get_metrics( FILE: p2l/dataset.py function get_model_list (line 7) | def get_model_list(dataset: Dataset): function get_dataset (line 27) | def get_dataset(path: str, split: str, from_disk=False): function _translate_label (line 40) | def _translate_label( function translate_val_data (line 51) | def translate_val_data( class DataCollator (line 71) | class DataCollator: method __init__ (line 72) | def __init__(self, tokenizer, max_length, weight=None, reweight_scale=... method __call__ (line 79) | def __call__(self, data): FILE: p2l/endpoint.py function parse_args (line 24) | def parse_args(): function lifespan (line 103) | async def lifespan(app: FastAPI): class InputData (line 142) | class InputData(BaseModel): class OutputData (line 146) | class OutputData(BaseModel): class ModelList (line 151) | class ModelList(BaseModel): class P2LPipeline (line 155) | class P2LPipeline(TextClassificationPipeline): method preprocess (line 156) | def preprocess(self, inputs, **tokenizer_kwargs) -> Dict[str, torch.Te... method postprocess (line 181) | def postprocess( function predict (line 195) | async def predict(input_data: InputData, api_key: str = Header(...)): function models (line 222) | async def models(api_key: str = Header(...)): function load_model (line 241) | def load_model( FILE: p2l/eval.py class P2LPipeline (line 16) | class P2LPipeline(TextClassificationPipeline): method preprocess (line 17) | def preprocess(self, inputs, **tokenizer_kwargs) -> Dict[str, torch.Te... method postprocess (line 39) | def postprocess( class ListDataset (line 57) | class ListDataset(Dataset): method __init__ (line 58) | def __init__(self, original_list): method __len__ (line 61) | def __len__(self): method __getitem__ (line 64) | def __getitem__(self, i): function main (line 68) | def main(args, local_file=None): FILE: p2l/model.py function register_loss (line 30) | def register_loss(name: str): function register_head (line 38) | def register_head(name: str): function register_init (line 46) | def register_init(name: str): function register_aggr_model (line 54) | def register_aggr_model(name: str): function register_pairwise_loss (line 62) | def register_pairwise_loss(name: str): function register_init (line 70) | def register_init(name: str): class HeadOutputs (line 79) | class HeadOutputs(ModelOutput): class P2LOutputs (line 86) | class P2LOutputs(ModelOutput): function BT_loss (line 95) | def BT_loss( function BT_tie_loss (line 122) | def BT_tie_loss( function RK_Loss (line 161) | def RK_Loss( function RK_Reparam_Loss (line 202) | def RK_Reparam_Loss( function BA_loss (line 246) | def BA_loss( function GRK_loss (line 297) | def GRK_loss( class BTHead (line 347) | class BTHead(nn.Module): method __init__ (line 348) | def __init__( method forward (line 364) | def forward(self, last_hidden_dim: torch.Tensor): class RKHead (line 370) | class RKHead(nn.Module): method __init__ (line 371) | def __init__( method forward (line 408) | def forward(self, last_hidden_dim: torch.Tensor): class BAHead (line 416) | class BAHead(nn.Module): method __init__ (line 417) | def __init__( method forward (line 433) | def forward(self, last_hidden_dim: torch.Tensor): function reset_params_init (line 443) | def reset_params_init(module): function he_unif_init (line 448) | def he_unif_init(module): function xavier_unif_init (line 453) | def xavier_unif_init(module): function tiny_normal_init (line 458) | def tiny_normal_init(module): function get_p2l_model (line 462) | def get_p2l_model( function get_tokenizer (line 567) | def get_tokenizer( class BTAggrModel (line 590) | class BTAggrModel(nn.Module): method __init__ (line 591) | def __init__(self, num_models, batch_size=1): method forward (line 598) | def forward(self): class RKAggrModel (line 606) | class RKAggrModel(nn.Module): method __init__ (line 607) | def __init__(self, num_models, batch_size=1): method forward (line 614) | def forward(self): function pairwise_batch_BT_loss (line 620) | def pairwise_batch_BT_loss( function pairwise_batch_RK_loss (line 654) | def pairwise_batch_RK_loss( function pairwise_batch_RK_reparam_loss (line 695) | def pairwise_batch_RK_reparam_loss( function get_bag_probs (line 733) | def get_bag_probs(beta_win, beta_lose, gamma, theta): function pairwise_batch_bag_loss (line 752) | def pairwise_batch_bag_loss( function RK_Tie_Loss (line 785) | def RK_Tie_Loss( function bag_tie_loss (line 821) | def bag_tie_loss( function bag_tie_bb_loss (line 859) | def bag_tie_bb_loss( FILE: p2l/train.py class NoShuffleTrainer (line 14) | class NoShuffleTrainer(Trainer): method _get_train_sampler (line 15) | def _get_train_sampler(self) -> Optional[Sampler]: function train_model (line 19) | def train_model(args): FILE: probe_barrier.py function log (line 7) | def log(msg: str, rank: int): function worker (line 11) | def worker(rank: int, world_size: int, backend: str): function main (line 40) | def main(): FILE: route/chat.py class BaseChatHandler (line 28) | class BaseChatHandler(ABC): method _create_client (line 32) | def _create_client(model_config: ModelConfig): method _handle_system_prompt (line 37) | def _handle_system_prompt( method generate (line 44) | def generate( method generate_stream (line 55) | def generate_stream( class OpenAIChatHandler (line 71) | class OpenAIChatHandler(BaseChatHandler): method _create_client (line 74) | def _create_client(model_config: ModelConfig): method _handle_system_prompt (line 93) | def _handle_system_prompt( method _create_completion (line 111) | def _create_completion( method generate (line 137) | def generate( method _skip (line 189) | def _skip(chunk: ChatCompletionChunk) -> bool: method generate_stream (line 200) | def generate_stream( class OpenaiReasoningChatHandler (line 270) | class OpenaiReasoningChatHandler(OpenAIChatHandler): method _create_completion (line 273) | def _create_completion( class OpenaiO1ChatHandler (line 294) | class OpenaiO1ChatHandler(OpenaiReasoningChatHandler): method generate_stream (line 297) | def generate_stream( class AnthropicChatHandler (line 354) | class AnthropicChatHandler(BaseChatHandler): method _create_client (line 357) | def _create_client(model_config: ModelConfig): method _handle_system_prompt (line 363) | def _handle_system_prompt( method generate (line 381) | def generate( method generate_stream (line 431) | def generate_stream( class GeminiChatHandler (line 511) | class GeminiChatHandler(BaseChatHandler): method _create_client (line 521) | def _create_client(model_config: ModelConfig): method _handle_system_prompt (line 530) | def _handle_system_prompt( method _create_completion (line 548) | def _create_completion( method generate (line 594) | def generate( method generate_stream (line 644) | def generate_stream( FILE: route/cost_optimizers.py class UnfulfillableException (line 9) | class UnfulfillableException(Exception): class BaseCostOptimizer (line 13) | class BaseCostOptimizer(ABC): method __init__ (line 14) | def __init__(self): method select_model (line 19) | def select_model( method select_max_score_model (line 29) | def select_max_score_model( class StrictCostOptimizer (line 44) | class StrictCostOptimizer(BaseCostOptimizer): method __init__ (line 46) | def __init__(self): method select_model (line 50) | def select_model( class SimpleLPCostOptimizer (line 84) | class SimpleLPCostOptimizer(BaseCostOptimizer): method __init__ (line 86) | def __init__(self): method select_model (line 90) | def select_model( class OptimalLPCostOptimizer (line 122) | class OptimalLPCostOptimizer(BaseCostOptimizer): method __init__ (line 124) | def __init__(self): method select_model (line 128) | def select_model( method _construct_W (line 163) | def _construct_W( FILE: route/datatypes.py class ModelConfig (line 7) | class ModelConfig: method __init__ (line 9) | def __init__(self, config: Dict[str, Any]): method get_name (line 12) | def get_name(self) -> str: method get_temp (line 15) | def get_temp(self) -> float: method get_top_p (line 18) | def get_top_p(self) -> float: method get_top_k (line 21) | def get_top_k(self, default=None) -> int: method get_system_prompt (line 24) | def get_system_prompt(self, default=None) -> str | None | Any: method get_api_key (line 27) | def get_api_key(self, default=None) -> str | None | Any: method get_base_url (line 30) | def get_base_url(self, default=None) -> str | None | Any: method get_type (line 33) | def get_type(self) -> str: method get_cost (line 36) | def get_cost(self) -> float: method get_max_tokens (line 39) | def get_max_tokens(self, default=None) -> int | None | Any: method get_extra_fields (line 42) | def get_extra_fields(self) -> Dict: method __repr__ (line 45) | def __repr__(self): class ModelConfigContainer (line 55) | class ModelConfigContainer: method __init__ (line 56) | def __init__(self, model_config_dicts: Dict[str, Dict[str, Any]]): method get_model_config (line 61) | def get_model_config(self, model_name: str) -> ModelConfig: method list_models (line 64) | def list_models(self) -> List[str]: method list_costs (line 67) | def list_costs(self) -> List[float]: method __repr__ (line 77) | def __repr__(self): class Roles (line 81) | class Roles(Enum): class ChatMessage (line 87) | class ChatMessage(BaseModel): class ChatCompletionRequest (line 99) | class ChatCompletionRequest(BaseModel): class Choice (line 116) | class Choice(BaseModel): class ChatCompletionResponse (line 126) | class ChatCompletionResponse(BaseModel): class ChatMessageDelta (line 140) | class ChatMessageDelta(BaseModel): class ChoiceDelta (line 146) | class ChoiceDelta(BaseModel): class ChatCompletionResponseChunk (line 152) | class ChatCompletionResponseChunk(BaseModel): class RouterOutput (line 163) | class RouterOutput: FILE: route/openai_server.py function parse_args (line 24) | def parse_args(): function lifespan (line 46) | async def lifespan(app: FastAPI): function create_chat_completion (line 94) | async def create_chat_completion( function models (line 182) | async def models(authorization: str = Header(None)) -> List[str]: FILE: route/routers.py class BaseRouter (line 14) | class BaseRouter(ABC): method __init__ (line 16) | def __init__( method _get_model_scores (line 29) | def _get_model_scores(self, messages: List[ChatMessage]) -> np.ndarray... method _get_previous_response_model (line 32) | def _get_previous_response_model(self, messages: List[ChatMessage]) ->... method _get_prompt (line 42) | def _get_prompt(self, messages: List[ChatMessage]) -> list[str]: method get_model_direct (line 58) | def get_model_direct(self, model_name: str) -> RouterOutput: method route (line 67) | def route(self, messages: List[ChatMessage], cost: float = None) -> Ro... class RandomRouter (line 94) | class RandomRouter(BaseRouter): method __init__ (line 97) | def __init__( method _get_model_scores (line 111) | def _get_model_scores(self, messages: List[ChatMessage]) -> np.ndarray... class EndpointP2LRouter (line 116) | class EndpointP2LRouter(BaseRouter): method __init__ (line 155) | def __init__( method _get_model_scores (line 202) | def _get_model_scores( method route (line 214) | def route(self, messages: List[ChatMessage], cost: float = None) -> Ro... method __init__ (line 247) | def __init__( method _get_model_scores (line 281) | def _get_model_scores(self, messages: List[ChatMessage]) -> np.ndarray... class EndpointP2LRouter (line 246) | class EndpointP2LRouter(BaseRouter): method __init__ (line 155) | def __init__( method _get_model_scores (line 202) | def _get_model_scores( method route (line 214) | def route(self, messages: List[ChatMessage], cost: float = None) -> Ro... method __init__ (line 247) | def __init__( method _get_model_scores (line 281) | def _get_model_scores(self, messages: List[ChatMessage]) -> np.ndarray... FILE: route/utils.py function get_registry_decorator (line 6) | def get_registry_decorator(registry: Dict) -> Callable: function query_p2l_endpoint (line 25) | def query_p2l_endpoint( function get_p2l_endpoint_models (line 49) | def get_p2l_endpoint_models(base_url: str, api_key: str) -> List[str]: