Files
openrouter-python-sdk-retry…/src/openrouter/components/unifiedbenchmarksdaitem.py
T

123 lines
3.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
from .unifiedbenchmarkpricing import (
UnifiedBenchmarkPricing,
UnifiedBenchmarkPricingTypedDict,
)
from openrouter.types import BaseModel, Nullable, UNSET_SENTINEL
from pydantic import model_serializer
from typing import Literal
from typing_extensions import TypedDict
UnifiedBenchmarksDAItemSource = Literal["design-arena",]
r"""Benchmark source discriminator."""
class TournamentStatsTypedDict(TypedDict):
r"""Placement distribution from tournament matches."""
first_place: Nullable[int]
fourth_place: Nullable[int]
second_place: Nullable[int]
third_place: Nullable[int]
total: Nullable[int]
class TournamentStats(BaseModel):
r"""Placement distribution from tournament matches."""
first_place: Nullable[int]
fourth_place: Nullable[int]
second_place: Nullable[int]
third_place: Nullable[int]
total: Nullable[int]
@model_serializer(mode="wrap")
def serialize_model(self, handler):
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
m[k] = val
return m
class UnifiedBenchmarksDAItemTypedDict(TypedDict):
arena: str
r"""Arena this ranking belongs to."""
avg_generation_time_ms: Nullable[float]
r"""Average generation time in milliseconds."""
category: str
r"""Category within the arena."""
display_name: str
r"""Human-readable model name from Design Arena."""
elo: float
r"""ELO rating from head-to-head arena battles."""
model_permaslug: str
r"""Stable OpenRouter model identifier when mapped; otherwise the upstream Design Arena model id."""
pricing: Nullable[UnifiedBenchmarkPricingTypedDict]
r"""OpenRouter pricing per token for this model. Null if pricing is unavailable."""
source: UnifiedBenchmarksDAItemSource
r"""Benchmark source discriminator."""
tournament_stats: TournamentStatsTypedDict
r"""Placement distribution from tournament matches."""
win_rate: float
r"""Win rate as a percentage (0100)."""
class UnifiedBenchmarksDAItem(BaseModel):
arena: str
r"""Arena this ranking belongs to."""
avg_generation_time_ms: Nullable[float]
r"""Average generation time in milliseconds."""
category: str
r"""Category within the arena."""
display_name: str
r"""Human-readable model name from Design Arena."""
elo: float
r"""ELO rating from head-to-head arena battles."""
model_permaslug: str
r"""Stable OpenRouter model identifier when mapped; otherwise the upstream Design Arena model id."""
pricing: Nullable[UnifiedBenchmarkPricing]
r"""OpenRouter pricing per token for this model. Null if pricing is unavailable."""
source: UnifiedBenchmarksDAItemSource
r"""Benchmark source discriminator."""
tournament_stats: TournamentStats
r"""Placement distribution from tournament matches."""
win_rate: float
r"""Win rate as a percentage (0100)."""
@model_serializer(mode="wrap")
def serialize_model(self, handler):
serialized = handler(self)
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k, serialized.get(n))
if val != UNSET_SENTINEL:
m[k] = val
return m