Spaces:
Paused
Paused
| 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") | |