I have a proposal to enhance our plugin development: allowing plugins to have dependencies on other plugins. This enables plugins to work in tandem, providing an interactive experience for users.
Imagine a plugin performing math operations that depends on the Wolfram Alpha plugin for its computations. This dependency allows both plugins to interact, unlocking new possibilities for interconnected plugins.
I enable this across my various plugins by including a /test endpoint to determine whether or not the other plug-in is enabled. That said an actual method and response from ChatGPT would be better.
You may want to look into Langchain’s Tools and Agent Executors. You can compose plugins alongside tools, so that could give an Agent Excutor acces to multiple plugins.
I like your proposal, I think it will give developer’s incentive to create plugins that are really good at specific tasks instead of plugins that promises to do many different things.
That being said, I don’t see the need for hard coded dependencies as GPT is already great at acting as glue between very different plugins.
My opinion is that the user should always be allowed to choose which plugin’s to use for their request. Right now users only have 3 slots to fill, and adding dependencies would fill those slots pretty quick. Locking the user out of using other plugins.
If I was a big company who spent lots of money developing a plugin for chatGPT, only to find that other developer’s have prevented users from using my plugin (by adding dependencies to their own, especially when such a feature isn’t officially supported)
I would sue said plugin developers for unfair business practices and demand monetary compensation.