From 2954f15496192a46425313c77713680f89ef85f8 Mon Sep 17 00:00:00 2001 From: brianz-openai <165065123+brianz-openai@users.noreply.github.com> Date: Mon, 29 Apr 2024 09:26:17 -0700 Subject: [PATCH] Revert "Revert "add required as an option for tool_choice in chat/completions api"" --- openapi.yaml | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/openapi.yaml b/openapi.yaml index 888df352..46ea760a 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -6731,7 +6731,7 @@ paths: } } - main(); + main(); response: | { "object": "list", @@ -6818,7 +6818,7 @@ paths: console.log(batch); } - main(); + main(); response: &batch_object | { "id": "batch_abc123", @@ -6897,7 +6897,7 @@ paths: console.log(batch); } - main(); + main(); response: | { "id": "batch_abc123", @@ -7523,18 +7523,20 @@ components: ChatCompletionToolChoiceOption: description: | - Controls which (if any) function is called by the model. - `none` means the model will not call a function and instead generates a message. - `auto` means the model can pick between generating a message or calling a function. - Specifying a particular function via `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that function. + Controls which (if any) tool is called by the model. + `none` means the model will not call any tool and instead generates a message. + `auto` means the model can pick between generating a message or calling one or more tools. + `required` means the model must call one or more tools. + Specifying a particular tool via `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool. - `none` is the default when no functions are present. `auto` is the default if functions are present. + `none` is the default when no tools are present. `auto` is the default if tools are present. oneOf: - type: string description: > - `none` means the model will not call a function and instead generates a message. - `auto` means the model can pick between generating a message or calling a function. - enum: [none, auto] + `none` means the model will not call any tool and instead generates a message. + `auto` means the model can pick between generating a message or calling one or more tools. + `required` means the model must call one or more tools. + enum: [none, auto, required] - $ref: "#/components/schemas/ChatCompletionNamedToolChoice" x-oaiExpandable: true @@ -10001,15 +10003,17 @@ components: description: | Controls which (if any) tool is called by the model. `none` means the model will not call any tools and instead generates a message. - `auto` is the default value and means the model can pick between generating a message or calling a tool. + `auto` is the default value and means the model can pick between generating a message or calling one or more tools. + `required` means the model must call one or more tools before responding to the user. Specifying a particular tool like `{"type": "file_search"}` or `{"type": "function", "function": {"name": "my_function"}}` forces the model to call that tool. oneOf: - type: string description: > - `none` means the model will not call a function and instead generates a message. - `auto` means the model can pick between generating a message or calling a function. - enum: [none, auto] + `none` means the model will not call any tools and instead generates a message. + `auto` means the model can pick between generating a message or calling one or more tools. + `required` means the model must call one or more tools before responding to the user. + enum: [none, auto, required] - $ref: "#/components/schemas/AssistantsNamedToolChoice" x-oaiExpandable: true