File size: 1,121 Bytes
9a6610f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import streamlit as st

from backend_services import ServiceOne, ServiceTwo

# List of available services
services = {
    "Service One": ServiceOne(),
    "Service Two": ServiceTwo()
}

# User selects services and parameters
selected_services = st.multiselect("Select Services", list(services.keys()))
parameters = {}

# Allow users to input parameters for selected services
for service_name in selected_services:
    service_instance = services[service_name]
    parameters[service_name] = {}
    for param_name in service_instance.parameters:
        parameters[service_name][param_name] = st.text_input(f"Enter {param_name} for {service_name}")

# User-defined workflow execution
if st.button("Run Workflow"):
    input_data = ...  # Define your input data
    for service_name in selected_services:
        service_instance = services[service_name]
        service_instance.parameters = parameters[service_name]
        output_data = service_instance.execute(input_data)
        input_data = output_data

    # Display the final output
    st.success("Workflow executed successfully. Output: {}".format(input_data))