Spaces:
Runtime error
Runtime error
import time | |
from enum import Enum | |
from pydantic import BaseModel, Field | |
from typing import List, Optional | |
class Role(str, Enum): | |
USER = "user" | |
ASSISTANT = "assistant" | |
SYSTEM = "system" | |
class Finish(str, Enum): | |
STOP = "stop" | |
LENGTH = "length" | |
class ModelCard(BaseModel): | |
id: str | |
object: Optional[str] = "model" | |
created: Optional[int] = Field(default_factory=lambda: int(time.time())) | |
owned_by: Optional[str] = "owner" | |
root: Optional[str] = None | |
parent: Optional[str] = None | |
permission: Optional[list] = [] | |
class ModelList(BaseModel): | |
object: Optional[str] = "list" | |
data: Optional[List[ModelCard]] = [] | |
class ChatMessage(BaseModel): | |
role: Role | |
content: str | |
class DeltaMessage(BaseModel): | |
role: Optional[Role] = None | |
content: Optional[str] = None | |
class ChatCompletionRequest(BaseModel): | |
model: str | |
messages: List[ChatMessage] | |
temperature: Optional[float] = None | |
top_p: Optional[float] = None | |
n: Optional[int] = 1 | |
max_tokens: Optional[int] = None | |
stream: Optional[bool] = False | |
class ChatCompletionResponseChoice(BaseModel): | |
index: int | |
message: ChatMessage | |
finish_reason: Finish | |
class ChatCompletionResponseStreamChoice(BaseModel): | |
index: int | |
delta: DeltaMessage | |
finish_reason: Optional[Finish] = None | |
class ChatCompletionResponseUsage(BaseModel): | |
prompt_tokens: int | |
completion_tokens: int | |
total_tokens: int | |
class ChatCompletionResponse(BaseModel): | |
id: Optional[str] = "chatcmpl-default" | |
object: Optional[str] = "chat.completion" | |
created: Optional[int] = Field(default_factory=lambda: int(time.time())) | |
model: str | |
choices: List[ChatCompletionResponseChoice] | |
usage: ChatCompletionResponseUsage | |
class ChatCompletionStreamResponse(BaseModel): | |
id: Optional[str] = "chatcmpl-default" | |
object: Optional[str] = "chat.completion.chunk" | |
created: Optional[int] = Field(default_factory=lambda: int(time.time())) | |
model: str | |
choices: List[ChatCompletionResponseStreamChoice] | |