IA: Definindo Agentes e Ferramentas
Apps IronFlock podem incluir um Assistente de IA — um agente conversacional que pode responder a perguntas sobre seus dados IoT, diagnosticar problemas e executar ações em dispositivos.
O sistema de IA é construído sobre o framework Physical AI do IronFlock, que fornece um ambiente de tempo de execução de agentes para LLMs que precisam interagir com dados de dispositivos ao vivo.
O que São Ferramentas de IA?
Ferramentas são funções que o agente de IA pode chamar para interagir com dados IoT. Cada ferramenta:
- Tem um nome e descrição (o LLM usa isso para decidir quando chamar)
- Define parâmetros (o LLM preenche esses a partir do contexto da conversa)
- Executa código real que consulta o banco de dados, faz chamadas de API ou controla dispositivos
Definindo Ferramentas
from ironflock.ai import Tool, AgentContext
class SensorQueryTool(Tool):
name = "query_sensor_data"
description = "Consulta dados históricos de sensores de um dispositivo"
parameters = {
"device_id": {"type": "string", "description": "ID do dispositivo alvo"},
"metric": {"type": "string", "description": "Métrica a consultar (ex: temperatura)"},
"hours": {"type": "integer", "description": "Quantas horas para olhar atrás"}
}
async def execute(self, context: AgentContext, device_id: str, metric: str, hours: int):
data = await context.db.query(
f"SELECT time, value FROM sensor_data WHERE device_id = $1 "
f"AND metric = $2 AND time > NOW() - INTERVAL '{hours} hours'",
device_id, metric
)
return dataRegistrando Ferramentas no Agente
from ironflock.ai import Agent
agent = Agent(
system_prompt="Você é um assistente de análise de dados IoT...",
tools=[
SensorQueryTool(),
DeviceStatusTool(),
AlertHistoryTool(),
]
)O System Prompt
O system prompt define a personalidade do agente, domínio e comportamento. Boas práticas:
- Descreva o propósito do app e que tipo de dispositivos ele gerencia
- Liste as capacidades disponíveis via ferramentas
- Defina limites (o que o agente pode e não pode fazer)
- Inclua contexto de domínio (ex.: se seu app gerencia compressores de ar, explique as métricas relevantes)
Last updated on