"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .llmmessage import LLMMessage, LLMMessageTypedDict
from livepeer_ai.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class LLMRequestTypedDict(TypedDict):
    messages: List[LLMMessageTypedDict]
    model: NotRequired[str]
    temperature: NotRequired[float]
    max_tokens: NotRequired[int]
    top_p: NotRequired[float]
    top_k: NotRequired[int]
    stream: NotRequired[bool]


class LLMRequest(BaseModel):
    messages: List[LLMMessage]

    model: Optional[str] = ""

    temperature: Optional[float] = 0.7

    max_tokens: Optional[int] = 256

    top_p: Optional[float] = 1

    top_k: Optional[int] = -1

    stream: Optional[bool] = False
