Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Integrations #74

Open
daniwasonline opened this issue May 20, 2024 · 2 comments · May be fixed by #100
Open

RFC: Integrations #74

daniwasonline opened this issue May 20, 2024 · 2 comments · May be fixed by #100
Assignees
Labels
rfc Requests For Comment: Major changes that require increased scrutiny rfc-conceptual The implementation for this RFC is only a concept; a rewrite is required before approval
Milestone

Comments

@daniwasonline
Copy link
Collaborator

daniwasonline commented May 20, 2024

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.

@daniwasonline daniwasonline added the rfc Requests For Comment: Major changes that require increased scrutiny label May 20, 2024
@daniwasonline daniwasonline self-assigned this May 20, 2024
@daniwasonline daniwasonline linked a pull request May 20, 2024 that will close this issue
@daniwasonline daniwasonline added the rfc-conceptual The implementation for this RFC is only a concept; a rewrite is required before approval label May 21, 2024
@daniwasonline
Copy link
Collaborator Author

ref: #72

@daniwasonline daniwasonline added this to the v3.0 milestone May 28, 2024
@daniwasonline daniwasonline pinned this issue May 28, 2024
@daniwasonline daniwasonline linked a pull request Jun 3, 2024 that will close this issue
@daniwasonline daniwasonline linked a pull request Jun 3, 2024 that will close this issue
@daniwasonline daniwasonline added rfc-stable The implementation for this RFC is at or near stability rfc-conceptual The implementation for this RFC is only a concept; a rewrite is required before approval and removed rfc-conceptual The implementation for this RFC is only a concept; a rewrite is required before approval rfc-stable The implementation for this RFC is at or near stability labels Jun 3, 2024
@daniwasonline
Copy link
Collaborator Author

RFC Implementation Update

Howdy! As of today, we're closing the PoC in #73 and replacing it with #100, which is a draft implementation of what should eventually become the final Integrations standard.

Documentation on Integrations will begin shortly after the implementation is finalised. This may take a while: Integrations is still in very active development and many proposed APIs (including the isolated runtime proposal that I've pushed around in SpongeAss's discord) are still planned.

I strictly run on a "when it is ready™️" policy, but I have a tentative target of July or August of 2024. This is an extremely massive RFC that encompasses changes throughout the entire bot and so this RFC may need a while longer to cook.

@daniwasonline daniwasonline removed a link to a pull request Jun 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rfc Requests For Comment: Major changes that require increased scrutiny rfc-conceptual The implementation for this RFC is only a concept; a rewrite is required before approval
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant