# loads a fast api api endpoint with a single endpoint that takes text query and return a response import json import os from fastapi import FastAPI from ..datamodel import Response from ..workflowmanager import WorkflowManager app = FastAPI() workflow_file_path = os.environ.get("AUTOGENSTUDIO_WORKFLOW_FILE", None) if workflow_file_path: workflow_manager = WorkflowManager(workflow=workflow_file_path) else: raise ValueError("Workflow file must be specified") @app.get("/predict/{task}") async def predict(task: str): response = Response(message="Task successfully completed", status=True, data=None) try: result_message = workflow_manager.run(message=task, clear_history=False) response.data = result_message except Exception as e: response.message = str(e) response.status = False return response