Spaces:
Running
on
T4
Running
on
T4
| from typing import List, Optional, Union, Dict, Any, Literal | |
| from pydantic import BaseModel, Field | |
| class ChatMessage(BaseModel): | |
| role: str = Field() | |
| content: str = Field() | |
| class Logprob(BaseModel): | |
| token: str | |
| logprob: float | |
| top_logprobs: Optional[List[Dict[str, Any]]] = None | |
| class LogprobsContent(BaseModel): | |
| content: Optional[List[Logprob]] = None | |
| refusal: Optional[List[Logprob]] = None | |
| class FunctionCall(BaseModel): | |
| name: str | |
| arguments: str | |
| class ChatCompletionMessage(BaseModel): | |
| role: Optional[str] = Field( | |
| None, description="The role of the author of this message" | |
| ) | |
| content: Optional[str] = Field(None, description="The contents of the message") | |
| reasoning_content: Optional[str] = Field( | |
| None, description="The reasoning contents of the message" | |
| ) | |
| tool_calls: Optional[List[Dict[str, Any]]] = Field( | |
| None, description="Tool calls generated by the model" | |
| ) | |
| class PromptTokensDetails(BaseModel): | |
| cached_tokens: int | |
| class CompletionTokensDetails(BaseModel): | |
| reasoning_tokens: int | |
| accepted_prediction_tokens: int | |
| rejected_prediction_tokens: int | |
| class Usage(BaseModel): | |
| prompt_tokens: int | |
| completion_tokens: int | |
| total_tokens: int | |
| prompt_tokens_details: Optional[PromptTokensDetails] | |
| # completion_tokens_details: CompletionTokensDetails | |
| class ChatCompletionChoice(BaseModel): | |
| index: int | |
| message: Optional[ChatCompletionMessage] = None | |
| delta: Optional[ChatCompletionMessage] = None | |
| logprobs: Optional[LogprobsContent] = None | |
| finish_reason: Optional[str] = Field( | |
| ..., description="Reason for stopping: stop, length, content_filter, tool_calls" | |
| ) | |
| class ChatCompletion(BaseModel): | |
| id: str = Field(..., description="Unique identifier for the chat completion") | |
| object: Literal["chat.completion"] = "chat.completion" | |
| created: int = Field(..., description="Unix timestamp of creation") | |
| model: str | |
| choices: List[ChatCompletionChoice] | |
| usage: Usage | |
| class ChatCompletionChunk(BaseModel): | |
| id: str = Field(..., description="Unique identifier for the chat completion") | |
| object: Literal["chat.completion.chunk"] = "chat.completion.chunk" | |
| created: int = Field(..., description="Unix timestamp of creation") | |
| model: str | |
| choices: List[ChatCompletionChoice] | |
| usage: Optional[Usage] | |