ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo construir una base de búsqueda de DeepSeek
Tutorial

Cómo construir una base de búsqueda de DeepSeek

Conecte las respuestas del modelo DeepSeek con datos de búsqueda en vivo. Tutorial de Python paso a paso para agregar búsqueda web a agentes basados ​​en DeepSeek.

Obtener clave API gratisDocumentacion API

Los modelos DeepSeek ofrecen sólidas capacidades de razonamiento pero carecen de acceso integrado a la búsqueda web. Cuando los usuarios preguntan sobre eventos actuales, precios o lanzamientos recientes, DeepSeek se negará a responder o alucinará con información desactualizada. La conexión a tierra de búsqueda resuelve esto obteniendo datos SERP relevantes e inyectándolos en el contexto del mensaje antes de que DeepSeek genere su respuesta. Este tutorial muestra cómo agregar bases de búsqueda a cualquier agente basado en DeepSeek utilizando la API de Scavio a $0,005 por búsqueda.

Requisitos previos

  • Python 3.9+ instalado
  • biblioteca openai instalada (DeepSeek usa API compatible con OpenAI)
  • solicita biblioteca instalada
  • Una clave API de DeepSeek y una clave API de Scavio

Guia paso a paso

Paso 1: Configurar el cliente DeepSeek

DeepSeek utiliza una API compatible con OpenAI, por lo que utiliza la biblioteca OpenAI Python con una URL base personalizada. Configure tanto DeepSeek como los clientes de búsqueda.

Python
from openai import OpenAI
import requests, os

# DeepSeek client
deepseek = OpenAI(
    api_key=os.environ['DEEPSEEK_API_KEY'],
    base_url='https://api.deepseek.com'
)

# Search client
SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def web_search(query: str, max_results: int = 5) -> str:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'})
    results = resp.json().get('organic_results', [])[:max_results]
    return '\n\n'.join(
        f'Source: {r["link"]}\nTitle: {r["title"]}\n{r.get("snippet", "")}'
        for r in results
    )

print('DeepSeek + Search grounding ready')

Paso 2: Detectar cuando se necesita conexión a tierra

No todas las consultas necesitan búsqueda. Cree un clasificador que decida, en función del contenido de la consulta, si buscar o dejar que DeepSeek responda a partir de sus datos de entrenamiento.

Python
def needs_grounding(user_message: str) -> bool:
    grounding_signals = [
        'latest', 'current', 'today', 'now', '2025', '2026',
        'price', 'cost', 'how much', 'release', 'version',
        'news', 'update', 'recent', 'best', 'top', 'compare'
    ]
    message_lower = user_message.lower()
    return any(signal in message_lower for signal in grounding_signals)

# Test:
for q in ['explain quantum computing', 'best Python IDE 2026', 'what is recursion']:
    print(f'Ground: {needs_grounding(q):5} | {q}')

Paso 3: Cree la función de chat DeepSeek sólida

Cree la función principal que, opcionalmente, busque, cree el contexto y llame a DeepSeek con indicaciones basadas o no fundamentadas.

Python
def ask_deepseek(user_message: str, ground: bool = None) -> str:
    should_ground = ground if ground is not None else needs_grounding(user_message)
    messages = []
    if should_ground:
        search_context = web_search(user_message)
        system_prompt = f"""You are a helpful assistant with access to current web search results.
Use the search results below to provide accurate, up-to-date answers.
Cite sources with URLs when referencing specific facts.
If the search results do not contain relevant information, say so.

Search Results:
{search_context}"""
        messages.append({'role': 'system', 'content': system_prompt})
    else:
        messages.append({'role': 'system',
                        'content': 'You are a helpful assistant. Answer from your knowledge.'})
    messages.append({'role': 'user', 'content': user_message})
    response = deepseek.chat.completions.create(
        model='deepseek-chat',
        messages=messages,
        max_tokens=1000,
        temperature=0.7
    )
    return response.choices[0].message.content

# Test grounded query:
answer = ask_deepseek('What are the top Python web frameworks in 2026?')
print(answer)

Paso 4: Agregar soporte de conversación de varios turnos

Para las conversaciones, mantenga el historial de mensajes y solo conecte cuando el turno actual lo necesite. El contexto de puesta a tierra anterior ya está en la historia.

Python
class GroundedDeepSeek:
    def __init__(self):
        self.history = []
        self.search_count = 0

    def chat(self, user_message: str) -> str:
        self.history.append({'role': 'user', 'content': user_message})
        if needs_grounding(user_message):
            context = web_search(user_message)
            self.search_count += 1
            system = f'Use these search results:\n{context}'
            messages = [{'role': 'system', 'content': system}] + self.history
        else:
            messages = self.history.copy()
        response = deepseek.chat.completions.create(
            model='deepseek-chat',
            messages=messages,
            max_tokens=1000
        )
        answer = response.choices[0].message.content
        self.history.append({'role': 'assistant', 'content': answer})
        return answer

    def cost_so_far(self) -> str:
        return f'{self.search_count} searches = ${self.search_count * 0.005:.3f}'

agent = GroundedDeepSeek()
print(agent.chat('What is the latest DeepSeek model?'))
print(f'Search cost: {agent.cost_so_far()}')

Ejemplo en Python

Python
from openai import OpenAI
import os, requests

deepseek = OpenAI(api_key=os.environ['DEEPSEEK_API_KEY'], base_url='https://api.deepseek.com')
SCAVIO_KEY = os.environ['SCAVIO_API_KEY']

def search(query, k=5):
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'})
    return '\n'.join(f'{r["title"]}: {r.get("snippet", "")}'
        for r in resp.json().get('organic_results', [])[:k])

def ask(question):
    ctx = search(question)
    resp = deepseek.chat.completions.create(
        model='deepseek-chat',
        messages=[
            {'role': 'system', 'content': f'Use search results:\n{ctx}'},
            {'role': 'user', 'content': question}
        ], max_tokens=500)
    return resp.choices[0].message.content

print(ask('Best Python web frameworks 2026'))

Ejemplo en JavaScript

JavaScript
import OpenAI from 'openai';

const deepseek = new OpenAI({
  apiKey: process.env.DEEPSEEK_API_KEY,
  baseURL: 'https://api.deepseek.com'
});
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

async function search(query) {
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: 'us' })
  });
  const data = await resp.json();
  return (data.organic_results || []).slice(0, 5)
    .map(r => `${r.title}: ${r.snippet || ''}`).join('\n');
}

async function ask(question) {
  const ctx = await search(question);
  const resp = await deepseek.chat.completions.create({
    model: 'deepseek-chat',
    messages: [
      { role: 'system', content: `Search results:\n${ctx}` },
      { role: 'user', content: question }
    ], max_tokens: 500
  });
  console.log(resp.choices[0].message.content);
}

ask('Best Python frameworks 2026');

Salida esperada

JSON
Ground: False | explain quantum computing
Ground:  True | best Python IDE 2026
Ground: False | what is recursion

Based on current search results, the top Python web frameworks in 2026 are:
1. FastAPI - async-first, ideal for APIs (Source: https://...)
2. Django - full-featured with built-in admin (Source: https://...)
3. Flask - lightweight and flexible (Source: https://...)

Search cost: 1 searches = $0.005

Tutoriales relacionados

  • Cómo agregar una base de búsqueda a cualquier agente Python
  • Cómo arreglar la búsqueda rota de Hermes v0.13.0 con una API de búsqueda
  • Cómo configurar la conexión a tierra de búsqueda de agentes principiantes

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.9+ instalado. biblioteca openai instalada (DeepSeek usa API compatible con OpenAI). solicita biblioteca instalada. Una clave API de DeepSeek y una clave API de Scavio. 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 búsqueda web para agentes de DeepSeek en 2026

Read more
Best Of

Las mejores API de búsqueda después de los cambios en el modo AI de Google I/O 2026

Read more
Use Case

Acceso web de IA de código abierto 2026

Read more
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Glossary

Buscar Era del muro de pago (2026)

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more

Empieza a construir

Conecte las respuestas del modelo DeepSeek con datos de búsqueda en vivo. Tutorial de Python paso a paso para agregar búsqueda web a agentes basados ​​en DeepSeek.

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