Resumen
Local LLMs running on Ollama hallucinate on anything despues de their training cutoff. Este flujo de trabajo ejecuta diario searches on topics you care about, feeds el resultados en your local model's context, y almacena grounded answers in un local knowledge file. Your assistant stays actual sin sending private consultas to cloud APIs.
Desencadenador
Diario at 8 AM via cron o tarea programador.
Programación
Diario 8 AM
Pasos del flujo de trabajo
Cargar Topic List
Leer el lista of topics you quiere your local LLM to stay actual on de un YAML o JSON config.
Search Cada Topic via Scavio
Ejecutar un Scavio search for cada topic. Extraer top 5 resultados organicos con titles y fragmentos.
Format as Context Document
Combine resultados de busqueda en un markdown document con fuente URLs y retrieval marcas de tiempo.
Feed to Local Ollama Model
Enviar el context document plus un grounding prompt to your Ollama instance for summarization.
Almacenar Grounded Knowledge
Save el grounded resumen to un local knowledge base file for future reference.
Implementacion en Python
import requests, os, json
from datetime import date
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY, "Content-Type": "application/json"}
OLLAMA_URL = "http://localhost:11434/api/generate"
TOPICS = [
"latest python 3.14 features",
"ai agent framework updates 2026",
"new search api providers 2026",
]
def search_topic(topic: str) -> str:
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers=H,
json={"query": topic, "country_code": "us"},
timeout=15,
)
results = resp.json().get("organic_results", [])[:5]
lines = [f"- {r.get('title', '')}: {r.get('snippet', '')} ({r.get('link', '')})" for r in results]
return "\n".join(lines)
def ground_with_ollama(topic: str, context: str) -> str:
prompt = f"Based on these current search results from {date.today()}, summarize the latest on: {topic}\n\nSearch results:\n{context}\n\nProvide a factual summary citing sources."
resp = requests.post(OLLAMA_URL, json={"model": "llama3", "prompt": prompt, "stream": False}, timeout=60)
return resp.json().get("response", "")
grounded = {}
for topic in TOPICS:
context = search_topic(topic)
summary = ground_with_ollama(topic, context)
grounded[topic] = {"date": str(date.today()), "summary": summary}
print(f"Grounded: {topic} ({len(summary)} chars)")
with open("grounded_knowledge.json", "w") as f:
json.dump(grounded, f, indent=2)
print(f"Saved {len(grounded)} grounded topics")Implementacion en JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
const fs = await import('fs');
const TOPICS = ['latest python 3.14 features', 'ai agent framework updates 2026', 'new search api providers 2026'];
async function searchTopic(topic) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query:topic, country_code:'us'})});
const results = ((await r.json()).organic_results || []).slice(0,5);
return results.map(r=>'- '+r.title+': '+r.snippet+' ('+r.link+')').join('\n');
}
async function groundWithOllama(topic, context) {
const prompt = 'Based on these current search results from '+new Date().toISOString().split('T')[0]+', summarize the latest on: '+topic+'\n\nSearch results:\n'+context+'\n\nProvide a factual summary citing sources.';
const r = await fetch('http://localhost:11434/api/generate', {method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({model:'llama3', prompt, stream:false})});
return (await r.json()).response || '';
}
const grounded = {};
for (const topic of TOPICS) {
const context = await searchTopic(topic);
const summary = await groundWithOllama(topic, context);
grounded[topic] = {date: new Date().toISOString().split('T')[0], summary};
console.log('Grounded: '+topic+' ('+summary.length+' chars)');
}
fs.writeFileSync('grounded_knowledge.json', JSON.stringify(grounded, null, 2));
console.log('Saved '+Object.keys(grounded).length+' grounded topics');Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA