terceiroAgente / app.py
Lar159's picture
Update app.py
0b75bc8 verified
Raw
History Blame Contribute Delete
2.15 kB
import yaml
from smolagents import CodeAgent, HfApiModel
from tools.final_answer import FinalAnswerTool
from Gradio_UI import GradioUI
import os
from tools.graph_plotter_tool import plot_function_graph
from tools.table_generator_tool import generate_data_table
from tools.statistical_graph_generator import plot_bar_chart, plot_pie_chart, plot_histogram, plot_line_chart
from tools.statistical_graph_analyzer import analyze_dataset
from tools.media_graph_critic import critique_media_graph
from tools.parabola_plotter_tool import plot_parabola_graph
#Tentar implementar Langfuse
#from openinference.instrumentation.smolagents import SmolAgentsInstrumentor
#from langfuse import Langfuse
#print("Configurando a observabilidade com Langfuse...")
# Pega as chaves diretamente das variáveis de ambiente (Secrets do Space)
#os.environ["LANGFUSE_PUBLIC_KEY"] = os.environ.get('LANGFUSE_PUBLIC_KEY')
#os.environ["LANGFUSE_SECRET_KEY"] = os.environ.get('LANGFUSE_SECRET_KEY')
# Inicializa o Langfuse
#langfuse = Langfuse()
# "Instrumenta" a biblioteca smolagents
#SmolAgentsInstrumentor().instrument()
#print("Observabilidade configurada com sucesso.")
final_answer = FinalAnswerTool()
# Configuração do Modelo
#testar outros modelos: meta-llama/Llama-3.1-70B-Instruct e Gemma 3-27B
model = HfApiModel(
# AUMENTAR OS TOKENS para acomodar respostas mais longas com várias questões
max_tokens=4096,
temperature=0.6,
model_id='Qwen/Qwen2.5-VL-32B-Instruct',
)
# Carregar nosso novo prompt especializado em gerar questões.
with open("prompts.yaml", 'r', encoding='utf-8') as stream:
prompt_templates = yaml.safe_load(stream)
# Criação do Agente
agent = CodeAgent(
model=model,
tools=[
final_answer,
plot_parabola_graph,
plot_bar_chart,
plot_pie_chart,
plot_histogram,
plot_line_chart,
analyze_dataset,
generate_data_table,
critique_media_graph
],
max_steps=5,
verbosity_level=1,
prompt_templates=prompt_templates
)
# Interface Gráfica
# Lança a interface Gradio para interagir com o agente.
GradioUI(agent).launch()