ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo poner a tierra un LLM local con la API de búsqueda de noticias
Tutorial

Cómo poner a tierra un LLM local con la API de búsqueda de noticias

Agregue noticias en tiempo real a un LLM local como Llama o Mistral. Busque eventos actuales e inyecte resultados en la ventana de contexto del modelo.

Obtener clave API gratisDocumentacion API

Conecte un LLM local con noticias en tiempo real detectando cuándo la consulta de un usuario se relaciona con eventos actuales, buscando noticias recientes a través de la API de búsqueda e inyectando los resultados en la ventana contextual del modelo antes de la generación. Los LLM locales como Llama y Mistral tienen límites de conocimiento estáticos y no pueden responder preguntas sobre eventos recientes. La conexión a tierra de noticias resuelve esto proporcionando información actual en el momento de la inferencia, sin ajustes ni reentrenamiento. La llamada de búsqueda agrega una latencia mínima y evita las noticias alucinadas que generan los LLM locales cuando se les pregunta sobre eventos sobre los que no tienen datos.

Requisitos previos

  • Python 3.8+ instalado
  • solicita biblioteca instalada
  • Una clave API de Scavio de scavio.dev
  • Un LLM local en ejecución (a través de Ollama, llama.cpp o similar)

Guia paso a paso

Paso 1: Detectar consultas de interés periodístico

Cree un clasificador que identifique consultas que necesiten datos de noticias actuales.

Python
import os, requests

API_KEY = os.environ['SCAVIO_API_KEY']

NEWS_SIGNALS = [
    'latest', 'recent', 'today', 'this week', 'breaking',
    'update', 'announcement', 'just happened', 'new release',
    'election', 'earnings', 'ipo', 'acquisition', 'merger',
    'what happened', 'current', 'news about',
]

TIME_ENTITIES = ['2025', '2026', 'yesterday', 'last week', 'this month']

def needs_news(query: str) -> bool:
    q_lower = query.lower()
    if any(signal in q_lower for signal in NEWS_SIGNALS):
        return True
    if any(entity in q_lower for entity in TIME_ENTITIES):
        return True
    if '?' in query and any(w in q_lower for w in ['who', 'what', 'when', 'where']):
        return True
    return False

print(needs_news('What happened with the OpenAI announcement?'))  # True
print(needs_news('How do Python list comprehensions work?'))       # False
print(needs_news('Latest AI agent frameworks 2026'))               # True

Paso 2: Buscar noticias actuales

Consulta la API de búsqueda para artículos de noticias recientes relacionados con la pregunta del usuario.

Python
def search_news(query: str, limit: int = 5) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'google', 'query': f'{query} news 2026'}, timeout=15)
    results = resp.json().get('organic_results', [])
    news = []
    for r in results[:limit]:
        news.append({
            'title': r.get('title', ''),
            'snippet': r.get('snippet', ''),
            'source': r.get('source', ''),
            'url': r.get('link', ''),
        })
    return news

news = search_news('latest AI agent frameworks')
for n in news:
    print(f"  {n['source']}: {n['title'][:50]}")

Paso 3: Contexto de formato para LLM

Estructura los resultados de las noticias como un bloque de contexto que encaja naturalmente en el mensaje de LLM.

Python
def format_news_context(news: list) -> str:
    if not news:
        return ''
    parts = ['CURRENT NEWS CONTEXT (live search results):', '']
    for i, n in enumerate(news[:3], 1):
        parts.append(f'{i}. {n["title"]}')
        if n.get('source'):
            parts.append(f'   Source: {n["source"]}')
        if n.get('snippet'):
            parts.append(f'   Summary: {n["snippet"][:200]}')
        parts.append('')
    parts.append('Use the above current information to answer the question accurately.')
    parts.append('Cite sources when referencing specific news items.')
    return '\n'.join(parts)

context = format_news_context(news)
print(context[:400])

Paso 4: Inyectar en el mensaje LLM

Cree el mensaje completo con el contexto de las noticias inyectado antes de la consulta del usuario.

Python
def grounded_prompt(query: str, system: str = 'You are a helpful assistant.') -> str:
    parts = [system]
    if needs_news(query):
        news = search_news(query)
        news_context = format_news_context(news)
        if news_context:
            parts.append(news_context)
    parts.append(f'User: {query}')
    parts.append('Assistant:')
    return '\n\n'.join(parts)

# Example with news grounding:
prompt = grounded_prompt('What are the latest AI agent frameworks in 2026?')
print(f'Prompt length: {len(prompt)} chars')
print(prompt[:500])

# Example without grounding:
prompt_no_news = grounded_prompt('How do Python decorators work?')
print(f'\nNo-news prompt length: {len(prompt_no_news)} chars')

Paso 5: Pruebe la calidad de la conexión a tierra

Verifique que el canal de conexión a tierra produzca un contexto relevante y actual para consultas de noticias.

Python
def test_grounding():
    test_cases = [
        ('Latest Python release', True),
        ('Python list comprehension syntax', False),
        ('Who won the latest tech IPO?', True),
        ('How to use git rebase', False),
        ('AI regulation news 2026', True),
    ]
    for query, expected_news in test_cases:
        detected = needs_news(query)
        status = 'PASS' if detected == expected_news else 'FAIL'
        print(f'[{status}] "{query}" -> needs_news={detected} (expected={expected_news})')
        if detected:
            news = search_news(query)
            print(f'       Found {len(news)} news items')

test_grounding()

Ejemplo en Python

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def news_context(query):
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': f'{query} news 2026'}).json()
    news = data.get('organic_results', [])[:3]
    return '\n'.join(f"{n.get('title', '')}: {n.get('snippet', '')[:80]}" for n in news)

print(news_context('latest AI frameworks'))

Ejemplo en JavaScript

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function newsContext(query) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H,
    body: JSON.stringify({platform: 'google', query: `${query} news 2026`})
  });
  const news = (await r.json()).organic_results || [];
  return news.slice(0, 3).map(n => `${n.title}: ${(n.snippet || '').slice(0, 80)}`).join('\n');
}
newsContext('latest AI frameworks').then(console.log);

Salida esperada

JSON
A local LLM grounding pipeline that detects news-worthy queries, fetches current news via search API, and injects real-time context into the model prompt.

Tutoriales relacionados

  • Cómo mejorar la precisión de la investigación de agentes con la búsqueda
  • Cómo agregar contexto CRM a un agente de búsqueda MCP

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.8+ instalado. solicita biblioteca instalada. Una clave API de Scavio de scavio.dev. Un LLM local en ejecución (a través de Ollama, llama.cpp o similar). Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores herramientas de base de conocimientos personales para LLM locales en mayo de 2026

Read more
Best Of

La mejor API SERP para SEO local en 2026

Read more
Workflow

Diario Local LLM Search Grounding Pipeline

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more
Solution

Búsqueda local de LLM después de Google Paywall

Read more
Use Case

Búsqueda web de agentes para LLM local

Read more

Empieza a construir

Agregue noticias en tiempo real a un LLM local como Llama o Mistral. Busque eventos actuales e inyecte resultados en la ventana de contexto del modelo.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad