2023-04-04 00:12:44 +00:00
|
|
|
from typing import List, Optional, Dict, Literal, Union
|
|
|
|
from typing_extensions import TypedDict, NotRequired
|
2023-04-01 16:59:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
class EmbeddingUsage(TypedDict):
|
|
|
|
prompt_tokens: int
|
|
|
|
total_tokens: int
|
|
|
|
|
|
|
|
|
|
|
|
class EmbeddingData(TypedDict):
|
|
|
|
index: int
|
|
|
|
object: str
|
|
|
|
embedding: List[float]
|
|
|
|
|
|
|
|
|
|
|
|
class Embedding(TypedDict):
|
|
|
|
object: Literal["list"]
|
|
|
|
model: str
|
|
|
|
data: List[EmbeddingData]
|
|
|
|
usage: EmbeddingUsage
|
|
|
|
|
|
|
|
|
|
|
|
class CompletionLogprobs(TypedDict):
|
|
|
|
text_offset: List[int]
|
|
|
|
token_logprobs: List[float]
|
|
|
|
tokens: List[str]
|
|
|
|
top_logprobs: List[Dict[str, float]]
|
|
|
|
|
|
|
|
|
|
|
|
class CompletionChoice(TypedDict):
|
|
|
|
text: str
|
|
|
|
index: int
|
|
|
|
logprobs: Optional[CompletionLogprobs]
|
|
|
|
finish_reason: Optional[str]
|
|
|
|
|
|
|
|
|
|
|
|
class CompletionUsage(TypedDict):
|
|
|
|
prompt_tokens: int
|
|
|
|
completion_tokens: int
|
|
|
|
total_tokens: int
|
|
|
|
|
|
|
|
|
|
|
|
class CompletionChunk(TypedDict):
|
|
|
|
id: str
|
|
|
|
object: Literal["text_completion"]
|
|
|
|
created: int
|
|
|
|
model: str
|
|
|
|
choices: List[CompletionChoice]
|
|
|
|
|
|
|
|
|
|
|
|
class Completion(TypedDict):
|
|
|
|
id: str
|
|
|
|
object: Literal["text_completion"]
|
|
|
|
created: int
|
|
|
|
model: str
|
|
|
|
choices: List[CompletionChoice]
|
|
|
|
usage: CompletionUsage
|
2023-04-04 00:12:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
class ChatCompletionMessage(TypedDict):
|
|
|
|
role: Union[Literal["assistant"], Literal["user"], Literal["system"]]
|
|
|
|
content: str
|
|
|
|
user: NotRequired[str]
|
|
|
|
|
|
|
|
|
|
|
|
class ChatCompletionChoice(TypedDict):
|
|
|
|
index: int
|
|
|
|
message: ChatCompletionMessage
|
|
|
|
finish_reason: Optional[str]
|
|
|
|
|
|
|
|
|
|
|
|
class ChatCompletion(TypedDict):
|
|
|
|
id: str
|
|
|
|
object: Literal["chat.completion"]
|
|
|
|
created: int
|
|
|
|
model: str
|
|
|
|
choices: List[ChatCompletionChoice]
|
|
|
|
usage: CompletionUsage
|
|
|
|
|
|
|
|
|
|
|
|
class ChatCompletionChunkDelta(TypedDict):
|
|
|
|
role: NotRequired[Literal["assistant"]]
|
|
|
|
content: NotRequired[str]
|
|
|
|
|
|
|
|
|
|
|
|
class ChatCompletionChunkChoice(TypedDict):
|
|
|
|
index: int
|
|
|
|
delta: ChatCompletionChunkDelta
|
|
|
|
finish_reason: Optional[str]
|
|
|
|
|
|
|
|
|
|
|
|
class ChatCompletionChunk(TypedDict):
|
|
|
|
id: str
|
|
|
|
model: str
|
|
|
|
object: Literal["chat.completion.chunk"]
|
|
|
|
created: int
|
|
|
|
choices: List[ChatCompletionChunkChoice]
|