-
Notifications
You must be signed in to change notification settings - Fork 12
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
[DMP 2024] Generate a project.yaml file from a list of steps #619
Comments
This probably needs to wait until OpenFn/apollo#42 is ready before we can take contributions. Then this project needs:
|
Hey ! I'm interested in contributing to this project to solve the generation of @josephjclark I would love to talk and get more specific details on it and contribute |
Hi @hiteshbandhu thanks for the interest. Please can you send an email to ayodele[at]openfn[dot]org and we will be able to decide on possible next steps. |
Hey @christad92 |
@christad92 hi, |
Hi @utnim2 I have responded to your email with next steps. We'd love to get you started, please use the link in the email to book a 30 mins call to discuss this issue. |
Do not ask process related questions about how to apply and who to contact in the above ticket. The only questions allowed are about technical aspects of the project itself. If you want help with the process, you can refer instructions listed on Unstop and any further queries can be taken up on our Discord channel titled DMP queries. Here's a Video Tutorial on how to submit a proposal for a project. |
1 similar comment
Do not ask process related questions about how to apply and who to contact in the above ticket. The only questions allowed are about technical aspects of the project itself. If you want help with the process, you can refer instructions listed on Unstop and any further queries can be taken up on our Discord channel titled DMP queries. Here's a Video Tutorial on how to submit a proposal for a project. |
@christad92 i would like to work on this issue can u pls assign me this so that i can start working |
Greetings @christad92, |
Hey @christad92 and @josephjclark You can find my initial YAML generator implementation in this Google Colab : RB+NER_Yaml.ipynb
I've also reviewed @josephjclark's comment on the issue thread and wanted to confirm if my primary task is developing the Python module for this issue. Additionally, I noticed the initial framework for Apollo service calls in the CLI and wanted to know if I should also contribute to the UI ticket on the lightning repository.
On inspection of apollo repository I noticed that you have set up the initial framework for making calls to Apollo services through the CLI. So need a clarification regarding the integration/plugging of this issue in Apollo repository and CLI calls. I hope it aligns with the project goals, I would greatly appreciate your feedback and guidance on any potential improvements or clarifications on my responsibilities. Best Regards P.S : I think this issue should be in OpenFn/apollo. |
Hi @Pin4sf! Sorry for the late reply - and congrats on getting the ticket! You are not expected to contribute to lightning as part of this project - the focus is on the backend, likely python. A lot has changed since we created this issue and we're doing a little bit of planning to accommodate that. Unfortunately I'm super busy this week so we need a few days to prepare. We're going to set up a kick-off call late next week to go through this. We'll be in touch soon to get that arranged, then we can let you loose! |
Weekly Learnings & UpdatesYou can access the contribution dashboard here C4GT DMP 24 Week 1
Week 2
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
|
Weekly GoalsWeek 1
Week 2
Week 3
Week 4
Week 5
|
Overview
We are looking to integrate an AI agent that is able to generate a workflow for a user, based on an instructions specifying the required steps and adaptors.
This feature will enable new users of OpenFn (Lightning) to get started faster after registration by entering the steps they need.
The agent will automatically build a workflow can run without error and ready for editing.
Deliverables
gen_project
To be clear, this work does NOT include any integration on the Lightning side.
Extensions to this work include:
Sample Inputs
Below are examples of prompts and their corresponding workflow.yaml for reference and testing.
Prompt 1
Prompt 2:
Demo script
To validate the work, we would like a demo script which lets us easily test various inputs and see them visualised in Lightning.
The demo should be executable from a terminal. It could be a python or bash script. It should not be integrated with the the OpenFn CLI.
The demo should do the following:
Suggested API
We recommend the following API for the service
JSON input:
JSON output:
The resulting structure and the
files
key makes for easy integration with the apollo server.Background
OpenFn is an open source platform for data integration and workflow automation which can be used via a CLI or a web UI.
Projects on OpenFn can be encoded in a yaml file containing workflows, steps, jobs, triggers and edges.
Key terms
Workflows contains one trigger and one or more steps connected by edges.
Workflows are at the base of users activities and steps related to a objective are built and saved in a workflow.
A step is a task or instruction that users write mostly in Javascript. The output of a step can be anything from sending a text message, transform data, make an API call, send data to an external systems or fetch data from an external system. These jobs are performed with the help of adaptors.
Triggers are useful for nudging workflows to run based on an event or at a scheduled time. Edges connects two steps and determines the order and conditions for the steps in a workflow.
See more details at https://docs.openfn.org/documentation/get-started/terminology
Sample Project.yaml
Below is an example of a yaml file for a project
openhie-project
which has one workflowOpenHIE-Workflow
and 4 steps[ "FHIR-standard-Data-with-change", "Send-to-OpenHIM-to-route-to-SHR", "Send-to-OpenHIM-to-route-to-SHR", "Notify-CHW-upload-successful"]
. The trigger is a Webhook event and there are also 4 edges withsource_job
,target_job
andcondition
variables that guide how the workflow should be executed.Here's what a list of steps might look like (also pictured in the image below):
When this feature is integrated with Lighnting, here is how a user would use it to generate a workflow.
Building this UI/X is NOT part of this project but the image below is helpful for contributors to understand the mission.
Documentation and relevant links
The text was updated successfully, but these errors were encountered: