ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo realizar una búsqueda web condicional en OpenWebUI
Tutorial

Cómo realizar una búsqueda web condicional en OpenWebUI

OpenWebUI ejecuta una búsqueda web en cada consulta de forma predeterminada, quemando créditos. La puerta busca detrás de un clasificador para que solo se active cuando el modelo realmente lo necesita.

Obtener clave API gratisDocumentacion API

Los hilos de r/OpenWebUI 2026 se quejan de que la herramienta de búsqueda web incorporada se activa en cada mensaje, quemando créditos y ralentizando las respuestas. La solución es una capa de búsqueda condicional: un clasificador liviano decide si la consulta necesita datos en tiempo real y solo entonces llama a Scavio. Este tutorial conecta el clasificador al marco de funciones de OpenWebUI.

Requisitos previos

  • OpenWebUI 0.5+ autohospedado
  • Una clave API de Scavio
  • Python 3.10+
  • Un pequeño LLM local o clasificador de expresiones regulares

Guia paso a paso

Paso 1: Crear una función OpenWebUI

Las funciones se encuentran en configuración de administrador > funciones > nuevo.

Python
# File: conditional_search.py
from pydantic import BaseModel
import os, requests, re

Paso 2: Escribe el clasificador de búsqueda de necesidades

Comience de manera simple: palabras clave de expresiones regulares que indiquen la necesidad de frescura.

Python
NEEDS_SEARCH = re.compile(r'\b(today|latest|2026|news|price|current|right now|recent)\b', re.I)

def needs_search(prompt: str) -> bool:
    return bool(NEEDS_SEARCH.search(prompt))

Paso 3: Llame a Scavio sólo cuando sea necesario

Envuelva la interfaz de la herramienta OpenWebUI.

Python
class Tools:
    def search_web(self, query: str) -> str:
        if not needs_search(query):
            return '' 
        r = requests.post('https://api.scavio.dev/api/v1/search',
            headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
            json={'query': query})
        return str(r.json().get('organic_results', [])[:5])

Paso 4: Regístrese como herramienta de búsqueda web predeterminada

En configuración de OpenWebUI > herramientas, establezca conditional_search como proveedor activo.

Text
# Admin > Tools > Web Search > Provider: conditional_search

Paso 5: Monitorear los ahorros

Verifique el recuento de llamadas a la función antes y después. Espere una reducción de crédito del 60-80%.

Text
# OpenWebUI > Admin > Usage > conditional_search.search_web

Ejemplo en Python

Python
import os, requests, re

API_KEY = os.environ['SCAVIO_API_KEY']
NEEDS = re.compile(r'\b(today|latest|2026|news|price|current|recent)\b', re.I)

def maybe_search(prompt):
    if not NEEDS.search(prompt):
        return None
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'query': prompt})
    return r.json().get('organic_results', [])[:5]

print(maybe_search('Explain quicksort'))
print(maybe_search('latest Claude 4.7 release notes'))

Ejemplo en JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const NEEDS = /\b(today|latest|2026|news|price|current|recent)\b/i;

export async function maybeSearch(prompt) {
  if (!NEEDS.test(prompt)) return null;
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: prompt })
  });
  const data = await r.json();
  return data.organic_results?.slice(0, 5);
}

Salida esperada

JSON
Static prompts (math, code) skip the search call. Freshness-sensitive prompts trigger Scavio. Typical savings: 60-80% fewer API calls vs. unconditional search.

Tutoriales relacionados

  • Cómo reemplazar la búsqueda web MCP integrada de Claude con Scavio
  • Cómo reemplazar Tavily con Scavio (Guía de migración)
  • Cómo agregar búsqueda en tiempo real a Claude a través de 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.

OpenWebUI 0.5+ autohospedado. Una clave API de Scavio. Python 3.10+. Un pequeño LLM local o clasificador de expresiones regulares. 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

Comparison

Tavily vs Scavio

Read more
Best Of

La mejor API de búsqueda para Open WebUI en 2026

Read more
Best Of

Las mejores API de búsqueda para OpenWebUI en mayo de 2026

Read more
Use Case

Integración de búsqueda de OpenWebUI con API de búsqueda

Read more
Use Case

Backend de búsqueda confiable OpenWebUI

Read more
Comparison

Parallel Web Systems vs Scavio

Read more

Empieza a construir

OpenWebUI ejecuta una búsqueda web en cada consulta de forma predeterminada, quemando créditos. La puerta busca detrás de un clasificador para que solo se active cuando el modelo realmente lo necesita.

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