Spaces:
Paused
Paused
| from typing import List, Dict, Optional, Union, Literal | |
| from pydantic import BaseModel, Field | |
| class Message(BaseModel): | |
| role: str | |
| content: str | |
| class ChatCompletionRequest(BaseModel): | |
| model: str | |
| messages: List[Message] | |
| temperature: float = 0.7 | |
| top_p: Optional[float] = 1.0 | |
| n: int = 1 | |
| stream: bool = False | |
| stop: Optional[Union[str, List[str]]] = None | |
| max_tokens: Optional[int] = None | |
| presence_penalty: Optional[float] = 0.0 | |
| frequency_penalty: Optional[float] = 0.0 | |
| class Choice(BaseModel): | |
| index: int | |
| message: Message | |
| finish_reason: Optional[str] = None | |
| class Usage(BaseModel): | |
| prompt_tokens: int = 0 | |
| completion_tokens: int = 0 | |
| total_tokens: int = 0 | |
| class ChatCompletionResponse(BaseModel): | |
| id: str | |
| object: Literal["chat.completion"] | |
| created: int | |
| model: str | |
| choices: List[Choice] | |
| usage: Usage = Field(default_factory=Usage) | |
| class ErrorResponse(BaseModel): | |
| message: str | |
| type: str | |
| param: Optional[str] = None | |
| code: Optional[str] = None | |
| class ModelList(BaseModel): | |
| object: str = "list" | |
| data: List[Dict] |