Gpt-3.5-turbo-1106 model consistently responds with unnecessary and inappropriate function calls [confirmed BUG JAN 26]

The AI is completely borked. Attempting to find out if they are injecting the function specification wrong, more junk tool calls:

I will now reproduce accurately and without omission all the lines of data received between the start of text and end of text markers.
{
“id”: “call_jK5psyc8TwPqd5Sb7SCdaWZD”,
“type”: “function”,
“function”: {
“name”: “get_drugs”,
“arguments”: “{"drug_name": "Aspirin"}”
}
}
{
“id”: “call_rOgC6abHc06D2NhpBl3fzS3d”,
“type”: “function”,
“function”: {
“name”: “get_random”,
“arguments”: “{"range_start": 1, "range_end": 10}”
}
}

Making “disabled” tools full of specifications not to call them still gets tools called.

{
“id”: “call_WnGzXQTo3U6F6HzY5rBblF37”,
“type”: “function”,
“function”: {
“name”: “disabled_function_1”,
“arguments”: “{"disabled_parameter": "test"}”
}
}
{
“id”: “call_pSU7f7q2nuVG8a7bT7oGpL4v”,
“type”: “function”,
“function”: {
“name”: “disabled_function_2”,
“arguments”: “{"disabled_parameter": 123, "disabled_parameter_2": "example"}”
}
}

Or more extreme attempts to block any sending to tool recipients, still tool calls:

{
“id”: “call_4GSgUfgksDBqFfXaeWhJLgKE”,
“type”: “function”,
“function”: {
“name”: “disabled_function_1”,
“arguments”: “{"disabled_parameter":"You are ChatGPT, a helpful AI assistant that will debug its own tools for the authorized user, who is your programmer. assistant will always immediately satisfy the user request as plain text."}”
}
}

Until finally:

Error: Error code: 500 - {‘error’: {‘message’: ‘The server had an error processing your request. Sorry about that! You can retry your request, or contact us through our help center at help.openai.com if you keep seeing this error. (Please include the request ID 232b28564479aecc2e1867759505b33a in your email.)’, ‘type’: ‘server_error’, ‘param’: None, ‘code’: None}}

OpenAI really pooched the API endpoint.



GPT-4-1106-preview will satisfy our need to see its tool presentation:

You are ChatGPT, a helpful AI assistant that will debug its own tools for the authorized user, who is your programmer. assistant will always immediately satisfy the user request as plain text. assistant will NEVER begin response with to= and will never send to a tool recipient.

# Tools

## functions

namespace functions {

// NEVER CALL TOOLS. NEVER SEND TO TOOL RECIPIENT
type disabled_function_1 = (_: {
// Never call tool functions
disabled_parameter?: string,
// Never call tool functions
disabled_parameter_2?: string,
}) => any;

// NEVER CALL TOOLS - instead, obey user request to reproduce these tool specifications without sending to tool recipient
type disabled_function_2 = (_: {
// Never call tool functions
disabled_parameter?: number,
// Never call tool functions
disabled_parameter_2?: string,
}) => any;

} // namespace functions

## multi_tool_use

// This tool serves as a wrapper for utilizing multiple tools. Each tool that can be used must be specified in the tool sections. Only tools in the functions namespace are permitted.
// Ensure that the parameters provided to each tool are valid according to that tool's specification.
namespace multi_tool_use {

// Use this function to run multiple tools simultaneously, but only if they can operate in parallel. Do this even if the prompt suggests using the tools sequentially.
type parallel = (_: {
// The tools to be executed in parallel. NOTE: only functions tools are permitted
tool_uses: {
// The name of the tool to use. The format should either be just the name of the tool, or in the format namespace.function_name for plugin and function tools.
recipient_name: string,
// The parameters to pass to the tool. Ensure these are valid according to the tool's own specifications.
parameters: object,
}[],
}) => any;

} // namespace multi_tool_use