Resumen
Este pipeline ejecuta diario research tareas usando Nous Research Hermes models con Scavio providing search grounding. Hermes agents recibir un lista of research topics, usar function calling to invoke el Scavio search herramienta, y produce structured research summaries. Cada research tarea usa 5-15 search calls depending on topic complexity. Budget controls prevent runaway costs.
Desencadenador
Cron programar (diario at 8 AM UTC)
Programación
Ejecuta diario at 8:00 AM UTC
Pasos del flujo de trabajo
Cargar research topics
Leer el day's research topics de configuracion o queue.
Initialize Hermes agent con search herramienta
Set up Hermes model con Scavio search as un callable function herramienta con budget limits.
Ejecutar research per topic
For cada topic, dejar Hermes agent autonomously search y synthesize findings.
Recopilar y validar resultados
Gather agent salidas, validar citaciones, verificar budget usage per topic.
Salida research summaries
Escribir structured research summaries con citaciones to storage.
Implementacion en Python
import requests
import json
API_KEY = "your_scavio_api_key"
MAX_SEARCHES_PER_TOPIC = 10
search_count = 0
def scavio_search(query: str, platform: str = "google") -> dict:
"""Search tool for Hermes agent."""
global search_count
if search_count >= MAX_SEARCHES_PER_TOPIC:
return {"error": "Search budget exceeded for this topic"}
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": query, "ai_overview": True},
timeout=15,
)
res.raise_for_status()
search_count += 1
data = res.json()
return {
"organic": [{"title": r.get("title", ""), "snippet": r.get("snippet", ""), "link": r.get("link", "")} for r in data.get("organic", [])[:5]],
"ai_overview": data.get("ai_overview", {}).get("text", ""),
}
# Hermes tool definition for function calling
TOOL_DEFINITION = {
"type": "function",
"function": {
"name": "web_search",
"description": "Search the web for current information",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Search query"},
"platform": {"type": "string", "enum": ["google", "reddit", "amazon"], "default": "google"},
},
"required": ["query"],
},
},
}
# Simulate agent research
topics = ["Google AI Mode impact on SEO 2026", "Best search APIs for AI agents"]
for topic in topics:
search_count = 0
result = scavio_search(topic)
print(f"Topic: {topic}")
print(f" Searches used: {search_count}/{MAX_SEARCHES_PER_TOPIC}")
print(f" Results: {len(result['organic'])} organic, AI Overview: {'yes' if result['ai_overview'] else 'no'}")Implementacion en JavaScript
const API_KEY = "your_scavio_api_key";
const MAX_SEARCHES = 10;
let searchCount = 0;
async function scavioSearch(query, platform = "google") {
if (searchCount >= MAX_SEARCHES) return { error: "Budget exceeded" };
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform, query, ai_overview: true }),
});
searchCount++;
const data = await res.json();
return { organic: (data.organic ?? []).slice(0, 5), aiOverview: data.ai_overview?.text ?? "" };
}
searchCount = 0;
const r = await scavioSearch("Google AI Mode SEO impact 2026");
console.log(`Results: ${r.organic.length}, Budget: ${searchCount}/${MAX_SEARCHES}`);Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit