Skip to content

RFC: Integrations #74

@hyd3rs

Description

@hyd3rs

target: rfc, unknown

Important terms

  • Passive activation: Natural language conversation with SpongeChat. These occur by either talking directly in a permitted channel or by pinging SpongeChat directly.
  • Callsystem: The backend system that powers passive activation. When the conditions for a passive activation are activated, the entire message event and context is passed to the callsystem for further handling. Typically, callsystems provide their own contexts (i.e. history and function/tool calls), while a standard library handles the model call.
  • Legacy callsystem: The current callsystem in v1 and v2. It only supports image generation through the use of !gen.

Description

Integrations is a (currently experimental) modular callsystem that relies on native LLM function calling. It aims to be a complete replacement for Legacy, whilst also allowing for the creation of new secondary functions (i.e. weather) with a standard interface and a standard library.

A full implementation of Integrations will first require the adoption of the Callsystems RFC. Callsystems has been adopted and will be released alongside Integrations in 3.0.

Standards

The standards for Integrations are in very early development. More details on new structures and standards will be published as drafts are finalised.

Implementation

Integrations currently has a (very buggy) proof of concept that is in very active development (#73). We expect that the PoC for this RFC will be rewritten multiple times before we begin to merge the final implementation into the main tree*. Update (2 June 2024): A draft implementation for Integrations has begun in #100 (woohoo, 100!). This implementation uses structures & APIs that are much closer to what a final standard will look like.

Target

There is currently no target for when this RFC should reach main, but it will likely be a minor bump after a Callsystems RFC is introduced. Thus, we expect it to come in a future release in a major after 2.x.

Metadata

Metadata

Assignees

Labels

rfcRequests For Comment: Major changes that require increased scrutinyrfc-conceptualThe implementation for this RFC is only a concept; a rewrite is required before approval

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions