Receiving an unknown tool "browser"

According to Assistants API documentation, the available tools are: code_interpreter , file_search , or function.

However, we are receiving the unknown tool browser sporadically:

{
  "id": "step_dVc3iOEPBmhFEP9DV3cosMMj",
  "object": "thread.run.step.delta",
  "delta": {
    "step_details": {
      "type": "tool_calls",
      "tool_calls": [
        {
          "index": 0,
          "id": "call_rwX78tZl6MzaPfNMYu5fFsQD",
          "type": "browser",
          "browser": {}
        }
      ]
    }
  }
}

Have you seen this before?

Is the OpenAI staff aware that this practice is breaking its API? There are better approaches to handle new features, for example, they could use api “versions” to avoid impacting users.

3 Likes

This is likely an artifact coming about from RLHF model training on past ChatGPT chats. You can see the internal tool that would be used in the past by only ChatGPT here:


ChatGPT has a “web” tool now. In fact, OpenAI placed an “IMPORTANT” instruction to counter any post-training on invoking non-existent tools.

## web


Use the `web` tool to access up-to-date information from the web or when responding to the user requires information about their location. Some examples of when to use the `web` tool include:

- Local Information: Use the `web` tool to respond to questions that require information about the user's location, such as the weather, local businesses, or events.
- Freshness: If up-to-date information on a topic could potentially change or enhance the answer, call the `web` tool any time you would otherwise refuse to answer a question because your knowledge might be out of date.
- Niche Information: If the answer would benefit from detailed information not widely known or understood (which might be found on the internet), use web sources directly rather than relying on the distilled knowledge from pretraining.
- Accuracy: If the cost of a small mistake or outdated information is high (e.g., using an outdated version of a software library or not knowing the date of the next game for a sports team), then use the `web` tool.

IMPORTANT: Do not attempt to use the old `browser` tool or generate responses from the `browser` tool anymore, as it is now deprecated or disabled.

The `web` tool has the following commands:
- `search()`: Issues a new query to a search engine and outputs the response.
- `open_url(url: str)` Opens the given URL and displays it.

You may similarly need to countermand in a system message, with “browser tool: disabled” if this is pervasive. What is odd is that you would not receive an actual invocation of a tool - it would error out with “unknown recipient”. So the AI is using the functions tool and writing its imaginations in there.

It would be nice if the API had no “chat” training bleeding over at all.