Biblioteca Python leve para criar agentes de IA com execução determinística em 3 fases.
- Multi-Provider: Suporta Groq, OpenAI, Gemini, Grok, Ollama e Llama
- 3 Fases: Análise → Execução → Resposta
- Tool Calls Estruturados:
tool_callscom argumentos por função - JSON Estrito na Análise: resposta do LLM para analyzer deve ser JSON válido sem texto extra
- Execução Validada: assinatura da função é validada antes da execução
- Timeout/Retry HTTP: configurável globalmente por env ou por
Agent(...) - Econômico: Minimiza uso de tokens
- Compatível: mantém fallback para APIs/env vars legadas por janela de transição
pip install smartagent-sffrom smartagent_sf import Agent
# Criar agente
agent = Agent(provider="groq")
# Registrar ferramentas
@agent.tool
def get_products(max_price=100):
return [{"nome": "Mouse", "preço": 50}]
# Executar
response = agent.chat("Quais produtos baratos?")
print(response)Também é suportado:
from smartagent_sf import agent
bot = agent.Agent(provider="groq")Você pode adicionar instruções personalizadas ao agente:
agent = Agent(
provider="groq",
info="""
Você é um assistente especializado em e-commerce.
- Sempre sugira produtos relacionados
- Use tom amigável e profissional
- Destaque promoções quando disponíveis
"""
)- Groq:
Agent(provider="groq", api_key="...") - OpenAI:
Agent(provider="openai", api_key="...") - Gemini:
Agent(provider="gemini", api_key="...") - Grok:
Agent(provider="grok", api_key="...") - Ollama:
Agent(provider="ollama")(local) - Llama:
Agent(provider="llama", api_key="...")
# Provider default global (opcional)
export SMARTAGENT_PROVIDER="groq"
export GROQ_API_KEY="your-key"
export OPENAI_API_KEY="your-key"
export GEMINI_API_KEY="your-key"
export XAI_API_KEY="your-key"
export LLAMA_API_KEY="your-key"
export SMARTAGENT_API_KEY="your-key"
# Modelo global (novo)
export SMARTAGENT_MODEL="modelo-ai"
# Modelo por provider (opcional)
export SMARTAGENT_OPENAI_MODEL="gpt-4o-mini"
export SMARTAGENT_GROQ_MODEL="qwen/qwen3-32b"
# Rede (opcional)
export SMARTAGENT_TIMEOUT="30"
export SMARTAGENT_RETRIES="2"
# Compatibilidade legada (ainda suportado)
export LLM="modelo-ai"model=\"groq\"(estilo antigo) ainda funciona, mas o recomendado éprovider=\"groq\".- As variáveis
*_API_KEYcontinuam suportadas. LLMcontinua suportada como fallback para modelo global.- Métodos legados no
Agent(help,help_var,pociveis_erros,run) ainda existem, mas estão deprecados.
O analyzer trabalha com tool_calls:
{
"isValid": true,
"tool_calls": [
{"name": "get_products", "args": {"max_price": 100}}
]
}- A resposta de análise deve ser JSON estrito.
- Cada chamada de função é validada contra a assinatura real da ferramenta.
- O executor retorna resultado estruturado por chamada (
ok,result,error).
- Analyzer: Determina quais ferramentas executar
- Executor: Executa ferramentas com parâmetros
- Responder: Gera resposta humanizada
Veja examples/minimal_agent.py
Após instalar o pacote, o comando smartagent fica disponível:
smartagent --helpSubcomandos:
smartagent env-check: mostra variáveis de ambiente relevantessmartagent doctor --provider openai: valida configuração localsmartagent chat --provider groq: inicia chat interativosmartagent chat --provider groq --prompt "Olá": executa prompt únicosmartagent run-example --list: lista exemplos locais