giseldo commited on
Commit
27dfb79
·
1 Parent(s): 973ce55

última versão

Browse files
Files changed (3) hide show
  1. .gitignore +1 -0
  2. README.md +1 -1
  3. app.py +34 -24
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ .venv
README.md CHANGED
@@ -7,7 +7,7 @@ sdk: gradio
7
  sdk_version: 5.0.1
8
  app_file: app.py
9
  pinned: false
10
- short_description: Criador de documento Latex, com três agentes (crewai)
11
  ---
12
 
13
  Criador de documento Latex, com três agentes (crewai)
 
7
  sdk_version: 5.0.1
8
  app_file: app.py
9
  pinned: false
10
+ short_description: Criador de documento latex
11
  ---
12
 
13
  Criador de documento Latex, com três agentes (crewai)
app.py CHANGED
@@ -11,39 +11,33 @@ def criar_crew(tema):
11
  backstory="Um especialista em coleta de dados e análise de informações.",
12
  llm=groq_llm
13
  )
14
-
15
  redator = Agent(
16
  role="Redator",
17
  goal="Resumir as informações encontradas e criar um relatório.",
18
  backstory="Um redator experiente que transforma dados em textos claros.",
19
  llm=groq_llm
20
  )
21
-
22
  latex = Agent(
23
  role="Latex",
24
  goal="Crie um documento Latex.",
25
  backstory="Um criador de documentos Latex.",
26
  llm=groq_llm
27
  )
28
-
29
  tarefa_pesquisa = Task(
30
  description="Pesquise informações detalhadas sobre {}.".format(tema),
31
  agent=pesquisador,
32
  expected_output='Informações corretas e detalhadas sobre o assunto informado'
33
  )
34
-
35
  tarefa_redacao = Task(
36
  description="Com base nas informações fornecidas pelo pesquisador, crie um resumo claro e objetivo.",
37
  agent=redator,
38
  expected_output='Resumo claro e objetivo'
39
  )
40
-
41
  tarefa_latex = Task(
42
  description="Com base no resumo, crie um documento latex.",
43
  agent=latex,
44
  expected_output='Um documento Latex'
45
  )
46
-
47
  equipe = Crew(
48
  agents=[pesquisador, redator, latex],
49
  tasks=[tarefa_pesquisa, tarefa_redacao, tarefa_latex]
@@ -56,22 +50,38 @@ def executar_crew(entrada):
56
  resultado = equipe.kickoff()
57
  return resultado
58
 
59
- # Interface Gradio
60
- with gr.Blocks() as interface:
61
- with gr.Row():
62
- with gr.Column():
63
- gr.Markdown("# Agentes: Pesquisa e Relatório em Latex")
64
- gr.Markdown("Clique no botão para executar a equipe de agentes (três) que irão pesquisar e criar um relatório sobre o assunto informados.")
65
- tema_input = gr.Textbox(label="Informe o tema")
66
- submit_button = gr.Button(value="Executar")
67
- with gr.Column():
68
- gr.Image(value="diagrama.png", label="Arquitetura interna dos agentes", width=400)
69
- with gr.Row():
70
- output_text = gr.Textbox(label="Saída documento no formato Latex", show_copy_button=True)
71
-
72
- submit_button.click(fn=executar_crew,
73
- inputs=[tema_input],
74
- outputs=output_text)
75
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  if __name__ == "__main__":
77
- interface.launch()
 
11
  backstory="Um especialista em coleta de dados e análise de informações.",
12
  llm=groq_llm
13
  )
 
14
  redator = Agent(
15
  role="Redator",
16
  goal="Resumir as informações encontradas e criar um relatório.",
17
  backstory="Um redator experiente que transforma dados em textos claros.",
18
  llm=groq_llm
19
  )
 
20
  latex = Agent(
21
  role="Latex",
22
  goal="Crie um documento Latex.",
23
  backstory="Um criador de documentos Latex.",
24
  llm=groq_llm
25
  )
 
26
  tarefa_pesquisa = Task(
27
  description="Pesquise informações detalhadas sobre {}.".format(tema),
28
  agent=pesquisador,
29
  expected_output='Informações corretas e detalhadas sobre o assunto informado'
30
  )
 
31
  tarefa_redacao = Task(
32
  description="Com base nas informações fornecidas pelo pesquisador, crie um resumo claro e objetivo.",
33
  agent=redator,
34
  expected_output='Resumo claro e objetivo'
35
  )
 
36
  tarefa_latex = Task(
37
  description="Com base no resumo, crie um documento latex.",
38
  agent=latex,
39
  expected_output='Um documento Latex'
40
  )
 
41
  equipe = Crew(
42
  agents=[pesquisador, redator, latex],
43
  tasks=[tarefa_pesquisa, tarefa_redacao, tarefa_latex]
 
50
  resultado = equipe.kickoff()
51
  return resultado
52
 
53
+ def interface_fn(tema):
54
+ return executar_crew(tema)
55
+
56
+ custom_css = """
57
+ footer {
58
+ visibility: hidden;
59
+ height: 0px;
60
+ }
61
+ """
62
+
63
+ principal = gr.Interface(
64
+ fn=interface_fn,
65
+ inputs=gr.Textbox(label="Informe o tema"),
66
+ outputs=gr.Textbox(label="Saída documento no formato Latex", show_copy_button=True),
67
+ title="Pesquisa e Relatório em Latex",
68
+ 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.",
69
+ examples=[["Mudanças Climáticas"], ["Inteligência Artificial"], ["Economia Global"]],
70
+ flagging_mode="never",
71
+ css=custom_css
72
+ )
73
+
74
+ arquitetura = gr.Blocks()
75
+
76
+ with arquitetura:
77
+ gr.Markdown("## Arquitetura do Sistema")
78
+ gr.Image(
79
+ value="diagrama.png",
80
+ label="Arquitetura interna dos agentes",
81
+ interactive=False
82
+ )
83
+
84
+ demo = gr.TabbedInterface([principal, arquitetura], ["Principal", "Arquitetura"])
85
+
86
  if __name__ == "__main__":
87
+ demo.launch()