Spaces:
Running
Running
from __future__ import annotations | |
from typing import Any, Dict, List, Optional, Union | |
from pydantic import BaseModel, Field | |
class ChatMessage(BaseModel): | |
role: str | |
content: Optional[Union[str, List[Dict[str, Any]]]] = "" | |
tool_call_id: Optional[str] = None | |
tool_calls: Optional[List[Dict[str, Any]]] = None | |
name: Optional[str] = None | |
class OpenAIFunctionDef(BaseModel): | |
name: str | |
description: Optional[str] = None | |
parameters: Optional[Dict[str, Any]] = None | |
class OpenAITool(BaseModel): | |
type: str = Field("function", description="Only 'function' is supported") | |
function: OpenAIFunctionDef | |
class ChatCompletionsRequest(BaseModel): | |
model: Optional[str] = None | |
messages: List[ChatMessage] | |
stream: Optional[bool] = False | |
tools: Optional[List[OpenAITool]] = None | |
tool_choice: Optional[Any] = None |