Skip to content

Solution to #67 and #68 : curl-based Provider configuration #69

@humanizersequel

Description

@humanizersequel

At the moment, our Provider configuration interface introduce a somewhat egregious layer of indirection over what is ultimately just a curl request constructor. Although each new design choice was sensible at the time, what we've ended up with is a bit of a mess that results in the kinds of issues discussed in #67 and #68 — I submit that we should radically simplify this into a text-selection based variable declaration flow, where the user submits a complete curl request, and then highlights text sections to indicate that they should be mutable (which is to say, exposed as parameters to the operator).

Here's some figmaslop of what I imagine this looks like:

Image

The user makes a selection, hits the plus button, and gives the new variables a name, and that's it.

This eliminates the problem posed in #68 — if a certain set of variables are not meant to be mutable, just don't highlight them. It should eliminate the problem in #67 by dint of some more intelligent parsing: the Operator passes callArgs [["messages", "[{"role": "user", "content": "Please write a poem about songbirds"}]"]], and then the provider replaces the text defined in the "messages" variable in place. If the selected section was bookended by quotation marks, it'll be parsed as a string. If not, then it wont.

@Gohlub tell me what I'm missing here, this seems like it would work fine and make for a much cleaner flow, and potential Provider-runners can go straight from an easily obtainable "sample curl request" to "live provider" faster with no request type decision tree or anything like that. The one downside I can see is that this visual convention doesn't pattern match to how we would want to expose provider creation to LLMs themselves... but that doesn't feel like a big downside rn tbh.

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions