| | """Types and request signatures for OpenAI compatibility |
| | |
| | NOTE: These types may change to match the OpenAI OpenAPI specification. |
| | |
| | Based on the OpenAI OpenAPI specification: |
| | https://github.com/openai/openai-openapi/blob/master/openapi.yaml |
| | |
| | """ |
| |
|
| | from typing import Any, List, Optional, Dict, Union |
| | from typing_extensions import TypedDict, NotRequired, Literal |
| |
|
| |
|
| | |
| | |
| | |
| | JsonType = Union[None, int, str, bool, List[Any], Dict[str, Any]] |
| |
|
| |
|
| | class EmbeddingUsage(TypedDict): |
| | prompt_tokens: int |
| | total_tokens: int |
| |
|
| |
|
| | class Embedding(TypedDict): |
| | index: int |
| | object: str |
| | embedding: Union[List[float], List[List[float]]] |
| |
|
| |
|
| | class CreateEmbeddingResponse(TypedDict): |
| | object: Literal["list"] |
| | model: str |
| | data: List[Embedding] |
| | usage: EmbeddingUsage |
| |
|
| |
|
| | class CompletionLogprobs(TypedDict): |
| | text_offset: List[int] |
| | token_logprobs: List[Optional[float]] |
| | tokens: List[str] |
| | top_logprobs: List[Optional[Dict[str, float]]] |
| |
|
| |
|
| | class CompletionChoice(TypedDict): |
| | text: str |
| | index: int |
| | logprobs: Optional[CompletionLogprobs] |
| | finish_reason: Optional[Literal["stop", "length"]] |
| |
|
| |
|
| | class CompletionUsage(TypedDict): |
| | prompt_tokens: int |
| | completion_tokens: int |
| | total_tokens: int |
| |
|
| |
|
| | class CreateCompletionResponse(TypedDict): |
| | id: str |
| | object: Literal["text_completion"] |
| | created: int |
| | model: str |
| | choices: List[CompletionChoice] |
| | usage: NotRequired[CompletionUsage] |
| |
|
| |
|
| | class ChatCompletionResponseFunctionCall(TypedDict): |
| | name: str |
| | arguments: str |
| |
|
| |
|
| | class ChatCompletionResponseMessage(TypedDict): |
| | content: Optional[str] |
| | tool_calls: NotRequired["ChatCompletionMessageToolCalls"] |
| | role: Literal["assistant", "function"] |
| | function_call: NotRequired[ChatCompletionResponseFunctionCall] |
| |
|
| |
|
| | class ChatCompletionFunction(TypedDict): |
| | name: str |
| | description: NotRequired[str] |
| | parameters: Dict[str, JsonType] |
| |
|
| |
|
| | class ChatCompletionTopLogprobToken(TypedDict): |
| | token: str |
| | logprob: float |
| | bytes: Optional[List[int]] |
| |
|
| |
|
| | class ChatCompletionLogprobToken(ChatCompletionTopLogprobToken): |
| | token: str |
| | logprob: float |
| | bytes: Optional[List[int]] |
| | top_logprobs: List[ChatCompletionTopLogprobToken] |
| |
|
| |
|
| | class ChatCompletionLogprobs(TypedDict): |
| | content: Optional[List[ChatCompletionLogprobToken]] |
| | refusal: Optional[List[ChatCompletionLogprobToken]] |
| |
|
| |
|
| | class ChatCompletionResponseChoice(TypedDict): |
| | index: int |
| | message: "ChatCompletionResponseMessage" |
| | logprobs: Optional[ChatCompletionLogprobs] |
| | finish_reason: Optional[str] |
| |
|
| |
|
| | class CreateChatCompletionResponse(TypedDict): |
| | id: str |
| | object: Literal["chat.completion"] |
| | created: int |
| | model: str |
| | choices: List["ChatCompletionResponseChoice"] |
| | usage: CompletionUsage |
| |
|
| |
|
| | class ChatCompletionMessageToolCallChunkFunction(TypedDict): |
| | name: Optional[str] |
| | arguments: str |
| |
|
| |
|
| | class ChatCompletionMessageToolCallChunk(TypedDict): |
| | index: int |
| | id: NotRequired[str] |
| | type: Literal["function"] |
| | function: ChatCompletionMessageToolCallChunkFunction |
| |
|
| |
|
| | class ChatCompletionStreamResponseDeltaEmpty(TypedDict): |
| | pass |
| |
|
| |
|
| | class ChatCompletionStreamResponseDeltaFunctionCall(TypedDict): |
| | name: str |
| | arguments: str |
| |
|
| |
|
| | class ChatCompletionStreamResponseDelta(TypedDict): |
| | content: NotRequired[Optional[str]] |
| | function_call: NotRequired[ |
| | Optional[ChatCompletionStreamResponseDeltaFunctionCall] |
| | ] |
| | tool_calls: NotRequired[Optional[List[ChatCompletionMessageToolCallChunk]]] |
| | role: NotRequired[Optional[Literal["system", "user", "assistant", "tool"]]] |
| |
|
| |
|
| | class ChatCompletionStreamResponseChoice(TypedDict): |
| | index: int |
| | delta: Union[ |
| | ChatCompletionStreamResponseDelta, ChatCompletionStreamResponseDeltaEmpty |
| | ] |
| | finish_reason: Optional[Literal["stop", "length", "tool_calls", "function_call"]] |
| | logprobs: NotRequired[Optional[ChatCompletionLogprobs]] |
| |
|
| |
|
| | class CreateChatCompletionStreamResponse(TypedDict): |
| | id: str |
| | model: str |
| | object: Literal["chat.completion.chunk"] |
| | created: int |
| | choices: List[ChatCompletionStreamResponseChoice] |
| |
|
| |
|
| | class ChatCompletionFunctions(TypedDict): |
| | name: str |
| | description: NotRequired[str] |
| | parameters: Dict[str, JsonType] |
| |
|
| |
|
| | class ChatCompletionFunctionCallOption(TypedDict): |
| | name: str |
| |
|
| |
|
| | class ChatCompletionRequestResponseFormat(TypedDict): |
| | type: Literal["text", "json_object"] |
| | schema: NotRequired[ |
| | JsonType |
| | ] |
| |
|
| |
|
| | class ChatCompletionRequestMessageContentPartText(TypedDict): |
| | type: Literal["text"] |
| | text: str |
| |
|
| |
|
| | class ChatCompletionRequestMessageContentPartImageImageUrl(TypedDict): |
| | url: str |
| | detail: NotRequired[Literal["auto", "low", "high"]] |
| |
|
| |
|
| | class ChatCompletionRequestMessageContentPartImage(TypedDict): |
| | type: Literal["image_url"] |
| | image_url: Union[str, ChatCompletionRequestMessageContentPartImageImageUrl] |
| |
|
| |
|
| | ChatCompletionRequestMessageContentPart = Union[ |
| | ChatCompletionRequestMessageContentPartText, |
| | ChatCompletionRequestMessageContentPartImage, |
| | ] |
| |
|
| |
|
| | class ChatCompletionRequestSystemMessage(TypedDict): |
| | role: Literal["system"] |
| | content: Optional[str] |
| |
|
| |
|
| | class ChatCompletionRequestUserMessage(TypedDict): |
| | role: Literal["user"] |
| | content: Optional[Union[str, List[ChatCompletionRequestMessageContentPart]]] |
| |
|
| |
|
| | class ChatCompletionMessageToolCallFunction(TypedDict): |
| | name: str |
| | arguments: str |
| |
|
| |
|
| | class ChatCompletionMessageToolCall(TypedDict): |
| | id: str |
| | type: Literal["function"] |
| | function: ChatCompletionMessageToolCallFunction |
| |
|
| |
|
| | ChatCompletionMessageToolCalls = List[ChatCompletionMessageToolCall] |
| |
|
| |
|
| | class ChatCompletionRequestAssistantMessageFunctionCall(TypedDict): |
| | name: str |
| | arguments: str |
| |
|
| |
|
| | class ChatCompletionRequestAssistantMessage(TypedDict): |
| | role: Literal["assistant"] |
| | content: NotRequired[str] |
| | tool_calls: NotRequired[ChatCompletionMessageToolCalls] |
| | function_call: NotRequired[ |
| | ChatCompletionRequestAssistantMessageFunctionCall |
| | ] |
| |
|
| |
|
| | class ChatCompletionRequestToolMessage(TypedDict): |
| | role: Literal["tool"] |
| | content: Optional[str] |
| | tool_call_id: str |
| |
|
| |
|
| | class ChatCompletionRequestFunctionMessage(TypedDict): |
| | role: Literal["function"] |
| | content: Optional[str] |
| | name: str |
| |
|
| |
|
| | ChatCompletionRequestMessage = Union[ |
| | ChatCompletionRequestSystemMessage, |
| | ChatCompletionRequestUserMessage, |
| | ChatCompletionRequestAssistantMessage, |
| | ChatCompletionRequestUserMessage, |
| | ChatCompletionRequestToolMessage, |
| | ChatCompletionRequestFunctionMessage, |
| | ] |
| |
|
| |
|
| | class ChatCompletionRequestFunctionCallOption(TypedDict): |
| | name: str |
| |
|
| |
|
| | ChatCompletionRequestFunctionCall = Union[ |
| | Literal["none", "auto"], ChatCompletionRequestFunctionCallOption |
| | ] |
| |
|
| | ChatCompletionFunctionParameters = Dict[str, JsonType] |
| |
|
| |
|
| | class ChatCompletionToolFunction(TypedDict): |
| | name: str |
| | description: NotRequired[str] |
| | parameters: ChatCompletionFunctionParameters |
| |
|
| |
|
| | class ChatCompletionTool(TypedDict): |
| | type: Literal["function"] |
| | function: ChatCompletionToolFunction |
| |
|
| |
|
| | class ChatCompletionNamedToolChoiceFunction(TypedDict): |
| | name: str |
| |
|
| |
|
| | class ChatCompletionNamedToolChoice(TypedDict): |
| | type: Literal["function"] |
| | function: ChatCompletionNamedToolChoiceFunction |
| |
|
| |
|
| | ChatCompletionToolChoiceOption = Union[ |
| | Literal["none", "auto", "required"], ChatCompletionNamedToolChoice |
| | ] |
| |
|
| |
|
| | |
| | |
| |
|
| | EmbeddingData = Embedding |
| | CompletionChunk = CreateCompletionResponse |
| | Completion = CreateCompletionResponse |
| | CreateCompletionStreamResponse = CreateCompletionResponse |
| | ChatCompletionMessage = ChatCompletionResponseMessage |
| | ChatCompletionChoice = ChatCompletionResponseChoice |
| | ChatCompletion = CreateChatCompletionResponse |
| | ChatCompletionChunkDeltaEmpty = ChatCompletionStreamResponseDeltaEmpty |
| | ChatCompletionChunkChoice = ChatCompletionStreamResponseChoice |
| | ChatCompletionChunkDelta = ChatCompletionStreamResponseDelta |
| | ChatCompletionChunk = CreateChatCompletionStreamResponse |
| | ChatCompletionStreamResponse = CreateChatCompletionStreamResponse |
| | ChatCompletionResponseFunction = ChatCompletionFunction |
| | ChatCompletionFunctionCall = ChatCompletionResponseFunctionCall |
| |
|