> ## 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.

# LLM Search

## 1️⃣ Recherche web en temps réel : repousser les limites temporelles des LLM pour des sorties plus précises et fiables

Nous avons enrichi les séries de modèles OpenAI et Gemini de la capacité d'accéder aux dernières informations du web, vous permettant de :

* ✅ **Accéder aux informations les plus récentes** : obtenir des mises à jour en temps réel sur l'actualité, les dernières recherches ou les données en direct
* ✅ **Éliminer les lacunes de connaissances** : dépasser les limites temporelles des données d'entraînement des LLM en accédant aux informations postérieures à l'entraînement
* ✅ **Réduire les hallucinations** : fournir des réponses fondées sur des faits grâce à des recherches web en temps réel, réduisant considérablement les inventions de l'IA
* ✅ **Améliorer la qualité des décisions** : prendre des décisions plus assurées en s'appuyant sur des analyses et recommandations ancrées dans les faits actuels

**Modèles pris en charge :**
Actuellement, les séries de modèles OpenAI et Gemini sont prises en charge avec deux méthodes d'intégration :

**1. Modèles avec capacités de recherche natives**
**Série Gemini** (ancrage avec Google search) :

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

**Série OpenAI** (Search Preview) :

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

**2. Prise en charge via paramètre**
Ajoutez le paramètre `web_search_options={}` pour activer la connectivité web sur les modèles Gemini et OpenAI qui prennent en charge ce paramètre. Si l'API renvoie `Unknown parameter: 'web_search_options'`, le modèle actuel ou l'API amont n'accepte pas ce paramètre. Utilisez l'un des modèles de recherche natifs ci-dessus, ou le suffixe `:surfing` décrit ci-dessous. Le tarif de recherche Gemini est celui affiché dans la console et sur la page de détail du modèle.

## Guide d'utilisation

Avant utilisation, exécutez `pip install -U openai` pour mettre à jour le package openai, puis définissez votre AIHubMix API Key comme variable d'environnement :

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

Windows PowerShell :

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

**Exemple :**

<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 : permettre à l'IA d'explorer Internet librement

En ajoutant `:surfing` à l'ID du modèle, tout grand modèle de langage peut être doté de capacités de recherche.

* Ajoutez simplement le suffixe, aucune intégration complexe n'est requise
* Cette méthode redirige par défaut la requête de l'utilisateur vers le **service de recherche Tavily**, et le LLM utilisera les résultats de recherche pour formuler sa réponse
* Frais de recherche : **\$0,006 par recherche**
* Le coût est actuellement déduit directement de la « variation de crédit » et le « détail du journal » ne liste pas encore les frais de recherche, mais cela sera affiché à l'avenir

<Tip>
  L'ID du modèle peut être copié depuis la [galerie de modèles](https://aihubmix.com/models).
</Tip>

**Exemple :**

<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 French 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>

**Exemple de réponse 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 est une plateforme API qui agrège les capacités de modèles de plusieurs fournisseurs. Son site officiel est 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
    }
  }
}
```

***

Dernière mise à jour : 2026-06-15
