Spaces:
Sleeping
Sleeping
from typing import Iterable, List, Optional, Union | |
from pydantic import BaseModel, ConfigDict | |
from typing_extensions import Literal, Required, TypedDict | |
class ChatCompletionSystemMessageParam(TypedDict, total=False): | |
content: Required[str] | |
"""The contents of the system message.""" | |
role: Required[Literal["system"]] | |
"""The role of the messages author, in this case `system`.""" | |
name: str | |
"""An optional name for the participant. | |
Provides the model information to differentiate between participants of the same | |
role. | |
""" | |
class ChatCompletionContentPartTextParam(TypedDict, total=False): | |
text: Required[str] | |
"""The text content.""" | |
type: Required[Literal["text"]] | |
"""The type of the content part.""" | |
class ImageURL(TypedDict, total=False): | |
url: Required[str] | |
"""Either a URL of the image or the base64 encoded image data.""" | |
detail: Literal["auto", "low", "high"] | |
"""Specifies the detail level of the image. | |
Learn more in the | |
[Vision guide](https://platform.openai.com/docs/guides/vision/low-or-high-fidelity-image-understanding). | |
""" | |
class ChatCompletionContentPartImageParam(TypedDict, total=False): | |
image_url: Required[ImageURL] | |
type: Required[Literal["image_url"]] | |
"""The type of the content part.""" | |
ChatCompletionContentPartParam = Union[ | |
ChatCompletionContentPartTextParam, ChatCompletionContentPartImageParam | |
] | |
class ChatCompletionUserMessageParam(TypedDict, total=False): | |
content: Required[Union[str, Iterable[ChatCompletionContentPartParam]]] | |
"""The contents of the user message.""" | |
role: Required[Literal["user"]] | |
"""The role of the messages author, in this case `user`.""" | |
name: str | |
"""An optional name for the participant. | |
Provides the model information to differentiate between participants of the same | |
role. | |
""" | |
class FunctionCall(TypedDict, total=False): | |
arguments: Required[str] | |
""" | |
The arguments to call the function with, as generated by the model in JSON | |
format. Note that the model does not always generate valid JSON, and may | |
hallucinate parameters not defined by your function schema. Validate the | |
arguments in your code before calling your function. | |
""" | |
name: Required[str] | |
"""The name of the function to call.""" | |
class Function(TypedDict, total=False): | |
arguments: Required[str] | |
""" | |
The arguments to call the function with, as generated by the model in JSON | |
format. Note that the model does not always generate valid JSON, and may | |
hallucinate parameters not defined by your function schema. Validate the | |
arguments in your code before calling your function. | |
""" | |
name: Required[str] | |
"""The name of the function to call.""" | |
class ChatCompletionToolMessageParam(TypedDict, total=False): | |
content: Required[Union[str, Iterable[ChatCompletionContentPartParam]]] | |
"""The contents of the tool message.""" | |
role: Required[Literal["tool"]] | |
"""The role of the messages author, in this case `tool`.""" | |
tool_call_id: Required[str] | |
"""Tool call that this message is responding to.""" | |
class ChatCompletionFunctionMessageParam(TypedDict, total=False): | |
content: Required[Union[str, Iterable[ChatCompletionContentPartParam]]] | |
"""The contents of the function message.""" | |
name: Required[str] | |
"""The name of the function to call.""" | |
role: Required[Literal["function"]] | |
"""The role of the messages author, in this case `function`.""" | |
class ChatCompletionMessageToolCallParam(TypedDict, total=False): | |
id: Required[str] | |
"""The ID of the tool call.""" | |
function: Required[Function] | |
"""The function that the model called.""" | |
type: Required[Literal["function"]] | |
"""The type of the tool. Currently, only `function` is supported.""" | |
class ChatCompletionAssistantMessageParam(TypedDict, total=False): | |
role: Required[Literal["assistant"]] | |
"""The role of the messages author, in this case `assistant`.""" | |
content: Optional[str] | |
"""The contents of the assistant message. | |
Required unless `tool_calls` or `function_call` is specified. | |
""" | |
function_call: FunctionCall | |
"""Deprecated and replaced by `tool_calls`. | |
The name and arguments of a function that should be called, as generated by the | |
model. | |
""" | |
name: str | |
"""An optional name for the participant. | |
Provides the model information to differentiate between participants of the same | |
role. | |
""" | |
tool_calls: Iterable[ChatCompletionMessageToolCallParam] | |
"""The tool calls generated by the model, such as function calls.""" | |
ChatCompletionMessageParam = Union[ | |
ChatCompletionSystemMessageParam, | |
ChatCompletionUserMessageParam, | |
ChatCompletionAssistantMessageParam, | |
ChatCompletionFunctionMessageParam, | |
ChatCompletionToolMessageParam, | |
] | |
class CompletionRequest(BaseModel): | |
model: str | |
messages: List[str] = [] | |
timeout: Optional[Union[float, int]] = None | |
temperature: Optional[float] = None | |
top_p: Optional[float] = None | |
n: Optional[int] = None | |
stream: Optional[bool] = None | |
stop: Optional[dict] = None | |
max_tokens: Optional[int] = None | |
presence_penalty: Optional[float] = None | |
frequency_penalty: Optional[float] = None | |
logit_bias: Optional[dict] = None | |
user: Optional[str] = None | |
response_format: Optional[dict] = None | |
seed: Optional[int] = None | |
tools: Optional[List[str]] = None | |
tool_choice: Optional[str] = None | |
logprobs: Optional[bool] = None | |
top_logprobs: Optional[int] = None | |
deployment_id: Optional[str] = None | |
functions: Optional[List[str]] = None | |
function_call: Optional[str] = None | |
base_url: Optional[str] = None | |
api_version: Optional[str] = None | |
api_key: Optional[str] = None | |
model_list: Optional[List[str]] = None | |
model_config = ConfigDict(protected_namespaces=(), extra="allow") | |