Como criei um varredura diária de papers de IA com Ollama + Telegram A developer built a daily AI paper scanner using Ollama and Telegram, automating the retrieval and translation of HuggingFace Papers into Portuguese. The Python script fetches the day's top papers via the HuggingFace API, sends each abstract to a local LLM through Ollama for translation, and delivers the results as formatted Telegram messages. The entire system runs locally without cloud dependencies or API costs, and can be replicated in under 10 minutes. Se você acompanha pesquisa em IA, sabe que o HuggingFace Papers https://huggingface.co/papers solta novos papers todo dia. O problema? São dezenas de abstracts em inglês, e ler tudo manualmente é inviável no dia a dia. Resolvi automatizar isso: um script Python que busca os papers do dia, joga cada abstract pro meu LLM local via Ollama , traduz pra português e manda tudo pro Telegram . Sem pagar por API, sem nada na nuvem. Neste artigo vou te mostrar como funciona e como você pode replicar em menos de 10 minutos. O resultado no Telegram fica assim: 🤖 HuggingFace Papers — 27/05/2026 Top 8 papers do dia, traduzidos com llama3 ────────────────────────────── 1. Scaling Laws for Reward Model Overoptimization 👥 Leo Gao, John Schulman, Jacob Hilton 💬 142 upvotes 📝 Investigamos como o desempenho de modelos de linguagem muda quando otimizamos excessivamente contra um modelo de recompensa reward model . Descobrimos que o desempenho no proxy aumenta mas o desempenho verdadeiro diminui — um fenômeno conhecido como overoptimization. Nossos experimentos mostram leis de escala previsíveis para esse comportamento... 🔗 HuggingFace | arXiv llama3 ou qualquer modelo que você tiver hf-digest/ ├── hf digest.py script principal ├── config.py suas configurações └── get chat id.py helper para descobrir o chat id config.py Começa pela configuração. Tudo em um lugar só, fácil de ajustar: TELEGRAM BOT TOKEN = "SEU TOKEN AQUI" TELEGRAM CHAT ID = "SEU CHAT ID AQUI" OLLAMA URL = "http://localhost:11434" OLLAMA MODEL = "llama3" MAX PAPERS = 8 A API do HuggingFace retorna os papers do dia em JSON. Simples assim: php def fetch papers - list dict : today = datetime.now .strftime "%Y-%m-%d" url = f"https://huggingface.co/api/daily papers?date={today}" headers = {"User-Agent": "Mozilla/5.0 compatible; HFDigestBot/1.0 "} response = requests.get url, headers=headers, timeout=20 response.raise for status papers = response.json return papers :MAX PAPERS Aqui mora a mágica. O Ollama expõe uma API REST local no localhost:11434 . A gente manda um prompt e ele retorna a resposta do modelo: php def translate with ollama text: str - str: prompt = f"""Você é um assistente especializado em IA e ML. Traduza e resuma o seguinte abstract para o português brasileiro. Mantenha termos técnicos em inglês entre parênteses quando necessário. Responda APENAS com o resumo, sem frases introdutórias. Abstract: {text}""" payload = { "model": OLLAMA MODEL, "prompt": prompt, "stream": False, } response = requests.post f"{OLLAMA URL}/api/generate", json=payload, timeout=120, return response.json "response" .strip O stream: False faz o Ollama esperar processar tudo antes de responder — mais fácil de lidar do que streaming para esse caso de uso. O bot do Telegram aceita Markdown, então dá pra formatar bem as mensagens: php def send telegram text: str - bool: url = f"https://api.telegram.org/bot{TELEGRAM BOT TOKEN}/sendMessage" payload = { "chat id": TELEGRAM CHAT ID, "text": text, "parse mode": "Markdown", "disable web page preview": True, } response = requests.post url, json=payload, timeout=15 return response.ok main python def main : papers = fetch papers Cabeçalho send telegram f"🤖 HuggingFace Papers — {datetime.now .strftime '%d/%m/%Y' } " for i, paper in enumerate papers, start=1 : abstract = paper "paper" .get "summary", "" translated = translate with ollama abstract message = format paper paper, i, translated send telegram message send telegram f"✅ {len papers } papers enviados " 1. Instale a dependência pip install requests 2. Crie o bot no Telegram /newbot , siga as instruções config.py 3. Descubra seu Chat ID Envie qualquer mensagem pro seu novo bot e rode: python get chat id.py import requests from config import TELEGRAM BOT TOKEN r = requests.get f"https://api.telegram.org/bot{TELEGRAM BOT TOKEN}/getUpdates" updates = r.json "result" chat id = updates -1 "message" "chat" "id" print f"Seu chat id: {chat id}" 4. Suba o Ollama e rode ollama serve python3 hf digest.py Poderia ter usado a API da OpenAI ou do Gemini para traduzir. Mas há algumas vantagens em rodar local: O llama3 faz um trabalho muito bom em traduções técnicas. Se quiser mais velocidade, o phi4 ou gemma3 também funcionam bem e são mais leves. Para receber o digest todo dia de manhã sem precisar rodar manualmente, adicione ao crontab: crontab -e 0 9 cd /caminho/para/hf-digest && python3 hf digest.py digest.log 2 &1 Algumas ideias para evoluir o projeto: O projeto completo está disponível no GitHub: https://github.com/lromais/ai newsletters Se você testar e fizer alguma melhoria, compartilha nos comentários E se tiver dúvida em algum passo do setup, é só perguntar. Tags: python, ai, ollama, telegram, machinelearning