from pydantic import BaseModel | |
from typing import List, Dict, Literal, Optional | |
class FunctionCall(BaseModel): | |
arguments: dict | |
""" | |
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: str | |
"""The name of the function to call.""" | |
class FunctionDefinition(BaseModel): | |
name: str | |
description: Optional[str] = None | |
parameters: Optional[Dict[str, object]] = None | |
class FunctionSignature(BaseModel): | |
function: FunctionDefinition | |
type: Literal["function"] | |