Skip to content

.Net: Customizing plugin descriptions #3649

@markwallace-microsoft

Description

@markwallace-microsoft

Scenario:

When the planner chooses to use a Memory plugin, sometimes it sends "queries" that are too short, e.g. "sessions on AI".
If the query is too short, the memory plugin often returns no results or irrelevant ones.
It works better with long queries, e.g. "sessions, conferences, meetings on AI / Artificial Intelligence".

It would be better if the planner would send long queries, however the planner is just following instructions provided via function descriptions, e.g.
      [SKName(QueryParam), Description("The text to search in memory")]
      string query,
When using 3P plugins, the description is hardcoded and immutable, and it might not serve the purpose of the user, or it might be suboptimal. This applies to any plugin really, not just memory. About our Memory plugin, we will fix this eventually on the service side, however, the problem applies to all plugins.

It would be nice if such descriptions, and probably also names and all other params, could be overridden when importing the plugin into the kernel. (I don't think it's currently possible, is it?). Something like:

      kernel.ImportFunctions(this, skillName, ...overrides...);

#1
As a developer,
when I import a function into the kernel,
then I can customize function name & description, parameters name & description, default values
and these customizations affect how planners and agents see and use the list of available functions/plugins.

#2
As a developer,
when I import a function into multiple kernels,
then I can customize names & descriptions & default differently on each kernel.

The second user story is important to allow evaluating different settings, e.g. in A/B planner testing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Sprint: Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions