SEMOSS / semoss-ui

Apache License 2.0
17 stars 3 forks source link

[TASK] Prototype UI for AI Conductor #219

Open johbaxter opened 2 months ago

johbaxter commented 2 months ago

Description

*** Take a look at video in references first, lmk if you cant access.

** In this context a task is the representation of an app that exists or needs to be built out by the user

Add a new route for our AI conductor, and start the mapping of tasks that get generated for the prompt a user asks. This list of tasks will come from the Backend. But for the time being we will hardcode a list of tasks that represent a list of our drag and drop apps.

For MVP we will need to map out this list of tasks, and for each task show the inputs that are tied to that particular app/task. These inputs will then be gathered from our user (require them to be filled out), to then be consumed as an api for that specific app/task.

Things to keep in mind: This list of tasks may not always have an associated app for them, we have to keep this in mind and allow the user to create the app associated to said task.

Existing

N/A

Reference

This issue references https://github.com/SEMOSS/community/issues/2

Tasks

johbaxter commented 1 month ago

Update: Phillip Kem started a prototype to get the thought process going.

Neel also started a branch called 'ai-pipeline' that utilizes react flow and some idea on the DS that we will have for the pipeline. Should have some stuff about isInput and isOutput. But likely alot more to handle different types of operations.

Image

@tombetthauser will get you to look at branch and get exposure, will ask you to take lead on this. Will be along side as well.

tombetthauser commented 1 month ago

started new branch 219-prototype-ai-conductor

natdink commented 2 weeks ago

Update from convo with PK and George 9/24:

This is after an initial chat has been asked...

  1. A Subtask is queued and user is given a list of apps as options to select from
  2. User selects an app (also can return to app options and could reselect an alternate app)
  3. App shows as you would see in ui builder
  4. User also specifically sees the inputs and outputs of the app
  5. User must map the app inputs and outputs to the subtask inputs and ouputs AND so will need to see the structure/type of each of the input/outputs as well as potentially have a 'convert to json' button (ex: if app expects a file input for app input "a" but the subtask expects an integer for subtask input "A", user will need button to convert app input to expected data type)
  6. if a type is not supported, user could 'hardcode' the input to whatever they want
  7. they click run to run subtask and continue
natdink commented 2 days ago