giseldo's picture
remoção do css
7df0fb7 verified
from crewai import Agent, Task, Crew, LLM
import gradio as gr
def criar_crew(tema):
groq_llm = LLM(model="groq/llama-3.3-70b-versatile")
pesquisador = Agent(
role="Pesquisador",
goal="Buscar informações detalhadas sobre o assunto informado.",
backstory="Um especialista em coleta de dados e análise de informações.",
llm=groq_llm
)
redator = Agent(
role="Redator",
goal="Resumir as informações encontradas e criar um relatório.",
backstory="Um redator experiente que transforma dados em textos claros.",
llm=groq_llm
)
latex = Agent(
role="Latex",
goal="Crie um documento Latex.",
backstory="Um criador de documentos Latex.",
llm=groq_llm
)
tarefa_pesquisa = Task(
description="Pesquise informações detalhadas sobre {}.".format(tema),
agent=pesquisador,
expected_output='Informações corretas e detalhadas sobre o assunto informado'
)
tarefa_redacao = Task(
description="Com base nas informações fornecidas pelo pesquisador, crie um resumo claro e objetivo.",
agent=redator,
expected_output='Resumo claro e objetivo'
)
tarefa_latex = Task(
description="Com base no resumo, crie um documento latex.",
agent=latex,
expected_output='Um documento Latex'
)
equipe = Crew(
agents=[pesquisador, redator, latex],
tasks=[tarefa_pesquisa, tarefa_redacao, tarefa_latex]
)
return equipe
def executar_crew(entrada):
equipe = criar_crew(entrada)
resultado = equipe.kickoff()
return resultado
def interface_fn(tema):
return executar_crew(tema)
principal = gr.Interface(
fn=interface_fn,
inputs=gr.Textbox(label="Informe o tema"),
outputs=gr.Textbox(label="Saída documento no formato Latex", show_copy_button=True),
title="Pesquisa e Relatório em Latex",
description="Clique no botão para executar três agentes que irão pesquisar e criar um relatório em latex sobre o tema informado.",
examples=[["Mudanças Climáticas"], ["Inteligência Artificial"], ["Economia Global"]],
)
arquitetura = gr.Blocks()
with arquitetura:
gr.Markdown("## Arquitetura do Sistema")
gr.Image(
value="diagrama.png",
label="Arquitetura interna dos agentes",
interactive=False
)
demo = gr.TabbedInterface([principal, arquitetura], ["Principal", "Arquitetura"])
if __name__ == "__main__":
demo.launch()