Como Projetar um Agente de Pesquisa “Canivete Suíço” com AI Que Usa Ferramentas, Pesquisa Web, Anál…

Neste tutorial, construímos um agente de pesquisa “Canivete Suíço” que vai muito além de simples interações de chat e resolve ativamente problemas de pesquisa de múltiplas etapas de ponta a ponta. Combinamos uma arquitetura de agente que usa ferramentas com pesquisa web em tempo real, ingestão local de PDF, análise de gráficos baseada em visão e geração automatizada de relatórios para demonstrar como os agentes modernos podem raciocinar, verificar e produzir saídas estruturadas. Conectando pequenos agentes, modelos OpenAI e utilitários práticos de extração de dados, mostramos como um único agente pode explorar fontes, verificar afirmações e sintetizar descobertas em relatórios de nível profissional em Markdown e DOCX. Copiar Código Copiado Usar um navegador diferente %pip -q install -U smolagents openai trafilatura duckduckgo-search pypdf pymupdf python-docx pillow tqdm import os, re, json, getpass from typing import List, Dict, Any import requests import trafilatura from duckduckgo_search import DDGS from pypdf import PdfReader import fitz from docx import Document from docx.shared import Pt from datetime import datetime from openai import OpenAI from smolagents import CodeAgent, OpenAIModel, tool if not os.environ.get("OPENAI_API_KEY"): os.environ["OPENAI_API_KEY"] = getpass.getpass("Cole sua chave de API OpenAI (oculta): ").strip() print("OPENAI_API_KEY definida:", "SIM" if os.environ.get("OPENAI_API_KEY") else "NÃO") if not os.environ.get("SERPER_API_KEY"): serper = getpass.getpass("Opcional: Cole SERPER_API_KEY para resultados do Google (pressione Enter para pular): ").strip() if serper: os.environ["SERPER_API_KEY"] = serper print("SERPER_API_KEY definida:", "SIM" if os.environ.get("SERPER_API_KEY") else "NÃO") client = OpenAI() def _now(): return datetime.utcnow().strftime("%Y-%m-%d %H:%M:%SZ") def _safe_filename(s: str) -> str: s = re.sub(r"[^a-zA-Z0-9._-]+", "_", s).strip("_") return s[:180] if s else "file" Configuramos o ambiente de execução completo e carregamos com segurança todas credenciais necessárias sem usar segredos hardcoded. Importamos todas as dependências necessárias para pesquisa web, análise de documentos, análise de visão e orquestração de agentes. Também inicializamos utilitários compartilhados para padronizar carimbos de data/hora e nomenclatura de arquivos em todo o fluxo de trabalho. Copiar Código Copiado Usar um navegador diferente try: from google.colab import files os.makedirs("/content/pdfs", exist_ok=True) uploaded = files.upload() for name, data in uploaded.items(): if name.lower().endswith(".pdf"): with open(f"/content/pdfs/{name}", "wb") as f: f.write(data) print("PDFs em /content/pdfs:

Fonte: MarkTechPost

Publicado em 2026-02-20

Notícias relacionadas

Continue explorando