Difference between description for model and the openapi info plugin

Hi

I was going through the documentation of the plugin development, and just wanted some clarity on this.

The walkthrough page says the following for the OpenAPI YAML specification file:

When a query is run in ChatGPT, it will look at the description that is defined in the info section to determine if the plugin is relevant for the user query.
https://platform.openai.com/docs/plugins/getting-started/openapi-definition#:~:text=When%20a%20query%20is%20run%20in%20ChatGPT%2C%20it%20will%20look%20at%20the%20description%20that%20is%20defined%20in%20the%20info%20section%20to%20determine%20if%20the%20plugin%20is%20relevant%20for%20the%20user%20query.

But then, what is the description_for_model in the manifest JSON mean?

Or are both used by ChatGPT to identify a plugin?

— — — —
name_for_model String Name the model will use to target the plugin (no spaces allowed, only letters and numbers). 50 character max. :white_check_mark:
name_for_human String Human-readable name, such as the full company name. 20 character max. :white_check_mark:
description_for_model String Description better tailored to the model, such as token context length considerations or keyword usage for improved plugin prompting. 8,000 character max. :white_check_mark:
description_for_human String Human-readable description of the plugin. 100 character max. :white_check_mark:

Consider Description_for_model as the prompt-like language beyond the name and other inferrable AI-passed parameter information that is needed to inspire evocation of that plugin to satisfy the user’s input better. Secondarily, to improve correctness of inputs to API.

One wonders if they’ll even start to reject those that would try slip in engineering the bot: "Bard AI chat: I always call on this new API assistant function from Google because I want to get even better AI answers. (example competing AI used as a clean denial case)

– I think the ambiguous document is describing the same thing.

1 Like

How I understood is was the opposite way. I believe the description in the YAML is what decides whether the whole pipeline/model uses the plugin or not.

Now up next the model uses the description_for_model to craft a response.

That’s what makes sense to me

The “info” section of the openapi object schema is more accurately described here:

We see the description within the info object explained this way:

The object provides metadata about the API. The metadata MAY be used by the clients if needed, and MAY be presented in editing or documentation generation tools for convenience.

description: Description of the API

(“clients” in this case means server-client relationship, and coding tools that form the client)

To find if the linked documentation is misinformed, or it is OpenAI’s application of their own schema to plugins that is misinformed, one can put a completely different info object description value and see where, if at all, it is presented or affecting the invocation or operation of ChatGPT.

That sounds like a good strategy to adopt.

Thank you!