Skip to content

Assistants: Separate functionality from the UI #67

@SommerEngineering

Description

@SommerEngineering

Currently, each assistant is a Blazor component and its functionality is implemented directly in the component. Because there is a base class, the implementation is strictly regulated and follows specific rules. Nevertheless, the assistants' functionality cannot be executed without their graphical representation. For example, we want to allow users to check the spelling and grammar of their user inputs (the user prompts) in the chat. Currently, this is impossible.

Basic idea: There is a base class for assistant components, AssistantBase, and a new base class for their functionality, AssistantProcessor. Each graphical assistant component then has exactly one AssistantProcessor to process the input. We can then instantiate these AssistantProcessor classes anywhere in AI Studio when we need their functions.

We should consider the following points:

  • In the near future, assistants will also be implemented via plugins cf. Add plugin support #14. Their functionality can then be implemented in Lua code. See, for example, here in their documentation.
  • This separation is also the foundation for the headless mode, in which all AssistantProcessor implementations are offered via web server for scripts.

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicA large feature that is divided into smaller parts and developed.

    Type

    No type

    Projects

    Status

    Accepted

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions