lukmanaj's picture
Create app.py
c43e87e verified
raw
history blame
2.73 kB
from crewai import Agent, Task, Crew, LLM
import gradio as gr
def create_crew():
"""Creates a CrewAI team with specialized agents."""
llm_model = LLM(model="groq/llama-3.3-70b-versatile")
# Researcher Agent
researcher = Agent(
role="Researcher",
goal="Gather comprehensive and accurate information on a given topic.",
backstory="An expert in data collection, analysis, and extracting insights from various sources.",
llm=llm_model
)
# Writer Agent
writer = Agent(
role="Writer",
goal="Summarize research findings into a well-structured and coherent report.",
backstory="A seasoned writer with expertise in transforming raw information into clear and concise text.",
llm=llm_model
)
# LaTeX Document Creator Agent
latex_creator = Agent(
role="LaTeX Document Creator",
goal="Convert the summarized report into a well-formatted LaTeX document.",
backstory="A skilled document formatter who ensures professional presentation in LaTeX.",
llm=llm_model
)
# Research Task
research_task = Task(
description="Conduct in-depth research on Machine Learning for effort estimation.",
agent=researcher,
expected_output='Detailed and accurate information on Machine Learning in effort estimation.'
)
# Writing Task
writing_task = Task(
description="Based on the research findings, generate a concise and well-structured summary.",
agent=writer,
expected_output='A clear and structured summary of the research findings.'
)
# LaTeX Document Creation Task
latex_task = Task(
description="Transform the research summary into a properly formatted LaTeX document.",
agent=latex_creator,
expected_output='A LaTeX document containing the summarized research.'
)
# Assemble the Crew
crew_team = Crew(
agents=[researcher, writer, latex_creator],
tasks=[research_task, writing_task, latex_task]
)
return crew_team
def execute_crew(input_text):
"""Executes the CrewAI workflow."""
crew_team = create_crew()
result = crew_team.kickoff()
return result
# Gradio Interface
interface = gr.Interface(
fn=execute_crew,
inputs=gr.Text(value="Conduct in-depth research on Machine Learning for effort estimation.", interactive=False),
outputs="text",
title="Crew AI - Research and LaTeX Report Generator",
description="Click the button to execute the AI team that will research and generate a LaTeX report on Machine Learning for effort estimation."
)
if __name__ == "__main__":
interface.launch()