Spaces:
Sleeping
Sleeping
| from crewai import Task | |
| # Function to create tasks based on user inputs | |
| def create_tasks(func_call,user_question,file_name, data_upload, df, suggestion, edited_code, debugger, agents): | |
| info = df.info() | |
| tasks = [] | |
| if(func_call == "Process"): | |
| tasks.append(Task( | |
| description=f"Clarify the ML problem: {user_question}", | |
| agent=agents["Problem_Definition_Agent"], | |
| expected_output="A clear and concise definition of the ML problem." | |
| ) | |
| ) | |
| if data_upload: | |
| tasks.extend([ | |
| Task( | |
| description=f"Evaluate the data provided by the file name . This is the data: {df}", | |
| agent=agents["EDA_Agent"], | |
| expected_output="An assessment of the EDA and preprocessing like dataset info, missing value, duplication, outliers etc. on the data provided" | |
| ), | |
| Task( | |
| description=f"Feature Engineering on data {df} based on EDA output: {info}", | |
| agent=agents["Feature_Engineering_Agent"], | |
| expected_output="An assessment of the Featuring Engineering and preprocessing like handling missing values, handling duplication, handling outliers, feature encoding, feature scaling etc. on the data provided" | |
| ) | |
| ]) | |
| tasks.extend([ | |
| Task( | |
| description="Suggest suitable ML models.", | |
| agent=agents["Model_Recommendation_Agent"], | |
| expected_output="A list of suitable ML models." | |
| ), | |
| Task( | |
| description=f"Generate starter Python code based on feature engineering, where column names are {df.columns.tolist()}. Generate only the code without any extra text", | |
| agent=agents["Starter_Code_Generator_Agent"], | |
| expected_output="Starter Python code." | |
| ), | |
| ]) | |
| if(func_call == "Modify"): | |
| if suggestion: | |
| tasks.append( | |
| Task( | |
| description=f"Modify the already generated code {edited_code} according to the suggestion: {suggestion} \n\n Do not generate entire new code.", | |
| agent=agents["Code_Modification_Agent"], | |
| expected_output="Modified code." | |
| ) | |
| ) | |
| if(func_call == "Debug"): | |
| if debugger: | |
| tasks.append( | |
| Task( | |
| description=f"Debug and fix any errors for data with column names {df.columns.tolist()} with data as {df} in the generated code: {edited_code} \n\n According to the debugging: {debugger}. \n\n Do not generate entire new code. Just remove the error in the code by modifying only necessary parts of the code.", | |
| agent=agents["Code_Debugger_Agent"], | |
| expected_output="Debugged and successfully executed code." | |
| ) | |
| ) | |
| tasks.append( | |
| Task( | |
| description = "Your job is to only extract python code from string", | |
| agent = agents["Compiler_Agent"], | |
| expected_output = "Running python code." | |
| ) | |
| ) | |
| return tasks | |