{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/assistantToolsFunction", "title": "Function tool", "type": "object", "properties": { "type": { "type": "string", "description": "The type of tool being defined: `function`", "enum": [ "function" ], "x-ms-enum": { "name": "assistantToolsFunction", "modelAsString": true, "values": [ { "value": "retrieval", "description": "retrieval as type of tool being defined" } ] } }, "function": { "type": "object", "description": "The function definition.", "properties": { "description": { "type": "string", "description": "A description of what the function does, used by the model to choose when and how to call the function." }, "name": { "type": "string", "description": "The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64." }, "parameters": { "$ref": "#/components/schemas/chatCompletionFunctionParameters" } }, "required": [ "name", "parameters", "description" ] } }, "required": [ "type", "function" ] }