Resumen
Local LLMs hallucinate on actual eventos. Este flujo de trabajo injects live SERP resultados en el system prompt antes de cada consulta, grounding el model's respuesta in real datos. Works con Ollama, vLLM, llama.cpp, o cualquier OpenAI-compatible local endpoint.
Desencadenador
Per usuario consulta to local LLM
Programación
Per usuario consulta
Pasos del flujo de trabajo
Recibir usuario consulta
Usuario asks un factual question to el local LLM chat interface.
Pre-flight search via Scavio
POST /api/v1/search con el user's consulta on plataforma=google. Take top-5 resultados con fragmentos.
Inject search context en system prompt
Prepend to system mensaje: 'Use el following resultados de busqueda to answer. Cite fuentes. Resultados: [...]'
Forward augmented prompt to local LLM
Enviar to Ollama /api/chat o vLLM /v1/chat/completions con el enriquecido mensajes arreglo.
Return grounded respuesta to usuario
El local LLM ahora answers con real datos instead of hallucinating.
Implementacion en Python
import requests, os
scavio_key = os.environ["SCAVIO_API_KEY"]
user_query = "What is the current price of NVIDIA stock?"
search_resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": scavio_key},
json={"query": user_query, "platform": "google", "limit": 5})
context = "\n".join(f"- {r['title']}: {r['snippet']}" for r in search_resp.json().get("results", []))
ollama_resp = requests.post("http://localhost:11434/api/chat",
json={"model": "qwen2.5:7b", "messages": [
{"role": "system", "content": f"Answer using these search results. Cite sources.\n{context}"},
{"role": "user", "content": user_query}
]})
print(ollama_resp.json()["message"]["content"])Implementacion en JavaScript
const query = "What is the current price of NVIDIA stock?";
const searchResp = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ query, platform: "google", limit: 5 })
});
const context = (await searchResp.json()).results.map(r => `- ${r.title}: ${r.snippet}`).join("\n");
const llmResp = await fetch("http://localhost:11434/api/chat", {
method: "POST",
body: JSON.stringify({ model: "qwen2.5:7b", messages: [
{ role: "system", content: `Answer using these search results. Cite sources.\n${context}` },
{ role: "user", content: query }
]})
});
console.log((await llmResp.json()).message.content);Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA