> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aihubmix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Búsqueda con LLM

## 1️⃣ Búsqueda web en tiempo real: superando las limitaciones temporales del LLM para obtener salidas más precisas y fiables

Hemos mejorado las series de modelos OpenAI y Gemini con la capacidad de acceder a la información más reciente de la web, ayudándote a:

* ✅ **Acceder a la información más reciente**: Obtén actualizaciones en tiempo real sobre eventos actuales, las últimas investigaciones o datos en vivo
* ✅ **Eliminar lagunas de conocimiento**: Supera las limitaciones temporales de los datos de entrenamiento del LLM accediendo a información posterior al entrenamiento
* ✅ **Reducir alucinaciones**: Proporciona respuestas basadas en hechos mediante búsquedas web en tiempo real, reduciendo significativamente las fabulaciones de la IA
* ✅ **Mejorar la calidad de las decisiones**: Toma decisiones con mayor confianza basadas en análisis y recomendaciones fundamentadas en hechos actuales

**Modelos admitidos:**
Actualmente se admiten las series de modelos OpenAI y Gemini con dos métodos de integración:

**1. Modelos con capacidades de búsqueda nativa**
**Serie Gemini** (Grounding con la búsqueda de Google):

* gemini-3.1-pro-preview-search
* gemini-3-flash-preview-search
* gemini-2.5-pro-search
* gemini-2.5-flash-search

**Serie OpenAI** (Search Preview):

* gpt-4o-search-preview
* gpt-4o-mini-search-preview

**2. Soporte basado en parámetros**
Añade el parámetro `web_search_options={}` para habilitar la conectividad web en los modelos Gemini y OpenAI que admiten este parámetro. Si la API devuelve `Unknown parameter: 'web_search_options'`, el modelo actual o la API ascendente no acepta este parámetro. Usa uno de los modelos de búsqueda nativos anteriores, o el sufijo `:surfing` descrito abajo. La tarifa de búsqueda de Gemini se basa en lo mostrado en la consola y en la página de detalles del modelo.

## Guía de uso

Antes de usarlo, ejecuta `pip install -U openai` para actualizar el paquete openai y configura tu AIHubMix API Key como variable de entorno:

```shellscript theme={null}
export AIHUBMIX_API_KEY="<AIHUBMIX_API_KEY>"
```

Windows PowerShell:

```powershell theme={null}
setx AIHUBMIX_API_KEY "<AIHUBMIX_API_KEY>"
```

**Ejemplo:**

<CodeGroup>
  ```py Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["AIHUBMIX_API_KEY"], # Replace with the key you generated in AiHubMix
      base_url="https://aihubmix.com/v1"
  )

  chat_completion = client.chat.completions.create(
      model="gemini-3.5-flash",
      # 🌐 Enable search
      web_search_options={},
      messages=[
          {
              "role": "user",
              "content": "Search for information about the AIhubmix LLM API platform, provide a brief introduction, and include relevant links."
          }
      ]
  )

  print(chat_completion.choices[0].message.content)
  ```

  ```ts Typescript theme={null}
  import OpenAI from 'openai';

  const client = new OpenAI({
      apiKey: process.env.AIHUBMIX_API_KEY,
      baseURL: 'https://aihubmix.com/v1'
  });

  async function main() {
      const chatCompletion = await client.chat.completions.create({
          model: 'gemini-3.5-flash',
          // 🌐 Enable search
          web_search_options: {},
          messages: [
              {
                  role: 'user',
                  content: 'Search for information about the AIhubmix LLM API platform, provide a brief introduction, and include relevant links.'
              }
          ]
      });

      console.log(chatCompletion.choices[0].message.content);
  }

  main().catch(console.error);
  ```

  ```shell Curl theme={null}
  curl "https://aihubmix.com/v1/chat/completions" \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
      -d '{
      "model": "gemini-3.5-flash",
      "web_search_options": {},
      "messages": [
          {
              "role": "user",
              "content": "Provide information about Van Gogh on the Google Arts & Culture website, with a brief introduction and relevant links."
          }
      ],
      "stream": false
  }'
  ```
</CodeGroup>

## 2️⃣ Smart Surfing: permitir a la IA explorar internet libremente

Añadiendo `:surfing` al ID del modelo, cualquier modelo de lenguaje grande puede equiparse con capacidades de búsqueda.

* Solo tienes que añadir el sufijo; no se requiere una integración compleja
* Este método reenviará por defecto la solicitud del usuario al **servicio de búsqueda Tavily**, y el LLM hará referencia a los resultados de búsqueda en su respuesta
* Tarifa de búsqueda: **\$0.006 por búsqueda**
* Actualmente, la tarifa se deduce directamente del "cambio de saldo", y los "detalles del registro" aún no muestran la tarifa de búsqueda, pero se incluirán en el futuro

<Tip>
  El ID del modelo se puede copiar desde la [galería de modelos](https://aihubmix.com/models).
</Tip>

**Ejemplo:**

<CodeGroup>
  ```py Python theme={null}
  import requests
  import json
  import os

  try:
      response = requests.post(
          url="https://aihubmix.com/v1/chat/completions",
          headers={
              "Authorization": f"Bearer {os.environ.get('AIHUBMIX_API_KEY')}",
              "Content-Type": "application/json",
          },
          json={
              "model": "gpt-5.5:surfing", # Append :surfing to the model id to support searching
              "messages": [
                  {
                      "role": "user",
                      "content": "Search for recent AIHubMix model updates, return concise Spanish bullet points with source links."
                  }
              ],
              "stream": False
          },
          timeout=60
      )

      result = response.json()
      if response.status_code >= 400:
          print("Request failed:", response.status_code)
      print("API response:", json.dumps(result, ensure_ascii=False, indent=2))

  except requests.exceptions.RequestException as e:
      print(f"Request error: {e}")
  except json.JSONDecodeError as e:
      print(f"JSON decode error: {e}")
  except Exception as e:
      print(f"Other error: {e}")
  ```
</CodeGroup>

**Ejemplo de respuesta de la API:**

```json theme={null}
{
  "id": "chatcmpl-xxxx",
  "model": "gpt-5.5-2026-04-24",
  "object": "chat.completion",
  "created": 1760000000,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "AIHubMix es una plataforma API que agrega capacidades de modelos de varios proveedores. Su sitio oficial es https://aihubmix.com."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 220,
    "completion_tokens": 240,
    "total_tokens": 460,
    "prompt_tokens_details": {
      "audio_tokens": 0,
      "cached_tokens": 0
    },
    "completion_tokens_details": {
      "accepted_prediction_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 196,
      "rejected_prediction_tokens": 0
    }
  }
}
```

***

Última actualización: 2026-06-15
